Construyen modelos de objetos
que representan elementos
(objetos) del problema a resolver,
que tienen características y
funciones
Lenguajes
Java, Python o C#
Sirve de diferentes conceptos
Polimorfismo
Eventos
Abstracción de datos
Herencia
Modularidad
Encapsulación
Que es?
Propuesta tecnológica adoptada por una
comunidad de programadores, se trata de
un conjunto de métodos sistemáticos que
trata de resolver uno o varios problemas
claramente delimitados.
Programación Declarativo
No necesita definir algoritmos
puesto que describe el problema en
lugar de encontrar una solución al
mismo.
Se divide en dos
Programación Lógica
Expresa los objetivos como una
colección de afirmaciones o reglas
acerca de los resultados y
restricciones en lógica matemática.
Lenguaje
Prolog
Programación Funcional
Todos los elementos pueden
entenderse como funciones y el
código puede ejecutarse
mediante llamadas de función
secuenciales.
Lenguajes
Lisp,
Scala,
Java,
Kotlin
Ventajas
Los programas no tienen estados
Fácil de combinar con la
programación imperativa y
orientada a objetos
Código más preciso y más corto
Inconvenientes
No se permite el acceso eficiente a
grandes cantidades de datos
No se recomienda para
conexiones a bases de datos y
servidores
No se permite el acceso
eficiente a grandes cantidades
de datos
Programación Imperativa
Sucesión de instrucciones o
conjunto de sentencias
Enfoques subordinados
Programación procedimental
Basarse en un número
muy bajo de expresiones repetidas,
englobarlas todas en un
procedimiento o función y llamarlo
cada vez que tenga que ejecutarse.
Programación modular
Dividir un programa en módulos o
subprogramas con el fin de hacerlo
más manejable y legible
Programación estructurada
El flujo de control se define
mediante bucles anidados,
condicionales y subrutinas, en lugar
de a través de GOTO.