Es
un lenguaje diseñado para describir el conjunto de acciones consecutivas que un
equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo
práctico para que los seres humanos puedan dar instrucciones a un equipo.
Lenguajes de Programación Imperativos y Funcionales
Los
lenguajes de programación generalmente se dividen en dos grupos principales en
base al procesamiento de sus comandos:
- Lenguaje imperativo.
- Lenguaje funcional.
No
obstante, los lenguajes imperativos estructurados carecen de flexibilidad
debido a la secuencialidad de las instrucciones.
Lenguaje de programación funcional: Un lenguaje de programación funcional(a menudo llamado
lenguaje procedimental) es un lenguaje que crea programas mediante funciones,
devuelve un nuevo estado de resultado y recibe como entrada el resultado de
otras funciones. Cuando una función se invoca a sí misma, hablamos de
recursividad.
Interpretación y Compilación
Los
lenguajes de programación pueden, en líneas generales, dividirse en dos
categorías:
- Lenguaje interpretado.
- Lenguaje compilado.
Lenguaje compilado: Un programa escrito en un lenguaje "compilado"
se traduce a través de un programa anexo llamado compilador que, a su vez, crea
un nuevo archivo independiente que no necesita ningún otro programa para
ejecutarse a sí mismo. Este archivo se llama ejecutable.
Un
programa escrito en un lenguaje compilado posee la ventaja de no necesitar un
programa anexo para ser ejecutado una vez que ha sido compilado. Además, como
sólo es necesaria una traducción, la ejecución se vuelve más rápida. Sin
embargo, no es tan flexible como un programa escrito en lenguaje interpretado,
ya que cada modificación del archivo fuente (el archivo comprensible para los
seres humanos: el archivo a compilar) requiere de la compilación del programa
para aplicar los cambios.
Por
otra parte, un programa compilado tiene la ventaja de garantizar la seguridad
del código fuente. En efecto, el lenguaje interpretado, al ser directamente un
lenguaje legible, hace que cualquier persona pueda conocer los secretos de
fabricación de un programa y, de ese modo, copiar su código o incluso
modificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no
sean respetados. Por otro lado, ciertas aplicaciones aseguradas necesitan
confidencialidad de código para evitar las copias ilegales (transacciones
bancarias, pagos en línea, comunicaciones seguras...).
Lenguajes intermediarios
Algunos
lenguajes pertenecen a ambas categorías (LISP, Java, Python...) dado que el
programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de
compilación intermediaria, en un archivo escrito en un lenguaje ininteligible
(por lo tanto diferente al archivo fuente) y no ejecutable (requeriría un intérprete).
Los applets Java, pequeños programas que a menudo se cargan en páginas web, son
archivos compilados que sólo pueden ejecutarse dentro de un navegador web (son
archivos con la extensión .class).
Algunos ejemplos de lenguajes
ampliamente usados