Want to make creations as awesome as this one?

Transcript

Paradigmas de programación

Programación Procedural

Programación Estructurada

Evitar el uso de "goto" para seguir una serie de instrucciones en secuencia.

Programación Orientada a Objetos

Premisa

Características

Haz click en los cuadros con el signo "+" para conocer más detalles

Utilizaba estructuras de control, entradas/salidas, manejo de errores, excepciones y estructuras de datos.

El código se agrupa en procedimientos a través de un sistema de pilas.

El programa se compone de procedimientos los cuales interactúan entre sí.

Los objetos de la vida real pueden ser representados en código, con sus características y comportamientos.

Los objetos son un molde para crear instancias con cualidades y comportamientos únicos o compartidos.

+

+

+

+

+

+

+

+

Algunos lenguajes

FortranPascalCobolAdaC

FortranALGOLCOBOLBasic

SimulaJavaC++PythonPHP

Programación Funcional

Las funciones son ciudadanas de primera clase y busca reducir los efectos colaterales.

La recursividad y funciones de alto orden son prioridad para resolver problemas.

LispSchemeClojureErlangHaskellF#

Programación Lógica

Expresa los objetivos como reglas acerca de los resultados en lógica matemática.

Hace uso de Cláusulas de Horn para evaluar predicados y definir si son verdaderos o falsos.

PrologALFFrilVisual PrologMercury

Programación Dirigida por Eventos

No controla la secuencia de ejecuciones, sino que reacciona a sucesos ocurridos.

Son programas que corren indefinidamente, cambia su estado según los eventos que detecta.

JavaJavaScriptC#Python

La sentencia "goto" indicaba ir de una línea del código a otra para seguir las instrucciones. Esto era poco práctico y generaba código espagueti. Por ejemplo, ir de la línea 20 a la 517 y después a la 398.

El uso de estructuras estructuras de control cómo for, while y do while, junto a las condicionales if-else contribuyó enormemente a tener código consistente ¿ya tomaste el Curso de Programación Estructurada? Ejemplo de un diagrama con estructuras de control y condicionales:

Hay un procedimiento principal el cual puede llamar a otros procedimientos para ejecutar su código interno y luego regresar al principal. Esto guarda una estrecha relación a la Programación Orientada a Objetos.

Los objetos como tal son un molde o base de los cuales se derivan clases/instancias. Estas a su vez tienen propiedades (características) y métodos (comportamientos).

Los pilares de la P.O.O. son:

  • Herencia.
  • Encapsulamiento.
  • Abstracción.
  • Polimorfismo

Al decir que las funciones son ciudadanas de primera clase nos referimos a que pueden ser tratadas como variables y en cualquier parte del código.

Una Cláusula de Horn se compone de un hecho y diversos predicados que al evaluarlos obtenemos un valor discreto (falso o verdadero): h ← p1, p2,… pn Ejemplo: nevando(C) ← lluvia(C), frío(C) Es verdadero que está nevando en la ciudad “C” si es cierto que llueve y hace frío simultáneamente.

Los eventos pueden venir de resultados del mismo código (perder todas las vidas en un videojuego) o dispositivos externos (clicks, teclas, sensores, etc.). Podemos ver este paradigma en interfaces de usuario, aplicaciones web, sistemas de booking, sistemas de alarmas y videojuegos.