En el diseño de lenguajes de programación se busca un balance entre la optimización de recursos computacionales, el tiempo de ejecución, y la facilidad para escribir el código, darle mantenimiento, y la elaboración eficiente de prototipos. Entre conceptos básicos que definen los criterios para diseñar y escoger un lenguaje de programación tenemos:
Paradigmas de programación
Concurrencia
Gestión de memoria
Sistema de tipos
Interpretes vs compiladores
Baste por lo pronto con decir los marcos teórico-conceptuales y las metodologías de desarrollo buscan garantizar que el funcionamiento de los sistemas sea correcto, que su ejecución sea oportuna, que sean fáciles de mantener y modificar, y que su desarrollo minimize el uso de recursos y el tiempo de implantación.