Fundamentos de los Paradigmas de Programación y Conceptos de Ingeniería de Software

Clasificado en Informática

Escrito el en español con un tamaño de 19,35 KB

Pilares de los Paradigmas de Programación

Identifique los pilares (características clave) de los paradigmas imperativo, lógico, funcional y orientado a objetos.

Paradigma Imperativo

  • Manejo de estado: Se basa en el cambio de valores de las variables.
  • Estructura: Un programa se define como una secuencia de asignaciones.
  • Cómputo: Se entiende como una secuencia de estados sucesivos.
  • Sentencias fundamentales: Deben poseer los cuatro tipos básicos de sentencias: asignaciones, ciclos, bifurcaciones condicionales y bifurcaciones incondicionales.

Paradigma Lógico

  • Base: Conjunto de valores, definiciones de relaciones e inferencias lógicas.
  • Estructura: Un programa es una definición de relaciones.
  • Cómputo: Se define como una prueba o una secuencia de inferencias lógicas.
  • Elementos clave: Hechos, reglas, variables y consultas.

Paradigma Funcional

  • Base: Conjunto de valores, funciones y las operaciones de aplicación y composición de funciones.
  • Funciones de primera clase: Las funciones pueden tomar como argumentos otras funciones y devolverlas como resultados.
  • Estructura: Un programa es una colección de definiciones de funciones.
  • Cómputo: Es la evaluación de una expresión (función con sus argumentos).
  • Características avanzadas: Funciones de orden superior, inferencia estática de tipos, polimorfismo, orden de reducción normal y evaluación perezosa (lazy evaluation).

Paradigma Orientado a Objetos (POO)

Sus pilares fundamentales son:

  • Identificación
  • Clasificación
  • Herencia
  • Encapsulamiento
  • Polimorfismo

Conceptos Fundamentales de Desarrollo

Tipado Fuerte

  • Detección de errores: Se realiza principalmente en tiempo de ejecución.
  • Flexibilidad: El programador no está obligado a declarar explícitamente el tipo de las expresiones.
  • Inferencia: El intérprete, mediante un algoritmo, infiere el tipo de las expresiones.
  • Verificación: Si se declara el tipo de expresión, el intérprete lo chequea rigurosamente.

Unificación y Programación Secuencial

  • Unificación: Se refiere a la ligación de variables.
  • Programación imperativa secuencial: Solo se pueden ejecutar instrucciones secuenciales basadas en la arquitectura de Von Neumann.

Elementos de la Estructura de Software

  • Clase: Define las propiedades y el comportamiento de un tipo de objeto concreto.
  • Objeto: Es una instancia específica de una clase.
  • Actores: Representan los roles interactivos que algún usuario (persona o sistema) tiene con nuestro sistema.

API (Application Programming Interface)

Ejemplos comunes incluyen Swing, AWT, java.io, java.lang, entre otros. Una API es una amplia colección de componentes de software listos para usar. Está agrupada en bibliotecas de clases e interfaces relacionadas denominadas packages (paquetes).

Diferencias de la POO con otros Paradigmas

poo

Máquina Virtual (JVM)

El proceso de ejecución en entornos como Java sigue estos pasos:

  1. El compilador analiza la sintaxis del código fuente con extensión .java.
  2. Si no existen errores, genera los bytecodes.
  3. Estos bytecodes son finalmente ejecutados por la Máquina Virtual (JVM).

Entradas relacionadas: