Los lenguajes de programación están diseñados para describir un conjunto de acciones consecutivas, las cuales un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico en el que podemos dar instrucciones a un equipo. En pocas palabras un lenguaje de programación describe que A CADA instrucción le corresponde UNA acción de procesador.
El lenguaje que utiliza un procesador se denomina «lenguaje máquina«. Se trata de una serie de instrucciones que se llegan al procesador que consisten en una cadena de datos binarios (ceros y unos). El lenguaje máquina, por ende, no es comprensible, Por tal razón se han desarrollado lenguajes intermediarios comprensibles para el hombre. El código que escribimos se transforma en código máquina para que el procesador logre interpretarlo.
El ensamblador fue el primer lenguaje de programación utilizado. Es muy similar al lenguaje máquina, pero solo los desarrolladores pueden comprenderlo. A pesar de su parecido con lenguaje máquina, depende estrictamente del tipo de procesador utilizado (cada tipo de procesador puede tener su propio lenguaje máquina). Así, un programa desarrollado para un equipo no puede ser «portado» a otro tipo de equipo. El término portabilidad describe la capacidad de usar un programa de software en diferentes tipos de equipos. Para poder utilizar un programa de software escrito en un código ensamblador en otro tipo de equipo, ¡a veces será necesario volver a escribir todo el programa!
Por lo tanto, un lenguaje de programación tiene varias ventajas: es mucho más fácil de comprender que un lenguaje máquina, y permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.
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: lenguajes imperativos y lenguajes funcionales.
Lenguaje de programación imperativo
Un lenguaje imperativo programa por medio de una serie de comandos, agrupados en bloques y compuestos de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. Fueron los primeros lenguajes de programación que se usaron y hoy todavía muchos lenguajes usan el mismo principio.
Lenguaje de programación funcional
Un lenguaje de programación funcional o lenguaje procedimental, crea programas por medio de 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, se estaría hablando de recursividad.
Interpretación y compilación
Los lenguajes de programación es posible dividirlos en dos categorías: lenguajes interpretados y lenguajes compilados.
Lenguaje interpretado
Un lenguaje de programación debe traducirse para que el procesador pueda comprenderlo. Asi que un programa escrito en un lenguaje interpretado requiere de un programa auxiliar que traduce los comandos de los programas cuando sea necesario.
Lenguaje compilado
Un programa escrito en un lenguaje compilado se traduce por medio de un programa anexo llamado «compilador» que crea un nuevo archivo independiente el cual no necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama ejecutable.
Lenguajes intermediarios
Algunos lenguajes pertenecen a ambas categorías (interpretado y compilado) tales como LISP, Java, Python, entre otros. El programa escrito en estos lenguajes en algunos casos puede sufrir una fase de compilación intermediaria.
Algunos ejemplos de lenguajes ampliamente usados:
Lenguaje | Principal área de aplicación | Compilado/interpretado |
ADA | Tiempo real | Lenguaje compilado |
BASIC | Programación para fines educativos | Lenguaje interpretado |
C | Programación de sistema | Lenguaje compilado |
C++ | Programación de sistema orientado a objeto | Lenguaje compilado |
Cobol | Administración | Lenguaje compilado |
Fortran | Cálculo | Lenguaje compilado |
Java | Programación orientada a Internet | Lenguaje intermediario |
MATLAB | Cálculos matemáticos | Lenguaje interpretado |
Cálculos matemáticos | Cálculos matemáticos | Lenguaje interpretado |
LISP | Inteligencia artificial | Lenguaje intermediario |
Pascal | Educación | Lenguaje compilado |
PHP | Desarrollo de sitios web dinámicos | Lenguaje interpretado |
Inteligencia artificial | Inteligencia artificial | Lenguaje interpretado |
Perl | Procesamiento de cadenas de caracteres | Lenguaje interpretado |
Si tienes alguna duda o quieres hacer alguna sugerencia déjalo en los comentarios y si te gusto el articulo compártelo ¡Muchas gracias!