CLASIFICACIÓN DE LENGUAJES DE PROGRAMACIÓN

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
CLASIFICACIÓN DE LENGUAJES DE PROGRAMACIÓN por Mind Map: CLASIFICACIÓN DE LENGUAJES DE PROGRAMACIÓN

1. 11. Determinismo

1.1. Según se pueda predecir o no el siguiente estado del programa a partir del estado actual

1.1.1. Lenguajes deterministas

1.1.2. Lenguajes probalísticos o no deterministas

1.1.2.1. Sirven para explorar grandes espacios de búsqueda, (como gramáticas), y en la investigación teórica de hipercomputación. Ejemplo: mutt (generador de texto aleatorio).

2. 10. Realización visual

2.1. Lenguajes de programación visual.

2.1.1. El programa se realiza moviendo bloques de construcción de programas (objetos visuales) en un interfaz adecuado para ello.

2.1.1.1. No confundir con entornos de programación visual, como Microsoft Visual Studio y sus lenguajes de programación textuales (como Visual C#). Ejemplo: Mindscript.

2.2. Lenguajes de programación textual

2.2.1. El código del programa se realiza escribiéndolo.

2.2.1.1. Ejemplos: C, Java, Lisp.

3. 9. Interactividad

3.1. Lenguajes orientados a sucesos.

3.1.1. El flujo del programa es controlado por la interacción con el usuario o por mensajes de otros programas/sistema operativo, como editores de texto, interfaces gráficos de usuario (GUI) o kernels.

3.1.1.1. Ejemplo: VisualBasic, lenguajes de programación declarativos.

3.2. Lenguajes no orientados a sucesos

3.2.1. El flujo del programa no depende de sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo más claro (actualizaciones de bases de datos, colas de impresión de documentos, etc.).

3.2.1.1. Ejemplos: Lenguajes de programación imperativos.

4. 8. Concurrencia

4.1. Según admitan o no concurrencia de procesos, esto es, la ejecución simultánea de varios procesos lanzados por el programa.

4.1.1. Lenguajes concurrentes

4.1.1.1. Ejemplo: Ada.

4.1.2. Lenguajes no concurrentes

4.1.2.1. Ejemplo: C.

5. 7. Lugar de ejecución

5.1. Lenguajes de servidor

5.1.1. Se ejecutan en el servidor. Ejemplo: PHP es el más utilizado en servidores web.

5.2. Lenguajes de cliente

5.2.1. Se ejecutan en el cliente. Ejemplo: JavaScript en navegadores web.

6. 6. Paradigma de programación

6.1. El paradigma de programación es el estilo de programación empleado.

6.1.1. Lenguajes de programación procedural

6.1.1.1. 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.1.2. Lenguajes de programación orientada a objetos

6.1.2.1. 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.

6.1.3. Lenguajes de programación funcional

6.1.3.1. La tarea se realiza evaluando funciones, (como en Matemáticas), de manera recursiva. Ejemplo: Lisp.

6.1.4. Lenguajes de programación lógica

6.1.4.1. La tarea a realizar se expresa empleando lógica formal matemática. Expresa qué computar. Ejemplo: Prolog.

7. 5. Manera de abordar la tarea a realizar

7.1. Imperativos

7.1.1. Indican cómo hay que hacer la tarea, es decir, expresan los pasos a realizar. Ejemplo: C.

7.2. Declarativos

7.2.1. 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).

8. 4. Manera de ejecutarse

8.1. Lenguajes compilados

8.1.1. Un programa traductor traduce el código del programa (código fuente) en código máquina (código objeto). Otro programa, el enlazador, unirá los ficheros de código objeto del programa principal con los de las librerías para producir el programa ejecutable. Ejemplo: C.

8.2. Lenguajes interpretados

8.2.1. Un programa (intérprete), ejecuta las instrucciones del programa de manera directa. Ejemplo: Lisp.

8.3. Mixtos

8.3.1. También los hay mixtos, como Java, que primero pasan por una fase de compilación en la que el código fuente se transforma en “bytecode”, y este “bytecode” puede ser ejecutado luego (interpretado) en ordenadores con distintas arquitecturas (procesadores) que tengan todos instalados la misma “máquina virtual” Java.

9. 3. Evolución histórica

9.1. Primera Generación

9.1.1. Código máquina.

9.2. Segunda Generación

9.2.1. Lenguajes ensamblador.

9.3. Tercera Generación

9.3.1. La mayoría de los lenguajes modernos, diseñados para facilitar la programación a los humanos. Ejemplos: C, Java.

9.4. Cuarta generación

9.4.1. Diseñados con un propósito concreto, o sea, para abordar un tipo concreto de problemas. Ejemplos: NATURAL, Mathematica.

9.5. Quinta generación

9.5.1. 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.

10. 2. Propósito

10.1. Lenguajes de propósito general

10.1.1. Aptos para todo tipo de tareas: Ejemplo: C.

10.2. Lenguajes de propósito específico

10.2.1. Hechos para un objetivo muy concreto. Ejemplo: Csound (para crear ficheros de audio).

10.3. Lenguajes de programación de sistemas

10.3.1. Diseñados para realizar sistemas operativos o drivers. Ejemplo: C.

10.4. Lenguajes de Script

10.4.1. Para realizar tareas varias de control y auxiliares.

10.4.1.1. Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch) o JCL (“Job Control Languages”).

10.4.1.1.1. Se subdividen en varias clases (de shell, de GUI, de programación web, etc.). Ejemplos: bash (shell). mIRC script, JavaScript (programación web).

11. 1. Nivel de abstracción

11.1. Bajo Nivel

11.1.1. La programación se realiza teniendo muy en cuenta las características del procesador.

11.1.1.1. Lenguajes ensamblador.

11.2. Nivel Medio

11.2.1. Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel.

11.2.1.1. LENGUAJE C

11.3. Alto nivel

11.3.1. 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

11.3.1.1. JAVA y Ruby

12. Productividad.

12.1. Según se caractericen por tener virtudes útiles o productivas, u oscuras y enrevesadas

12.1.1. Lenguajes útiles o productivos

12.1.1.1. Sus virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc., motiva que sean utilizados en empresas, administraciones públicas y/o en la enseñanza.

12.1.1.1.1. Ejemplos: Cualquier lenguaje de uso habitual (C, Java, C++, Lisp, Python, Ruby).

12.1.2. Lenguajes esotéricos o exóticos

12.1.2.1. Inventados con la intención de ser los más raros, oscuros, difíciles, simples y/o retorcidos de los lenguajes, para diversión y entretenimiento de frikis programadores.

12.1.2.1.1. A veces exploran nuevas ideas en programación. Ejemplo: Brainfuck.

13. Es un lenguaje inventado para controlar una máquina.