1.1
TIPOS DE LENGUAJES DE
PROGRAMACIÓN
Los lenguajes de
programación se pueden clasificar según varios criterios. Hay que tener en
cuenta también, que en la práctica, la mayoría de lenguajes no pueden ser
puramente clasificados en una categoría, pues surgen incorporando ideas de
otros lenguajes y de otras filosofías de programación, pero no importa al
establecer las clasificaciones, pues el auténtico objetivo de las mismas es
mostrar los rangos, las posibilidades y tipos de lenguajes que hay.
1. Nivel de abstracción.
Según el nivel de abstracción, es decir, según el
grado de cercanía a la máquina:
·
Lenguajes de bajo nivel: La programación se
realiza teniendo muy en cuenta las características del procesador. Ejemplo:
Lenguajes ensamblador.
·
Lenguajes de nivel medio: Permiten un mayor grado
de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes
de bajo nivel. Ejemplo: C puede realizar operaciones lógicas y de
desplazamiento con bits, tratar todos los tipos de datos como lo que son en
realidad a bajo nivel (números), etc.
·
Lenguajes de alto nivel: Más parecidos al
lenguaje humano. Manejan conceptos, tipos de datos, etc., de una manera cercana
al pensamiento humano ignorando (abstrayéndose) del funcionamiento de la
máquina. Ejemplos: Java, Ruby.
Hay quien sólo considera lenguajes de bajo nivel y
de alto nivel, (en ese caso, C es considerado de alto nivel).
2. Propósito.
Según el propósito, es decir, el tipo de problemas
a tratar con ellos:
·
Lenguajes de propósito general: Aptos para todo
tipo de tareas: Ejemplo: C.
·
Lenguajes de propósito específico: Hechos para un
objetivo muy concreto. Ejemplo: Csound (para crear ficheros de
audio).
·
Lenguajes de programación de sistemas: Diseñados
para realizar sistemas operativos o drivers. Ejemplo: C.
·
Lenguajes de script: Para realizar tareas varias
de control y auxiliares. Antiguamente eran los llamados lenguajes de procesamiento
por lotes (batch) o JCL (“Job Control
Languages”). Se subdividen en varias clases (de shell, de GUI, de programación
web, etc.). Ejemplos: bash (shell), mIRC script, JavaScript (programación web).
3. Evolución histórica.
Con el paso del tiempo, se va incrementando el nivel
de abstracción, pero en la práctica, los de una generación no terminan de
sustituir a los de la anterior:
·
Lenguajes de primera generación (1GL): Código
máquina.
·
Lenguajes de segunda generación (2GL): Lenguajes
ensamblador.
·
Lenguajes de tercera generación (3GL): La mayoría
de los lenguajes modernos, diseñados para facilitar la programación a los
humanos. Ejemplos: C, Java.
·
Lenguajes de cuarta generación (4GL): Diseñados
con un propósito concreto, o sea, para abordar un tipo concreto de problemas.
Ejemplos: NATURAL, Mathematica.
·
Lenguajes de quinta generación (5GL): La intención es que el programador establezca el qué problema ha
de ser resuelto y las condiciones a reunir, y la máquina lo resuelve. Se usan
en inteligencia artificial. Ejemplo: Prolog.
4. Manera de ejecutarse.
Según la manera de ejecutarse:
·
Lenguajes compilados:
·
Lenguajes interpretados:
·
También los hay mixtos,
5. Manera de abordar la tarea a realizar.
Según la manera de abordar la tarea a realizar,
pueden ser:
·
Lenguajes imperativos: Indican cómo hay que hacer
la tarea, es decir, expresan los pasos a realizar. Ejemplo: C.
·
Lenguajes declarativos: Indican qué hay que hacer.
Ejemplos: Lisp, Prolog. Otros ejemplos de lenguajes declarativos, pero que no
son lenguajes de programación, son HTML (para describir páginas web) o SQL (para consultar bases
de datos).
6. Paradigma de programación.
El paradigma de
programación es el estilo de programación empleado. Algunos lenguajes
soportan varios paradigmas, y otros sólo uno. Se puede decir que históricamente
han ido apareciendo para facilitar la tarea de programar según el tipo de
problema a abordar, o para facilitar el mantenimiento del software, o por otra
cuestión similar, por lo que todos corresponden a lenguajes de alto nivel (o
nivel medio), estando los lenguajes ensambladores “atados” a la arquitectura de
su procesador correspondiente. Los principales son:
·
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.
·
Lenguajes de programación orientada a objetos:
Crean un sistema de clases y objetos siguiendo el ejemplo del mundo real, en el
que unos objetos realizan acciones y se comunican con otros objetos. Ejemplos: C++, Java.
·
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.
Hay muchos paradigmas de programación:
Programación genérica, programación reflexiva, programación orientada a
procesos, etc.
7. Lugar de ejecución.
En sistemas distribuidos, según dónde se
ejecute:
·
Lenguajes de servidor: Se ejecutan en el servidor.
Ejemplo: PHP es el más utilizado en
servidores web.
·
Lenguajes de cliente: Se ejecutan en el cliente.
Ejemplo: JavaScript en navegadores web.
Fuentes:
ENTORNOS DE DESARROLLO. CFGS CASADO IGLESIAS, CARLOS, 2012
, 978-84-9964-169-0 RA-MA EDITORIAL
ENTORNOS DE DESARROLLO (En papel)
ALICIA RAMOS MARTIN , GARCETA GRUPO EDITORIAL, 2014
ISBN 9788415452973
No hay comentarios:
Publicar un comentario