Características deseables de un lenguaje de programacion
Características deseables de un lenguaje de programación.
Al iniciarse los lenguajes de programación, existía un criterio de diseño primordial: eficiencia en la ejecución. Este principio puede abarcar características para la eficiencia del código:
1.- Optimizabilidad: se refiere al diseño del lenguaje que debe ser tal que un traductor nos pueda generar un código ejecutable eficiente.
2.- Eficiencia de traducción: se refiere a la verificación de errores que podrían tener al realizar el código objetivo resulte haciéndolo ineficiente.
3.- La confiabilidad: se refiere al aseguramiento que un programa no se comportara en forma no esperada o …ver más…
2.- La ortogonalidad: significa que los constructores de los lenguajes se pueden combinar en cualquier forma significativa y que la interacción de los constructores, o el contexto del uso, no debe generar restricciones o comportamientos inesperados.
3.- La uniformidad: significa que cosas similares deben verse de manera similar y tener significados similares y, a la inversa, las cosas diferentes deben verse diferentes.
Simplicidad: un lenguaje de programación demasiado simple puede, de hecho, hacer que la tarea de utilizarlo resulte más compleja. Existiría la carencia de algunos constructores fundamentales, como las declaraciones y bloques, hace mucho más difícil programar aplicaciones grandes.
La sobre simplicidad puede hacer que un lenguaje sea difícil de utilizar, carente de expresividad, legibilidad o seguridad y sujeto a demasiadas restricciones.
Expresividad: la expresividad es la facilidad con la cual un lenguaje puede expresar procesos y estructuras complejas, por ejemplo poder cambiar los datos de manera arbitraria durante la ejecución. Esto es especialmente útil en situaciones completas, donde el tamaño y la forma de los datos pudieran no ser conocidos. Algunas veces la expresividad se considera como concisa, lo que puede, sin embargo, comprometer la legibilidad.
Extensibilidad: permite que el usuario pueda agregar características a un lenguaje; podría significar simplemente tener la capacidad de definir nuevos tipos de datos, misma que