Archivos de texto que no te imaginabas
#1
Star 
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).
[Imagen: 512px-SVG-logo-svg.png]





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:
[Imagen: iu.jpg]



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.

 
[Imagen: csv-512.png]


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.
[Imagen: 42SnVtH.png]
Responder
#2
Wow, suena muy interesante
Responder
#3
¡Muy buena la info!

No conocía varias de las extensiones y otras que me sonaban de nombre no sabía de qué se trataban, como la csv.

A los que nos damos maña editando algunas configuraciones de juegos desde los archivos, nos resultan más conocidos los xml o json. Todavía queda algún rezagado usando el prehistórico, pero súper sencillo, ini. Me acuerdo que mi tío me enseño a armar uno para que se ejecute una instalación automática de Windows 98 desde DOS al formatear el disco rígido, pudiendo dejar preestablecida la partición, directorio, programas y otras pavadas por pura paja de no hacer clic en siguiente, siguiente, siguiente xD
Responder
 


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  EL CASTILLO DE CAGLIOSTRO: PETICIÓN PARA LOS CINES! saradrawing 2 1,147 19-11-2024, 03:41 PM
Último mensaje: Ygdrar
  Significado de los cuarzos, dependiendo su color! Hamtaro, 4 2,150 05-04-2024, 04:37 PM
Último mensaje: WendyD
  ¿Cómo les gustaría que se reorganice ForoAnime? Argi 3 2,050 20-07-2023, 11:58 AM
Último mensaje: Belmont
Corazon Cuando fumar era sano Argi 5 3,075 08-01-2023, 12:50 PM
Último mensaje: Adriana
  Explico TCP y HTTP Argi 1 1,518 23-11-2022, 11:46 AM
Último mensaje: WendyD
  ¿Qué son las Code Wars? Argi 0 1,278 21-11-2022, 02:59 AM
Último mensaje: Argi
  Las peores formas de morir. Kami 7 2,388 25-06-2022, 03:27 PM
Último mensaje: Ozaru
  Cuentanos que soñaste Luis_VdM 16 5,115 02-05-2022, 05:39 PM
Último mensaje: NikkiN
  Tu fondo de pantalla Cruyff 4 997 31-03-2022, 01:23 AM
Último mensaje: MarieChan
  [PC/Teléfono] Tus aplicaciones Cruyff 8 1,616 29-03-2022, 11:56 PM
Último mensaje: MarieChan

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)

Foro Anime - Sitio de Anime, Manga, Comics y Videojuegos.

ForoAnime es más que un foro, es una familia desde 2008, creada por PikaBuu para servir como espacio seguro a todos aquellos que necesiten una distracción del día a día.