1. Clasificación de lenguajes
de programación
Un lenguaje de programación es un lenguaje inventado para
controlar una máquina, (normalmente, un ordenador).
Hay muchísimos, de toda clase de tipos y características, inventados
para facilitar el abordaje de distintos problemas, el mantenimiento
del software, su reutilización, mejorar la productividad, etc.
Los lenguajes de programación se pueden clasificar según varios criterios. He
encontrado doce en total:
1.-Nivel de abstracción, 2.-Propósito,
3.-Evolución histórica, 4.-Manera de ejecutarse,
5.-Manera de abordar la tarea a realizar, 6.-Paradigma de programación,
7.- Lugar de ejecución, 8.-Concurrencia,
9.-Interactividad, 10.-Realización visual,
11.-Determinismo 12.-Productividad.
2. Se realiza teniendo muy en cuenta
Lenguajes de bajo
las características del procesador.
nivel:
Ejemplo: Lenguajes ensamblador.
Puede realizar operaciones lógicas y
de desplazamiento con bits, tratar
1. Nivel de Lenguajes de nivel todos los tipos de datos como lo que
abstracción. medio son en realidad a bajo nivel
(números), etc.
Manejan conceptos, tipos de
Lenguajes de alto datos, etc., de una manera
nivel cercana al pensamiento humano
ignorando (abstrayéndose) del
funcionamiento de la máquina.
3. Lenguajes de Aptos para todo tipo de tareas:
propósito general: Ejemplo: C
Lenguajes de Hechos para un objetivo muy
propósito concreto. Ejemplo: Csound ( para
2. Propósito.
específico: crear ficheros de audio).
Lenguajes Diseñados para realizar sistemas
de programación operativos o drivers. Ejemplo: C.
de sistemas
Para realizar tareas varias de control y
Lenguajes auxiliares llamados lenguajes de
de script: procesamiento
4. Lenguajes
de primera Código máquina.
generación (1GL)
Lenguajes
de segunda Lenguajes ensamblador.
generación (2GL)
3. Evolución
histórica.
Lenguajes de tercera La mayoría de los lenguajes
generación (3GL): modernos, Ejemplos: C, Java.
Diseñados con un propósito
Lenguajes de cuarta
concreto, o sea, para abordar un
generación (4GL)
tipo concreto de problemas.
Que el programador establezca
Lenguajes de quinta el qué problema ha de ser
generación (5GL) resuelto y las condiciones a
reunir, y la máquina lo resuelve.
5. Un programa traductor traduce el
Lenguajes compilados: código del programa (código
fuente) en código máquina
4. Manera de
(código objeto).
ejecutarse.
Un programa (intérprete), ejecuta
Lenguajes interpretados: las instrucciones del programa de
manera directa.
Indican cómo hay que hacer la
Lenguajes imperativos tarea, es decir, expresan los pasos
a realizar.
5. Manera de
abordar la tarea
a realizar.
Lenguajes declarativos Indican qué hay que hacer.
6. Lenguajes de programación procedural: Divide el
problema en partes más pequeñas, que serán
realizadas por subprogramas (subrutinas,
funciones, procedimientos), que se llaman unas a
otras para ser ejecutadas. Ejemplos: C, Pascal.
6. Paradigma de programación.
Lenguajes de programación orientada a objetos: Crean un
sistema de clases y objetos siguiendo el ejemplo del
Es el estilo de mundo real, en el que unos objetos realizan acciones y se
programación comunican con otros objetos. Ejemplos: C++, Java.
empleado. Algunos
lenguajes soportan
varios paradigmas,
y otros sólo uno.
Lenguajes de programación funcional: La tarea se
realiza evaluando funciones, (como en
Matemáticas), de manera recursiva. Ejemplo: Lisp.
Lenguajes de programación lógica:
La tarea a realizar se expresa empleando lógica
formal matemática. Expresa qué computar.
Ejemplo: Prolog.
7. Se ejecutan en el servidor.
Lenguajes
Ejemplo: PHP es el más utilizado
de servidor
en servidores web.
7. Lugar de
ejecución.
Se ejecutan en el cliente. Ejemplo:
Lenguajes de cliente
Java Script en navegadores web.
Lenguajes concurrentes. Ejemplo: Ada.
8. Concurrencia.
Lenguajes no concurrentes. Ejemplo: C.
8. El flujo del programa es controlado por
Lenguajes orient la interacción con el usuario o por
ados a sucesos mensajes de otros programas/sistema
operativo
9. Interactividad.
El flujo del programa no depende de
Lenguajes no sucesos exteriores, sino que se conoce
orientados a de antemano,
sucesos
El programa se realiza moviendo
Lenguajes bloques de construcción de programas
de programació (objetos visuales) en un interfaz
n visual adecuado para ello
10. Realización
visual.
Lenguajes El código del programa se realiza
de programació escribiéndolo. Ejemplos: C, Java, Lisp.
n textual
9. Lenguajes deter Ejemplos: Todos los anteriores.
ministas
11. Determinismo. Sirven para explorar grandes espacios
de búsqueda, (como gramáticas), y en
Lenguajes proba la investigación teórica de
bilísticos o no de hipercomputación.
terministas Ejemplo: mutt (generador de texto
aleatorio).
Sus virtudes en cuanto a eficiencia,
Lenguajes útiles sencillez, claridad, productividad,
o productivos etc., motiva que sean utilizados en
empresas, administraciones públicas
y/o en la enseñanza.
12. Productividad.
Inventados con la intención de ser los
Lenguajes esotéri más raros, oscuros, difíciles, simples
cos o exóticos y/o retorcidos de los lenguajes, para
diversión y entretenimiento de frikis
programadores.