Discusión:Paradigma de programación

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

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.


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 ?


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


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___


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

La OOP no es necesariamente mejor que otros paradigmas[editar]

Voy a modificar este párrafo:

Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la programación orientada a objetos.

Esta afirmación da a entender que el paradigma OO es independiente de otros paradigmas y el hecho es que usar OOP implica usar automaticamente al menos dos paradigmas que conozco: el de Programación Estructurada y Programación Modular.

Se debe recordar que estos 3 paradigmas se complementan y fueron resultado de la evolución, por lo que cuando se programa con el paradigma Modular se usan las tecnicas de la programacion estructurada y cuando se programa OO se usan las técnicas de la programación modular.

La Programación orientada objetos tampoco es la más usada[editar]

En todo caso, la imperativa o la procedimental, pero como ya se ha dicho generalmente se usa una mezcla de paradigmas. No creo que la mayoría de la gente use Ruby o algún otro lenguaje orientado puramente a objetos.