Discusión:Paradigma de programación

message: No debería llamarse: Metodologías de programación, ya que paradigma se refiere a proceso y en este caso (informática), a modelos de procesos.

message: Quisiera proponer una definición lo más precisa posible que fuese compatible entre la de la RAE y el concepto que subyace en casi todos los programadores :
"Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo nucleo central es incuestionable en cuanto a que univocamente trata de resolver uno o varios problemas claramente delimitados. La resolución de estos problemas debe suponer consecuentemente un avance significativo en almenos un parámetro que afecte a la ingeniería de software."
Si mirais la definicion de la RAE habla de teoría aceptada que resuelve problemas, sin embargo lo de teoría no va con la programación porque es especulativa y paradigmas como la OOP ya lleva muchos años implantadas y demostradas.
Se puede poner un ejemplo a la definición, quizas la OOP que es la que más se usa, describiendo porque se adoptó el concepto de objeto y su parecido con el mundo real.
¿ Que os parece ?

message: Bueno, yo me tome la libertad de quitar la frase "es algo que tiene que ver con belinda y giovanni dos santos" porque alguna persona decidio que era bastante gracioso ponerlo.. deberian estar mas atentos a como la gente altera los articulos... 
Bueno yo se mucho sobre el tema de paradigmas, pero sinceramente opino que la programación funcional y la lógica deberían estar recogidas sobre el mismo paradigma.
Por lo que yo se el paradigma declarativo es el opuesto al imperativo. Ambos son opuestos ya que el declarativo se basa en declaraciónes de datos y entidades , el mecanismo de computación suele ser fijo, mientras que el paradigma imperativo el mecanismo de computación sobre ciertos datos a de ser dado. Dicho de otra forma en la programación declarativa, no se debe decir (y de hecho no se dice) como han de ser procesados los distintos datos. Tanto programación funcional como programación lógica sigen esta filosofia (declaración de datos, mecanismo de procesado fijo). En la programación imperativa, en cambio se han de dar ordenes para indicar como se procesan los datos (supongo que es por eso que se la llama imperativa). El tercer y último paradigma que aparece sería el orientado a objetos, que en mi opinión amalgama lo mejor de los dos anteriores, al introducir el concepto de objeto como idea central.
En el fondo es logico pensar que haya 3 paradigmas de programación, ya que son 3 las principales fuerzas que modelan la computación. Estos son datos, procesos y procesador. El paradigma declarativo se decanta por pensar en los datos como aquello verdaderamente importante, el paradigma imperativo en cambio lo haria por los procesos (de hay el diseño decendente y la función principal o cima), por último el orientado a objeto encapsula datos y procesos como un algo (objeto) inseparable, por lo que es el procesador lo verdaderamente importante (es mas un objeto se podría ver como un procesador de nivel de abstración superior y mas específico a cierta area del problema. ¿Alguien conoce de un procesador que no tenga al menos registros de estado y instrucciones de procesamiento sobre estos?). APG

message: No entiendo porque unicamente se habla de ejemplos y de las ventajas de la OOP. Voy a borrar ese trozo. Usuario: Coso___
---
He sintetizado y formalizado el párrafo donde se hablaba de las ventajas de la OOP. Coso___

message: La programación lógica y la programación funcional son cosas distintas. La programación declarativa no es lo opuesto a la programación imperativa, es lo opuesto a la programación procedimental. Los lenguajes orientados a objetos suelen ser imperativos y procedimentales, aunque también los hay funcionales e incluso declarativos y lógicos. El concepto de objeto no es más que la mezcla y confusión de dos de los conceptos claves de la programación imperativa: valor y variable.
Usuario: Alfredo Novoa