Los lenguajes de programación son sistemas estructurados de comunicación que permiten dar instrucciones específicas a máquinas y ordenadores para que puedan llevar a cabo las acciones que sean necesarias para conseguir unos objetivos determinados. Mediante los lenguajes de programación, los programadores pueden comunicarse con las máquinas utilizando su idioma (la programación), con el que pueden escribir instrucciones o secuencias de órdenes o pasos en forma de algoritmos e indicar a los sistemas informáticos qué quieren que hagan.
Hace pocas semanas hablamos sobre algunos de los lenguajes de programación más populares actualmente y pudimos ver que algunos de estos lenguajes eran incluso una evolución de otros que se habían creado previamente, de manera que se parecían mucho entre ellos. Por otro lado, este curso también hemos conocido algunos de los elementos básicos que se pueden encontrar en la mayoría de lenguajes, se parezcan mucho o poco entre ellos. Así pues, como hay tantos lenguajes de programación diferentes, hoy queremos explicar cómo podemos clasificarlos a partir de diferentes criterios de clasificación.
Clasificación por nivel
Una manera de clasificar los lenguajes es teniendo en cuenta su nivel de abstracción, es decir, si se parecen más o menos a la manera de comunicarse de las máquinas. En este caso, los podemos dividir en tres grupos:
- Lenguaje máquina: es el lenguajes que las máquinas entienden directamente, es decir, que utiliza solo ceros y unos (binario).
- Lenguaje de bajo nivel: son lenguajes que se acercan mucho a la manera de comunicarse de una máquina, pero no llegan a binario. El principal problema de estos lenguajes es que son específicos para cada máquina. Dentro de este grupo, el más característico es el lenguaje ensamblador.
- Lenguaje de alto nivel: son lenguajes que se acercan más a la manera de comunicarse de las personas. Son portables y su uso facilita mucho los procesos de escribir, leer y modificar los programas. Python o C++ son dos ejemplos de lenguajes de alto nivel.
Clasificación por paradigma
Otra manera de clasificarlos es según los paradigmas de programación, que determinan las diferentes maneras de estructurar y ordenar las acciones que debe llevar a cabo un programa. En este caso, podemos distinguir entre:
- Lenguajes imperativos: en este tipo de lenguaje, el programador especifica la secuencia de operaciones que el programa debe realizar para resolver el problema. PHP, Java o Python son algunos ejemplos de lenguajes imperativos.
- Lenguajes declarativos: en este caso, el programador especifica el resultado deseado y es el lenguaje el encargado de conseguir hacer todo lo que sea necesario para obtenerlo. Algunos ejemplos de lenguajes declarativos son Prolog, Lisp y Haskell.
Clasificación según su compilación
En tercer lugar, podemos clasificarlos según su compilación, que es el proceso de traducción o interpretación de los programas a lenguajes máquina, de manera que estas puedan entenderlos. Hay dos grupos de lenguajes siguiendo este criterio:
- Lenguajes interpretados: funcionan de manera parecida a un intérprete humano cuando hace la traducción simultánea de un orador que está hablando en otro idioma. El programa se traduce en tiempo de ejecución, es decir, en el mismo momento que se utiliza; el intérprete lee una línea, se traduce y se ejecuta. JavaScript y PHP son dos ejemplos de lenguajes interpretados.
- Lenguajes compilados: funcionan como un traductor humano que coge una obra completa y la traduce entera de principio a fin. En lugar de hacerlo línea por línea, el programa se traduce completamente a un lenguaje cercano al lenguaje de la máquina antes de ejecutarlo, generando así un fichero objeto. En el momento de ejecutar, se utiliza el programa objeto. Java y C++ son dos ejemplos de lenguajes compilados.
Clasificación por propósito
Por último, destacamos también la clasificación según el propósito de cada lenguaje, es decir, el uso que se le quiere dar. En este caso, los dividimos en los siguientes grupos:
- General: son lenguajes que han sido pensados para resolver múltiples problemas. Java y Python son lenguajes de propósito general.
- Específico: son lenguajes que están pensados para una cosa en concreto y que no tiene sentido usar fuera de su ámbito de actuación. Por ejemplo, SQL es un lenguaje específico.
En Codelearn intentamos que nuestros alumnos conozcan el máximo número posible de lenguajes de programación y por eso hemos diseñado un plan de estudios detallado que sigue un orden coherente a la hora de aprender diferentes lenguajes y tecnologías. Centrarnos en un único lenguaje no tendría sentido si tenemos en cuenta que la tecnología avanza cada día más rápido y, por lo tanto, no podemos saber qué lenguajes de programación tendrán que utilizar los niños de hoy en día cuando sean mayores.
Los lenguajes más populares hoy en día pueden quedar totalmente obsoletos en unos años, pero si conseguimos que aprendan las bases de la programación y entiendan el funcionamiento de la mayoría de los lenguajes de la actualidad, en un futuro serán capaces de encontrar similitudes entre cualquier tipo de lenguaje y aprender nuevos lenguajes fácilmente. Contacta con nosotros para conocer detalladamente el método Codelearn y unirte a la aventura de programar.