programming languages - sensitive - ¿Hay alguna ventaja de ser un lenguaje de programación sensible a mayúsculas y minúsculas?
julia lenguaje de programacion (6)
Personalmente no me gusta que los lenguajes de programación sean sensibles a mayúsculas y minúsculas.
(Sé que las desventajas de la distinción entre mayúsculas y minúsculas ahora se complementan con IDE buenos)
Sin embargo, me gustaría saber si hay ventajas para un lenguaje de programación si es sensible a mayúsculas y minúsculas. ¿Hay alguna razón por la que los diseñadores de muchos lenguajes populares elijan distinguir entre mayúsculas y minúsculas?
EDITAR: duplicado de ¿Por qué hay muchos idiomas que distinguen entre mayúsculas y minúsculas?
EDITAR: (No puedo creer que hice esta pregunta hace unos años)
Con la verificación de tipos, la distinción entre mayúsculas y minúsculas evita que tenga un error ortográfico y una variable no reconocida. He corregido errores en el código que es un lenguaje insensible a mayúsculas y minúsculas (FORTRAN77), donde el cero (0) y la letra mayúscula O parecían iguales en el editor. El lenguaje creó un nuevo objeto y, por lo tanto, el resultado fue defectuoso. Con un lenguaje sensible a mayúsculas y minúsculas, esto no habría sucedido.
El código se ve más o menos lo mismo. En los días de BASIC estos eran equivalentes:
PRINT MYVAR
Print MyVar
print myvar
En el compilador o intérprete, un lenguaje insensible a mayúsculas / minúsculas tendrá que hacer que todo sea en mayúscula o minúscula para probar las coincidencias, o usar una herramienta de concordancia que no distinga mayúsculas y minúsculas, pero eso es solo una pequeña cantidad de trabajo extra para el compilador.
Además, el código sensible a mayúsculas y minúsculas permite ciertos patrones de declaraciones como
MyClassName myClassName = new MyClassName ()
y otras situaciones donde la sensibilidad de las mayúsculas y minúsculas es agradable.
Esta es una preferencia. Prefiero la distinción entre mayúsculas y minúsculas, me resulta más fácil leer el código de esta manera. Por ejemplo, el nombre de variable "myVariable" tiene una forma de palabra diferente a "MyVariable", "MYVARIABLE" y "myvariable". Esto hace que sea más sencillo a simple vista distinguir los dos identificadores. Por supuesto, no debe o muy rara vez crear identificadores que difieran solo en el caso. Se trata más de consistencia que del "beneficio" obvio de aumentar la cantidad de posibles identificadores. Algunas personas piensan que esto es una desventaja. No puedo pensar en ningún momento en que la sensibilidad del caso me haya dado algún problema. Pero de nuevo, esta es una preferencia.
La sensibilidad de mayúsculas y minúsculas es inherentemente más rápida de analizar (aunque solo ligeramente) ya que puede comparar secuencias de caracteres directamente sin tener que descubrir qué caracteres son equivalentes entre sí.
Permite al implementador de una clase / biblioteca controlar cómo se utiliza la envoltura en el código. El caso también se puede usar para transmitir el significado.