23-10-2021, 02:37 AM
La gente está acostumbrada a hablar de archivos de texto como si fueran solamente los .txt, pero hoy te daré a conocer un mundo nuevo.
SVG
Si alguna vez usaste programas de diseño gráfico, habrás escuchado hablar de los gráficos vectoriales (y si no, te daré una pequeña explicación).
Una imagen normal se dice que es un mapa de bits; esto es, que guarda los datos punto por punto. Esto está muy bien para fotografías pero tiene ciertos inconvenientes. Un mapa de bits cuando se agranda se ve borroso, justamente porque le estamos pidiendo datos que no existen y el programa se los inventa como mejor le parece. Los gráficos vectoriales se basan en fórmulas, no almacenan todos los puntos, por lo que si trazo una línea, puedo ampliarla hasta el infinito sin perder detalle.
Realmente, tienen muchas ventajas más los SVG, aunque no nos desviemos: estas imágenes no son otra cosa que archivos de texto XML (sé que suena complicado lo de XML pero abajo te explico lo que son y es simple).
XML:
Estos archivos fueron durante mucho tiempo la forma preferida de guardar datos. Algo parecido a tablas. Actualmente, los archivos JSON los desplazaron casi por completo.
Te mostraré de forma sencilla cómo se usa. Primero, la línea de arriba declara la versión de XML y la codificación de texto (por eso de los carácteres diferentes entre idiomas). Se debe copiar tal cual a la primera línea (en un archivo de texto común y corriente al que luego le cambiarás la extensión a .xml). Por lo demás, no te preocupes; se ve complicado en esta imagen pero no lo es:
Luego, las explicaciones son sencillas. El XML guarda los datos entre etiquetas (una que abre y otra que cierra). Ese sistema se usa para simular tablas y la ventaja que tenía es que "cada celda" estaba etiquetada gracias al XML (aunque ¿ya dije que el archivo JSON le serruchó el piso?).
Aquí verán un ejemplo simple de lo que podría ser:
Aparte de eso, las etiquetas también pueden llevar un atributo, que sirve para agregar información a la etiqueta y van en la primera etiqueta (la que abre). Se coloca el nombre del atributo (por supuesto que lo inventamos a nuestro antojo) y después un signo igual y el valor entre comillas justo después. Por ejemplo, agreguemos quién lo dijo a los diálogos anteriores:
Y listo. Ése es el funcionamiento básico de XML.
Si crees que te estoy metiendo el perro, deja un comentario en la cajita de abajo.
CSV:
Estos son tablas en formato de texto. Mira, es tan fácil explicarlo que ni siquiera necesito usar etiquetas de código (como hice con el XML), pero voy a ponerlo en itálica porque queda más bonito:
"CODIGO", "PRODUCTO", "PRECIO"
"B105", "Mouse", "165"
"B108", "Mouse Optico", "400"
"B200", "Teclado Generico", "200"
¿Recuerdas el viejo Excel? Bueno, eso pero en texto. Cada línea es una fila y cada celda en la fila se separa con una coma. Hay más opciones de separación pero nunca las necesité. Sólo mira la belleza de esa tabla en formato de texto y comparala con el horrendo XML.
Sería bueno explicar por qué existen estas tablas. Las máquinas entienden solamente ceros y unos y, por lo tanto, si no están los datos de esa forma, tiene que traducirlos y tardan más. Los programadores son listos y convierten el código de antemano siempre que pueden para que la máquina haga el esfuerzo una sola vez y sea más rápido de ejecutar. Esos archivos para máquina se llaman binarios y constan de ceros y unos, de ahí el nombre (bi significa dos y es por los dos números que dije: cero y uno).
Pero no todo es color de rosas: los programadores aman los binarios para el software final, no para desarrollar, simplemente porque no entienden un cuerno cuando ven ceros y unos sobre la pantalla. Con una tabla en formato de texto se pueden extraer los datos cómodamente. Ahora, imagínense tener que extraerla de un mar de números indistinguibles para el ser humano, que encima son sólo dos.
Microsoft creó nuevos formatos para sus archivos y justamente son archivos de texto, a diferencia de los anteriores, que eran binarios. Así, .doc se convirtió en .docx, .xls en .xlsx, etc., todos formatos basados en XML (texto).
Código fuente:
Los archivos con los que tratan los programadores son entendibles para el ser humano y todos basados en texto (por supuesto, entendibles para el que aprendió a programar). Si ves archivos como .py, .js, etc., son archivos de código fuente. Todos los lenguajes lo tienen, aunque algunos compilan los archivos finales a binario o a bytecode (no nos extendamos en explicar el bytecode).
Hay algo más: algunos se interpretan directamente desde ese código legible. "Pero... pero... la velocidad de ejecución...". ¡Nos importa un rábano! También podemos ser perezosos algunas veces. En realidad, lo que pasa es que hay situaciones donde los datos entran y salen constantemente, como en la web. En ese tipo de casos, parecen tener su fortaleza los lenguajes que se interpretan directamente desde el código. Un juego o un programa de diseño gráfico deberían ser, en lo posible, hechos en lenguajes que compilan a binario, como C++, porque allí el rendimiento importa mucho, pero en la web los lenguajes interpretados son los reyes.
En fin. Estoy cansado. Puede ser que lo extienda si veo algo más que agregar.
SVG
Si alguna vez usaste programas de diseño gráfico, habrás escuchado hablar de los gráficos vectoriales (y si no, te daré una pequeña explicación).
Una imagen normal se dice que es un mapa de bits; esto es, que guarda los datos punto por punto. Esto está muy bien para fotografías pero tiene ciertos inconvenientes. Un mapa de bits cuando se agranda se ve borroso, justamente porque le estamos pidiendo datos que no existen y el programa se los inventa como mejor le parece. Los gráficos vectoriales se basan en fórmulas, no almacenan todos los puntos, por lo que si trazo una línea, puedo ampliarla hasta el infinito sin perder detalle.
Realmente, tienen muchas ventajas más los SVG, aunque no nos desviemos: estas imágenes no son otra cosa que archivos de texto XML (sé que suena complicado lo de XML pero abajo te explico lo que son y es simple).
XML:
Estos archivos fueron durante mucho tiempo la forma preferida de guardar datos. Algo parecido a tablas. Actualmente, los archivos JSON los desplazaron casi por completo.
Te mostraré de forma sencilla cómo se usa. Primero, la línea de arriba declara la versión de XML y la codificación de texto (por eso de los carácteres diferentes entre idiomas). Se debe copiar tal cual a la primera línea (en un archivo de texto común y corriente al que luego le cambiarás la extensión a .xml). Por lo demás, no te preocupes; se ve complicado en esta imagen pero no lo es:
Luego, las explicaciones son sencillas. El XML guarda los datos entre etiquetas (una que abre y otra que cierra). Ese sistema se usa para simular tablas y la ventaja que tenía es que "cada celda" estaba etiquetada gracias al XML (aunque ¿ya dije que el archivo JSON le serruchó el piso?).
Aquí verán un ejemplo simple de lo que podría ser:
Código:
/**** INSERTEN ESA FEA CABECERA QUE NO RECUERDO AQUÍ ****/
/**** SIN DEJAR NI UNA LINEA VACIA AHÍ ARRIBA, NO LO OLVIDEN ****/
<Dialogos>
<Dialogo1>
<Castellano>¡Oh María!</Castellano>
<English>Oh, Mary!</English>
<Portugues>¡Oh, Maria!</Portugues>
</Dialogo1>
<Dialogo2>
<Castellano>¡Ja, ja, ja!</Castellano>
<English>Ha, ha, ha!</English>
<Portugues>¡Hue, hue, hue!</Portugues>
</Dialogo2>
</Dialogos>
Aparte de eso, las etiquetas también pueden llevar un atributo, que sirve para agregar información a la etiqueta y van en la primera etiqueta (la que abre). Se coloca el nombre del atributo (por supuesto que lo inventamos a nuestro antojo) y después un signo igual y el valor entre comillas justo después. Por ejemplo, agreguemos quién lo dijo a los diálogos anteriores:
Código:
/**** INSERTEN ESA FEA CABECERA QUE NO RECUERDO AQUÍ ****/
/**** SIN DEJAR NI UNA LINEA VACIA AHÍ ARRIBA, NO LO OLVIDEN ****/
<Dialogos>
<Dialogo1 lodijo="Gustavo">
<Castellano>¡Oh María!</Castellano>
<English>Oh, Mary!</English>
<Portugues>¡Oh, Maria!</Portugues>
</Dialogo1>
<Dialogo2 lodijo="María">
<Castellano>¡Ja, ja, ja!</Castellano>
<English>Ha, ha, ha!</English>
<Portugues>¡Hue, hue, hue!</Portugues>
</Dialogo2>
</Dialogos>
Y listo. Ése es el funcionamiento básico de XML.
Si crees que te estoy metiendo el perro, deja un comentario en la cajita de abajo.
CSV:
Estos son tablas en formato de texto. Mira, es tan fácil explicarlo que ni siquiera necesito usar etiquetas de código (como hice con el XML), pero voy a ponerlo en itálica porque queda más bonito:
"CODIGO", "PRODUCTO", "PRECIO"
"B105", "Mouse", "165"
"B108", "Mouse Optico", "400"
"B200", "Teclado Generico", "200"
¿Recuerdas el viejo Excel? Bueno, eso pero en texto. Cada línea es una fila y cada celda en la fila se separa con una coma. Hay más opciones de separación pero nunca las necesité. Sólo mira la belleza de esa tabla en formato de texto y comparala con el horrendo XML.
Sería bueno explicar por qué existen estas tablas. Las máquinas entienden solamente ceros y unos y, por lo tanto, si no están los datos de esa forma, tiene que traducirlos y tardan más. Los programadores son listos y convierten el código de antemano siempre que pueden para que la máquina haga el esfuerzo una sola vez y sea más rápido de ejecutar. Esos archivos para máquina se llaman binarios y constan de ceros y unos, de ahí el nombre (bi significa dos y es por los dos números que dije: cero y uno).
Pero no todo es color de rosas: los programadores aman los binarios para el software final, no para desarrollar, simplemente porque no entienden un cuerno cuando ven ceros y unos sobre la pantalla. Con una tabla en formato de texto se pueden extraer los datos cómodamente. Ahora, imagínense tener que extraerla de un mar de números indistinguibles para el ser humano, que encima son sólo dos.
Microsoft creó nuevos formatos para sus archivos y justamente son archivos de texto, a diferencia de los anteriores, que eran binarios. Así, .doc se convirtió en .docx, .xls en .xlsx, etc., todos formatos basados en XML (texto).
Código fuente:
Los archivos con los que tratan los programadores son entendibles para el ser humano y todos basados en texto (por supuesto, entendibles para el que aprendió a programar). Si ves archivos como .py, .js, etc., son archivos de código fuente. Todos los lenguajes lo tienen, aunque algunos compilan los archivos finales a binario o a bytecode (no nos extendamos en explicar el bytecode).
Hay algo más: algunos se interpretan directamente desde ese código legible. "Pero... pero... la velocidad de ejecución...". ¡Nos importa un rábano! También podemos ser perezosos algunas veces. En realidad, lo que pasa es que hay situaciones donde los datos entran y salen constantemente, como en la web. En ese tipo de casos, parecen tener su fortaleza los lenguajes que se interpretan directamente desde el código. Un juego o un programa de diseño gráfico deberían ser, en lo posible, hechos en lenguajes que compilan a binario, como C++, porque allí el rendimiento importa mucho, pero en la web los lenguajes interpretados son los reyes.
En fin. Estoy cansado. Puede ser que lo extienda si veo algo más que agregar.