Es un paradigma de programación
que viene a innovar la forma de
obtener resultados. Los objetos
manipulan los datos de entrada para
la obtención de datos de salida
específicos, donde cada objeto ofrece
una funcionalidad especial.
Se basa en varias técnicas:
herencia, cohesión,
abstracción, polimorfismo,
acoplamiento y
encapsulamiento.
Ventajas: POO hace
que sea fácil de mantener y modificar código existente como
nuevos objetos, pueden ser creados con pequeñas diferencias
existentes. La POO proporciona un buen marco para
bibliotecas de código, donde suministra componentes de
software, puede ser fácilmente adaptado y modificado por el
programador. Esto es especialmente útil para desarrollar
interfaces gráficas de usuario.
Desventajas:El mayor
inconveniente de POO en términos
generales de simulación
programación es probablemente
que el mundo real se niega a
dividirse en clases y subclases.
El problema de si la programación
es que a veces varios objetos
interactúan de manera compleja -
tal vez incluso maneras nosotros
no necesariamente anticiparse al
escribir el programa.
Paradigma basado en procedimientos
Es un paradigma de la programación. Muchas veces
es aplicable tanto en lenguajes de programación de
bajo nivel como en lenguajes de alto nivel. En el
caso de que esta técnica se aplique en lenguajes de
alto nivel, recibirá el nombre de programación
funcional. Esta técnica consiste en basarse de un
número muy bajo de expresiones repetidas,
englobarlas todas en un procedimiento o función y
llamarlo cada vez que tenga que ejecutarse.
Ventajas: Está escrito en un paso a paso la
función, pequeños programas escritos de esta
forma son muy fáciles de seguir. Fácil de
mantener, como cada procedimiento/función
puede depurarse en forma aislada del resto,
permitiendo para facilitar el aislamiento de los
problemas, en contraste con la POO, que a
menudo puede tomar mucho tiempo para
encontrar el código del problema. Dado que
está escrito para un propósito muy específico
del código a menudo obtiene usted
extremadamente eficiente y aplicaciones de
alto rendimiento.
Desventajas:Procedimiento de
codificación tiende a ponerse muy difícil
mantener el mayor el código obtiene.
Cuando las líneas de código necesario
iniciar acaben en los miles, es muy difícil
para un grupo de personas, o incluso a
una persona a mantener. A diferencia de
OOP, porciones del código son tan
interdependientes que el código en una
aplicación no será utilizable en otro, es
decir, a pesar de ser algo similar al
código de un programa no podrá ser
llevado a una nueva, que OOP puede
hacer. Código Procesal es difícil
relacionar con los objetos del mundo
real.
Funcional
La programación funcional es un
estilo de programación cuyo método
básico de computación es la
aplicación de funciones a sus
argumentos. Un lenguaje de
programación funcional es uno que
soporta y potencia el estilo
funcional.
Ventajas: Fácil de razonar acerca
de los subprogramas. Un
subprograma de función se
describe completamente por lo
que entra y lo que sale. La
mayoría de los lenguajes
funcionales proporcionan una
agradable, medio ambiente
protegido. Alienta prototipos
rápidos.
Desventajas: En general más difíciles de
recoger para nuevos programadores.
Suelen hacer
mucha inversión de control o pereza,
que a menudo tiene un impacto
negativo sobre la depuración. No
coincide con el hardware, así como la
mayoría de los lenguajes imperativos.
Lógica de programación
Es un tipo de paradigmas de programación
dentro del paradigma de programación
declarativa. El resto de los subparadigmas de
programación dentro de la programación
declarativa son: programación funcional,
programación con restricciones, programas
DSL (de dominio específico) e híbridos. La
programación funcional se basa en el
concepto de función (que no es más que una
evolución de los predicados), de corte más
matemático. La programación lógica gira en
torno al concepto de predicado, o relación
entre elementos.
Desventajas:Métodos de hacer
grandes programas con
programación lógica todavía no se
han desarrollado. Ha demostrado
ser altamente ineficiente. Sólo es
eficaz para algunas áreas
relativamente pequeñas de
aplicaciones, cierto tipo de sistemas
de gestión de bases de datos y
algunas áreas de la IA.
Ventajas:Es muy adecuado para expresar ideas
complejas porque la monotonía de la gestión
de memoria, pila de punteros, etc., se deja al
motor computacional. Permite que los datos
que representen tanto explícitamente un
hecho y como una regla, en el que
implícitamente se describe el hecho y
representa muchos hechos de forma
compacta. La lógica de los lenguajes de
programación es especialmente adecuada para
crear rápidamente prototipos de estructuras
de datos y código para expresar ideas
complejas. Reducir la monotonía y compacto
expresión significa que el programador puede
concentrarse en lo que deben estar
representados y cómo.