🖥️ Lenguajes de Programación y Desarrollo de Software – Guía Completa y Actualizada
📌 Introducción
Los lenguajes de programación son el puente entre las ideas humanas y las máquinas. A lo largo de la historia, han evolucionado desde el lenguaje máquina puro hasta potentes lenguajes orientados a objetos y funcionales.
En esta guía visual conocerás sus generaciones, paradigmas, tipos, y las claves para entender su uso en el desarrollo de software moderno.
🏛️ Generaciones de Lenguajes de Programación
| Generación | Características | Ejemplos |
|---|---|---|
| 1ª (Lenguaje Máquina) | Código binario puro, específico del hardware | FORTRAN |
| 2ª (Ensamblador) | Mnemotécnicos y símbolos, traducción directa a binario | ALGOL-60, COBOL, BASIC |
| 3ª (Lenguajes de Alto Nivel) | Sintaxis cercana al humano, portabilidad | C, Pascal, C++, Java |
| 4ª (Lenguajes Declarativos y Especializados) | Orientados a resolver problemas concretos | SQL, Prolog, MATLAB |
| 5ª (Basados en Conocimiento e IA) | Lógica y razonamiento automático | Prolog, LISP, Python IA libs |
🧭 Clasificación por Paradigmas
1️⃣ Imperativos / Por Procedimientos
- Secuencia de instrucciones paso a paso.
- Control total del flujo.
- Ejemplos: C, Pascal, COBOL.
2️⃣ Declarativos
- Indican qué se quiere, no cómo hacerlo.
- Incluye programación lógica y funcional.
- Ejemplos: SQL, Prolog, Haskell.
3️⃣ Orientados a Objetos (POO)
- Basado en objetos que contienen datos y métodos.
- Encapsulación, herencia y polimorfismo.
- Ejemplos: Java, C++, Python, C#.
4️⃣ Programación Funcional
- Basada en funciones matemáticas.
- Evita estados y datos mutables.
- Ejemplos: Lisp, Elixir, F#.
5️⃣ Dirigida por Eventos
- El flujo depende de eventos externos.
- Usada en interfaces gráficas y videojuegos.
- Ejemplos: JavaScript, C#, Visual Basic .NET.
🧩 Tipos y Traducción de Lenguajes
| Tipo | Descripción | Ejemplos |
|---|---|---|
| Compilado | Traduce todo el código a lenguaje máquina antes de ejecutarlo. | C, C++, Go |
| Interpretado | Traduce línea por línea en tiempo real. | Python, JavaScript |
| Mixto | Compilado a bytecode y luego interpretado/ejecutado. | Java, C# |
🛠️ Aspectos Clave en Desarrollo de Software
🔗 Acoplamiento
- Bajo acoplamiento = mayor independencia entre módulos (más deseable).
- Tipos: Normal, Datos, Control, Externo, Común, Contenido.
🧬 Cohesión
- Alta cohesión = módulos que cumplen una única función de forma clara.
- Tipos: Funcional, Secuencial, Comunicacional, Procedimental, Temporal, Lógica, Casual.
📊 Representación de Datos
- Estructuras internas: Arrays, listas.
- Estructuras externas: Archivos, BBDD.
- Tipos básicos: Enteros, flotantes, caracteres, booleanos.
- Tipificación:
- Fuerte: Control estricto (Java, C#).
- Débil: Conversión implícita (JavaScript, PHP).
🧪 Pruebas de Software
- Caja Blanca: Analiza el código.
- Caja Negra: Evalúa entradas/salidas.
- Caja Gris: Mezcla de ambas.
- Etapas: Unitarias → Integración → Aceptación (Alpha/Beta) → Validación.
📌 Características Deseables en un Lenguaje
- Legible, flexible, portable, eficaz.
- Seguridad y tipado fuerte.
- Facilidad de mantenimiento.
- Soporte multiplataforma.
- Comunidad activa.


Replica a Píldoras TAI de Anacrolibrum – Anacrolibrum Cancelar la respuesta