Lenguajes de Programación

马上开始. 它是免费的哦
注册 使用您的电邮地址
Lenguajes de Programación 作者: Mind Map: Lenguajes de Programación

1. Importancia de estudiar diferentes lenguajes

1.1. Mejora habilidades algorítmicas

1.1.1. Al comprender diversos lenguajes, los desarrolladores pueden crear mejores algoritmos.

1.2. Incremento del vocabulario

1.2.1. Cada lenguaje ofrece una forma diferente de pensar y expresarse.

1.3. Facilita aprender nuevos lenguajes

1.3.1. Al conocer la estructura de varios lenguajes, se reduce la curva de aprendizaje.

1.4. Abstracción

1.4.1. Estudiar varios lenguajes fomenta la habilidad de abstraer los problemas y pensar en soluciones generales.

2. Atributos de un buen lenguaje

2.1. Claridad y sencillez

2.1.1. El lenguaje debe ser fácil de leer y escribir.

2.2. Ortogonalidad

2.2.1. La capacidad de combinar características sin introducir ambigüedades.

2.3. Naturalidad para la aplicación

2.3.1. La estructura del lenguaje debe coincidir con la lógica del algoritmo que se está implementando.

2.4. Facilidad para verificar programas

2.4.1. Debe ser sencillo depurar y probar los programas escritos en el lenguaje.

2.5. Apoyo para la abstracción

2.5.1. Debe facilitar la creación de abstracciones (ejemplo: clases en programación orientada a objetos).

3. Dominios de aplicación

3.1. Cliente-servidor

3.1.1. Usado para aplicaciones que tienen una parte que se ejecuta en un servidor y otra en un cliente (ejemplo: aplicaciones web).

3.2. Web

3.2.1. Lenguajes como JavaScript, PHP, y HTML son ampliamente usados para desarrollar sitios web interactivos.

3.3. Embebidos

3.3.1. Lenguajes como C se utilizan en sistemas que requieren alta eficiencia y control de hardware, como en electrodomésticos o automóviles.

3.4. Gráficos y visuales

3.4.1. Lenguajes como Processing o frameworks como Unity/C# para desarrollar aplicaciones gráficas o juegos.

4. ¿Qué son los lenguajes de programación?

4.1. Son conjuntos de reglas, instrucciones y normas que permiten a los humanos comunicarse con las computadoras.

4.2. Propósito

4.2.1. Facilitar la creación de software, su mantenimiento, y la colaboración entre desarrolladores.

5. Clasificación de los lenguajes de programación

5.1. Nivel de abstracción

5.1.1. Lenguajes de bajo nivel

5.1.1.1. Cerca del hardware, como el ensamblador.

5.1.2. Lenguajes de nivel medio

5.1.2.1. Ejemplos como C, que combinan características de bajo y alto nivel.

5.1.3. Lenguajes de alto nivel

5.1.3.1. Se abstraen del hardware, siendo más cercanos al lenguaje humano (Java, Ruby).

5.2. Propósito

5.2.1. General

5.2.1.1. Aptos para una variedad de aplicaciones (C, Python).

5.2.2. Específico

5.2.2.1. Diseñados para tareas concretas (Csound, SQL).

5.3. Evolución histórica

5.3.1. 1GL a 5GL

5.3.1.1. Desde el código máquina (1GL) hasta lenguajes de inteligencia artificial (5GL como Prolog).

5.4. Manera de ejecutarse

5.4.1. Compilados

5.4.1.1. Traducidos a código máquina antes de su ejecución (C).

5.4.2. Interpretados

5.4.2.1. Ejecutados directamente por un intérprete (Python, Lisp).

5.4.3. Mixtos

5.4.3.1. Combinan compilación e interpretación, como Java.

5.5. Manera de abordar la tarea

5.5.1. Imperativos

5.5.1.1. Especifican cómo realizar una tarea (C).

5.5.2. Declarativos

5.5.2.1. Describen qué hacer sin especificar cómo (Prolog, SQL).

5.6. Lugar de ejecución

5.6.1. Servidor

5.6.1.1. Ejecución en el servidor, responsable de la lógica (PHP).

5.6.2. Cliente

5.6.2.1. En el navegador o entorno de usuario (JavaScript).

5.7. Concurrencia

5.7.1. Concurrentes

5.7.1.1. Ejecutan múltiples tareas simultáneamente (Ada).

5.7.2. No concurrentes

5.7.2.1. Ejecutan una tarea a la vez (BASIC).

5.8. Interactividad

5.8.1. Orientados a sucesos

5.8.1.1. Responden a interacciones del usuario o eventos del sistema (Visual Basic).

5.8.2. No orientados a sucesos

5.8.2.1. Ejecución secuencial, predefinida (Batch).

5.9. Realización visual

5.9.1. Visuales

5.9.1.1. Programación arrastrando bloques visuales (Scratch).

5.9.2. Textuales

5.9.2.1. Escrito en código textual (C, Java).

5.10. Productividad

5.10.1. Útiles/productivos

5.10.1.1. Comunes y ampliamente usados (C, Java, Python).

5.10.2. Esotéricos/exóticos

5.10.2.1. Lenguajes creados por diversión o para explorar ideas raras (Brainfuck).