Saltar al contenido principal

Tipos de lenguajes de programación

Existen muchas formas de clasificar los lenguajes de programación, dependiendo de qué característica se desee destacar.

Los parámetros más comunes para realizar clasificaciones son:

  • El nivel de abstracción.
  • El paradigma de programación.
  • La forma de ejecución.
  • El tipo de tipado.
  • La finalidad (o dominio).
  • La licencia de uso y distribución.

Clasificaciones

Según el nivel de abstracción

El nivel de un lenguaje de programación se refiere al grado de abstracción que ofrece sobre el hardware y el sistema operativo, y puede influir en la complejidad, la flexibilidad y la eficiencia del desarrollo de software.

En los siguientes apartados veremos más detalles sobre esta clasificación.

TipoDescripciónLenguajes
De bajo nivelMuy cercanos al hardwareEnsamblador
De alto nivelMás orientados a la lógica del problema que a la máquinaPython, Java, JavaScript, PHP
De nivel medioTienen acceso al hardware, pero ofrecen abstracciónC

Según el paradigma de programación

TipoDescripciónLenguajes
ImperativosSe centran en dar instrucciones paso a pasoC, Fortran
DeclarativosSe centran en describir qué se quiere, no cómoSQL, Prolog
Orientados a objetos (OOP)Organizan el código en clases y objetosJava, C++, Python, PHP
FuncionalesBasados en funciones matemáticas, evitan estados mutablesHaskell, Lisp, Elixir
LógicosBasados en reglas y relaciones lógicasProlog
MultiparadigmaMezclan varios enfoquesPython, Scala, JavaScript, TypeScript

Según la forma de ejecución

TipoDescripciónLenguajes
CompiladosSe traducen a código máquina antes de ejecutarse.C, Rust
InterpretadosSe ejecutan línea por línea por un intérprete.Python, Ruby
HíbridosCombinan ambas técnicas.Java, C#

Según el tipo de tipado

TipoDescripciónLenguajes
Tipado estáticoEl tipo de datos se verifica en tiempo de compilación.Java, C++, Rust
Tipado dinámicoEl tipo de datos se decide en tiempo de ejecución.Python, JavaScript
Tipado fuerteNo permite mezclar tipos sin conversión explícita.Java
Tipado débilHace conversiones implícitas.JavaScript

Según la finalidad o dominio

TipoDescripciónLenguajes
De propósito generalSirven para casi cualquier aplicación.C, Python, Java
Específicos de dominio (DSL)Diseñados para un uso concreto.SQL, HTML, CSS, MATLAB

Según la licencia de uso y distribución

TipoDescripciónLenguajes
PropietariosRequieren licencia y/o son controlados por una empresa.MATLAB
De código abiertoSu especificación y compiladores están abiertos.Python, Go, Rust

Clasificación de un lenguaje de programación

Un mismo lenguaje de programación puede pertenecer a varias categorías a la vez.

Por ejemplo, Python es de alto nivel, multiparadigma, interpretado, de tipado dinámico y fuerte, de propósito general y de código abierto.