Se me ocurren dos ejemplos:
Una de las razones por las que se alienta a los programadores .Net a usar archivos .config en lugar del Registro de Windows es que los archivos .config son XML y, por lo tanto, legibles por humanos.
Del mismo modo, JSON a veces se considera legible para los humanos en comparación con un formato propietario.
¿Los formatos legibles por humanos son realmente legibles por los humanos? En el ejemplo de datos de configuración:
- El formato no cambia el significado subyacente de la información; en ambos casos, los datos representan lo mismo.
- Tanto el registro como el archivo .config se almacenan internamente como series 0s y 1s. Hasta ese punto, la representación subyacente es igualmente ilegible para los humanos.
- Tanto el registro como el archivo .config requieren una herramienta para leer, formatear y mostrar esos 0 y 1 y convertirlos a un formato que los humanos puedan leer. En el caso de la configuración almacenada en el Registro de Windows, este es un Editor del Registro. En el caso de XML, podría ser un editor de texto o un lector de XML. De cualquier manera, la herramienta hace que los datos sean legibles, no el formato de datos.
Entonces, ¿cuál es la diferencia entre los formatos de datos legibles por humanos y los formatos no legibles por humanos?
terminology
Kramii
fuente
fuente
Respuestas:
La lectura humana básicamente significa que si el contenido se muestra en un programa que carece de conocimiento directo y específico del formato de ese archivo, hay al menos una posibilidad razonable de que una persona pueda leer y comprender al menos parte de él.
Sin embargo, su punto básico sobre la falta de una línea clara de delineación es absolutamente correcto: una vez conocí a un tipo que podía diagnosticar problemas con programas (en su mayoría escritos en Fortran) a menudo en cinco minutos o menos, yendo solo desde un octal volcado del núcleo, sin mirar el código fuente en absoluto. Para la mayoría de las personas, ese formato difícilmente calificaría como "legible por humanos", pero obviamente fue una excepción ...
fuente
Human Readable significa que puedo abrir la cosa en el Bloc de notas si lo deseo, y cambiar "contraseña = foo" a "contraseña = barra" si así lo deseo. No tengo que usar una herramienta patentada para ver o editar el contenido.
Contraste a un PDF que no puede editar con un simple editor de texto: necesita una herramienta específica que conozca el formato. O un archivo binario .dat que vino con alguna aplicación de hace 25 años que no puede leer, editar o comprender.
fuente
En respuesta a su pregunta "¿Son los formatos legibles por humanos realmente legibles por los humanos", por definición sí lo son, eso es lo que significa legible por humanos.
No existe una definición técnica de legible para humanos, es subjetiva y puede haber preguntas sobre qué nivel de conocimiento podría necesitar el humano para calificar (por ejemplo, ¿necesitan comprender los principios básicos básicos de XML, como etiquetas y jerarquías? , si entienden el dominio comercial en el que existen los datos, personalmente diría que sí a ambos), pero su prueba básica debería ser si se lo mostrara a alguien con habilidades técnicas básicas que entendieron los conceptos básicos de lo que los datos debían representar. ¿Pueden leerlo?
En un nivel práctico, esto generalmente significará lo siguiente:
1) Los datos se almacenan como texto ASCII o algún otro formato similar común y fácilmente reconocible
2) Que existe una estructura razonable que es evidente a partir de un examen básico. Por ejemplo, no tiene que saber que los primeros X caracteres relacionados con Y, luego el próximo X se relacionan con Z
3) Que tanto los datos como los metadatos generalmente están en inglés (o cualquiera que sea su idioma local) y requieren un conocimiento limitado del dominio del problema para comprender, por lo que un número de factura estaría en una etiqueta "invoiceNumber", en lugar de " uDef_Inbr "
4) Para los datos que no son de texto, se han utilizado convenciones predecibles (por ejemplo, VERDADERO, FALSO, S, N, 1, 0 en lugar de algo más abierto a la interpretación)
fuente
Los archivos .config son mucho más fáciles de editar (para la mayoría de las personas) que el Registro. Es más fácil abrir un archivo de configuración dedicado, encontrar los datos relevantes y realizar cambios sin abrir la posibilidad de editar algo que afectará a otros programas.
fuente
Se trata de facilidad de comprensión (y probable cambio). Entonces, "¿Es X humano legible?" no debe responderse con un "sí" o un "no". Por el contrario, la respuesta debería estar en algún tipo de escala móvil.
Ejemplos potenciales:
Fuera de un contexto que explica lo que realmente significa "legible por humanos", la frase no ayuda mucho. (Algunos humanos en algún lugar probablemente puedan leer cualquiera de los formatos, si no cuenta tratando de ver la polaridad magnética de los bits de hardware ...)
fuente
Una gran diferencia entre los formatos legibles por humanos y los formatos no legibles por humanos es la robustez. En un sistema Linux, todo tipo de información se dispersará en varios archivos de texto. Necesitas aprender dónde están, pero siempre puedes encontrar la información, leerla y cambiarla con un editor de texto. Si un archivo desaparece, generalmente puede reemplazarlo. Si un archivo se corrompe, a menudo puede averiguar qué debería ser y solucionarlo.
En un sistema MS Windows, la mayor parte de esto estará en el Registro, que es, desde el punto de vista de los usuarios, un gran sistema opaco, accesible en parte a través de varias herramientas (al igual que algunos archivos de configuración en sistemas Linux), y en general con un editor de registro Mientras todo salga bien, está bien. Si se rompe, no hay nada que se pueda hacer sin el conocimiento especializado.
fuente
Los controles más fáciles que puedo considerar que califican como "legibles por humanos" son:
JohnSmith|34|T|F
es menos amigable que<User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>
, ya que sabe cuáles son los campos (al menos en general) en el 2do.fuente
Creo que puede estar preguntando si "término legible para humanos" como término se aplica a veces incorrectamente, y sin duda lo es. En el ejemplo de las entradas de registro frente a los archivos .config, creo que es útil que pueda organizar el XML de diferentes maneras dependiendo de los datos, comentarios intercalados, etc.
Las colecciones en archivos .config generalmente se manejan como elementos múltiples, mientras que es más difícil en el registro, a menudo como un MULTI_SZ.
También puede ver más datos de configuración para una aplicación a la vez, con regedit, para ver algo que está en una clave diferente, necesita navegar a esa clave, lo que significa que ya no puede ver las entradas que estaba viendo anteriormente. Con los archivos .config, puede ver todo el archivo a la vez, aunque ese archivo pueda contener datos jerárquicos.
fuente
Contraste "legible por humanos" con binario. Por ejemplo, generalmente no puede abrir un ejecutable o un índice de base de datos en un editor de texto vainilla y comprender cuál es el contenido. Los bytes debajo del decimal 32 ni siquiera tienen representaciones estándar globales como caracteres visibles.
fuente
Respuesta corta: significa que la información se ingresa como texto, en lugar de binario o hexadecimal, etc. Algo que equivale a un "lenguaje" legible en lugar de un "lenguaje de máquina" de computadora. Más allá de eso, la definición se vuelve turbia.
fuente
También se aplica al código: estructura su programa de una manera lógica y reflexiva, de modo que el trabajo de cualquiera que lo vea por primera vez se haga un poco más fácil.
fuente