Tipos de lenguaje de programación

Hay muchas clasificaciones diferentes que podrás encontrar en internet sobre los tipos diferentes que hay de lenguajes de programación y dependen de como los quieres clasificar.

Básicamente existen 4 clasificaciones conocidas en el mundo de la informática:

  • Clasificación por Bajo Nivel – Alto Nivel
  • Clasificación histórica (por generaciones)
  • Clasificación por paradigmas
  • Clasificación por propósito (por especialidad)

Una de las clasificaciones mas completas y complejas son los paradigmas de programación que son una forma de clasificar los lenguajes de programación en función de sus características. Los idiomas se pueden clasificar en múltiples paradigmas.

Un paradigma de programación consiste en un método para llevar a cabo cómputos y la forma en la que deben estructurarse y organizarse las tareas que debe realizar un programa.

Algunos paradigmas se refieren principalmente a las implicaciones para el modelo de ejecución del lenguaje, como permitir efectos secundarios o si la secuencia de operaciones está definida por el modelo de ejecución.

Otros paradigmas se refieren principalmente a la forma en que se organiza el código, como agrupar un código en unidades junto con el estado modificado por el código. Sin embargo, otros se preocupan principalmente por el estilo de sintaxis y gramática.

Básicamente, los lenguajes clasificados por paradigmas se pueden dividir en dos tipos: lenguajes imperativos en los que se le indica a la computadora cómo realizar una tarea, y lenguajes declarativos en los que le dice a la computadora qué hacer.

Los lenguajes declarativos pueden desglosarse en lenguajes funcionales , en los que un programa se construye mediante funciones de composición y lógica. Lenguajes de programación, en los cuales un programa se construye a través de un conjunto de conexiones lógicas. Los lenguajes imperativos se leen más como una lista de pasos para resolver un problema, como una receta. Los lenguajes imperativos incluyen C, C ++ y Java; lenguajes funcionales incluyen Haskell; Los lenguajes de programación lógica incluyen Prolog.

Los lenguajes imperativos a veces se dividen en dos subgrupos: lenguajes de procedimiento como C y lenguajes orientados a objetos . Sin embargo, los lenguajes orientados a objetos pueden estar combinados con otros, ya que existen lenguajes funcionales orientados a objetos (OCaml y Scala son ejemplos).


También se puede agrupar lenguajes en: estáticos y dinámicos. Los lenguajes de tipo estático son aquellos en los que se marca el tipo (y generalmente se aplica) antes de ejecutar el programa (generalmente durante una fase de compilación); los idiomas de tipo dinámico difieren la verificación de tipos al tiempo de ejecución. C, C ++ y Java son lenguajes de tipo estático; Python, Ruby, JavaScript y Objective-C son lenguajes de tipo dinámico. También hay lenguajes sin tipo, que incluyen el lenguaje de programación Forth.

También puede agrupar idiomas por su disciplina de escritura : escritura débil , que admite conversiones de tipo implícitas, y escritura fuerte , que prohíbe las conversiones de tipo implícitas. Las líneas entre los dos son un poco borrosas: según algunas definiciones, C es un lenguaje débilmente tipado, mientras que otros lo consideran fuertemente tipado. La disciplina de escritura no es realmente una forma útil de agrupar idiomas, de todos modos.


Tipos de lenguaje de programación de manera técnica:

Procedural Programming Language

El lenguaje de programación procesal se utiliza para ejecutar una secuencia de declaraciones que conducen a un resultado. Normalmente, este tipo de lenguaje de programación utiliza múltiples variables, bucles pesados ​​y otros elementos, que los separa de los lenguajes de programación funcionales. Las funciones del lenguaje procesal pueden controlar variables, además de los retornos de valor de la función. Por ejemplo, imprimir información.

Object-oriented Programming Language

Este lenguaje de programación ve el mundo como un grupo de objetos que tienen datos internos y partes externas de acceso a esos datos. El objetivo de este lenguaje de programación es pensar en la falla separándola en una colección de objetos que ofrecen servicios que pueden usarse para resolver un problema específico.

Uno de los principios principales del lenguaje de programación orientado a objetos es la encapsulación de que todo lo que necesitará un objeto debe estar dentro del objeto. Este lenguaje también enfatiza la reutilización a través de la herencia y la capacidad de difundir las implementaciones actuales sin tener que cambiar una gran cantidad de código mediante el uso de polimorfismo.

Parallel Processing

Un modelo de programación paralela es un modelo para escribir programas paralelos los cuales pueden ser compilados y ejecutados. El valor de un modelo de programación puede ser juzgado por su generalidad (Si las soluciones ofrecidas son óptimas a comparación de diferentes arquitecturas o soluciones existentes), y su rendimiento (Eficiencia, precisión o velocidad de la ejecución).

La implementación de un modelo de programación puede tomar varias formas, tales como bibliotecas invocadas desde lenguajes secuenciales tradicionales, extensiones del lenguaje, o nuevos modelos completos de ejecución.

Logic Programming Language

Estos tipos de lenguajes permiten a los programadores hacer declaraciones declarativas y luego permiten que la máquina razone sobre las consecuencias de esas declaraciones. En cierto sentido, este lenguaje no le dice a la computadora cómo hacer algo, sino que emplea restricciones sobre lo que debe considerar hacer.

Llamar a estos grupos "tipos de lenguaje" es realmente un poco confuso. Es fácil programar en un estilo orientado a objetos en lenguaje C. En verdad, la mayoría de los idiomas incluyen ideas y características de varios dominios, lo que solo ayuda a aumentar la utilidad de este tipo de idiomas. Sin embargo, la mayoría de los lenguajes de programación no funcionan mejor en todos los estilos de programación.

Functional Programming Language

El lenguaje de programación funcional generalmente usa datos almacenados, con frecuencia evitando bucles a favor de las funciones recursivas. El enfoque principal de la programación funcional está en los valores de retorno de las funciones, y los efectos secundarios y diferentes sugieren no utilizar estados de almacenamiento.

Sin embargo, puede generar llamadas algorítmicas y alterar los parámetros de estas llamadas. Por lo general, los lenguajes funcionales son más fáciles y es más fácil comprender problemas abstractos, sin embargo, incluso estarán "más lejos de la máquina", ya que su modelo de programación hace que sea difícil saberlo con precisión.

Databeses

Una implementación muy común de una base de datos es un Sistema de gestión de bases de datos relacionales (RDBM). Para los usuarios, se puede acceder a la información en una base de datos utilizando el Lenguaje de consulta estructurado ( SQL ), un lenguaje de base de datos común a la mayoría de las bases de datos. Sin embargo, SQL solo proporciona comandos para acceder y manipular los datos en la base de datos.

Para cualquier aplicación compleja, comúnmente existe la necesidad de condiciones, ramificaciones y bucles. Ninguno de estos es parte del lenguaje SQL. Para llenar este vacío, muchos lenguajes de programación comunes permiten la integración con SQL a través de una biblioteca común como Open Data Base Connectivity (ODBC), Object Linking and Embedded (OLE), y a veces con interfaces de programación de aplicaciones o bibliotecas suministradas con la base de datos.


Descarga la imagen para poder leer sobre la taxonomía de los lenguajes de programación.