¿Por qué todas las fuentes de codificación se parecen?

Se llaman fuentes monoespaciadas . Míralos de cerca. Esta imagen ayudará:
Todos tienen el mismo ancho o grosor. Inicialmente se utilizaron en máquinas de escribir . Las máquinas de escribir imprimen el texto aplicando un bloque del alfabeto / carácter en la página. Como resultado, todos los bloques eran monoespaciados o de ancho fijo .
Anteriormente en la era de la computadora, se usaban para dibujar texto en una pantalla, ya que todos tenían el mismo ancho, y la pantalla con poca área ya estaba dividida en tales bloques. Como resultado, dibujar dicho texto fue muy fácil para los mansos procesadores.
Hoy en día, se utilizan en IDEs y terminales y en el lote. Eso es así porque aquí (casi) cada personaje se ve diferente. (Mire I , I y 1 ). También se puede usar para mantener una estructura tabular en muchos casos, y eso puede ser útil para la depuración manual en ciertos casos. Espero que lo entiendas.

Para literatura estándar, artículos de noticias, etc., utilizamos fuentes proporcionales (también conocidas como “tipos de letra”), porque son más agradables a la vista, más atractivas. Las fuentes proporcionales mantienen el mismo espacio entre letras, por lo que si una letra particular es muy estrecha (o muy ancha), como “i” y “m”, respectivamente, la siguiente letra se coloca en consecuencia.

Es por eso que 10x “i” es mucho más corto que 10x “m”:

iiiiiiiiii
mmmmmmmmmm

Para la literatura estándar, un simple error no es gran cosa. Tengo una traducción al eslovaco de “The Martian”, y en un lugar, el texto original “en Marte” se tradujo como “na Marsy” en lugar de “na Marsu”, un error tipográfico de una sola letra (y en lugar de u). Para mí, como ser humano, no fue un problema identificar este error y leer la historia normalmente.

Sin embargo, al programar, tal error podría tener un efecto devastador. En la programación, los programadores “inventan” palabras artificiales creando nombres para variables, objetos que contienen valores que pueden cambiar. Y si su programa se ocupa de cosas como las coordenadas 3D, puede tener variables X, Y y Z, y si alguien cometió un error de un solo carácter, una variable cambiaría fácilmente a una variable diferente.

Del mismo modo, los operadores matemáticos y los símbolos de puntuación tienen significado. Un punto y coma significa algo completamente diferente a dos puntos, una coma o un punto final. Un signo de interrogación significa algo diferente a un signo de exclamación, y dos signos de igualdad tienen un significado diferente que tres signos de igualdad.

En C, PHP y muchos otros lenguajes,

x = y significa que desea que el valor de la variable “y” se copie como un valor de la variable “x”.

x == y significa que desea comparar los valores de estas dos variables

Pero ahora mira lo que sucede si quieres hacer esto:

x = y = z

pero comete un error y escribe

x = y == z

En el primer caso, el valor de “z” se copia en “y”, y luego, el valor se copia en “x”. Entonces, los tres tendrán el mismo valor.

En el segundo caso, los valores de y y z se comparan, lo que da como resultado “verdadero” o “falso”. Y cualquiera que sea el resultado se asignará a x, por lo que x ahora se convertirá en “verdadero” o “falso”.

Esperemos que esto deje muy claro por qué es tan importante poder distinguir claramente entre caracteres, letras y palabras.

Ahora, mire cómo se ve este grupo de caracteres::;,. LI]} en fuente normal (para “lectura de literatura” y cómo se ve en una fuente de codificación (para programación):

:;,. lI]}

:;,. lI]}

Dos cosas deberían ser inmediatamente obvias:

  1. La fuente monoespacio (para “codificación”) separa incluso los caracteres más estrechos, lo que facilita el reconocimiento de cada uno de ellos
  2. Los personajes que podrían confundirse entre sí son más distintos entre sí.