Professional Documents
Culture Documents
Realizado por:
Rafael Vallenilla 15.992.324
Guillermo Uzcàtegui 16.551.294
Gilberto Mijarez 12.565.648
David Mieres 12.564.158
• C
• C#
• C++
• Fortran
• Pascal
• Java
• Perl
• PHP
• Lua
Paradigma Funcional
La Programación funcional es un paradigma de programación declarativa basado
en la utilización de funciones matemáticas.
Utilidad
El objetivo del paradigma funcional es conseguir lenguajes expresivos y
matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina
para describir el proceso llevado a cabo por el programa, y evitando el concepto de
estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se
regiría única y exclusivamente por la reescritura de definiciones más amplias a otras
cada vez más concretas y definidas, usando lo que se denominan definiciones dirigidas.
Todo esto con el objetivo de familiarizar a los estudiantes con un lenguaje
elegante en el cual se pueda manejar más fácilmente y así los programas sean menos
extensos y complejos.
Otro de los objetivos primordiales de dicho paradigma es buscar satisfacer las
necesidades del usuario con respecto a operaciones matemáticas y convertirse en un
lenguaje más expresivo.
Características
Los programas escritos en un lenguaje funcional están constituidos únicamente
por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un
lenguaje imperativo, sino como funciones puramente matemáticas, en las que se
verifican ciertas propiedades como la transparencia referencial (el significado de una
expresión depende únicamente del significado de sus subexpresiones), y por tanto, la
carencia total de efectos laterales.
Lenguajes Funcionales
Entre los lenguajes funcionales puros, cabe destacar a Haskell y Miranda. Los
lenguajes funcionales híbridos más conocidos son Scala, Lisp, Scheme, Ocaml, SAP y
Standard ML (estos dos últimos, descendientes del lenguaje ML). Erlang es otro
lenguaje funcional de programación concurrente. R también es un lenguaje funcional
dedicado a la estadística.[1] Recientemente Microsoft Research está trabajando en el
lenguaje F# (Functional#).
Entre otros lenguajes que se podrían utilizar para programación funcional se
podrían incluir a Perl, pues, aunque es un lenguaje de propósito muy general, se pueden
realizar programas usando exclusivamente funciones definidas por el usuario. Así como
Python, como lenguaje que incorpora el paradigma funcional.
Paradigma Lógico
La programación lógica consiste en la aplicación del corpus de conocimiento
sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la
disciplina de la lógica computacional.
La programación lógica comprende dos paradigmas de programación: la
programación declarativa y la programación funcional. La programación declarativa
gira en torno al concepto de predicado, o relación entre elementos. 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.
• Evento: Un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. También se puede definir
como evento, a la reacción que puede desencadenar un objeto, es decir la acción
que genera.
• Estado interno: Es una variable que se declara privada, que puede ser
únicamente accedida y alterada por un método del objeto, y que se utiliza para
indicar distintas situaciones posibles para el objeto (o clase de objetos). No es
visible al programador que maneja una instancia de la clase.
• Herencia: Las clases no están aisladas, sino que se relacionan entre sí,
formando una jerarquía de clasificación. Los objetos heredan las propiedades y
el comportamiento de todas las clases a las que pertenecen. La herencia organiza
y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser
definidos y creados como tipos especializados de objetos preexistentes. Estos
pueden compartir (y extender) su comportamiento sin tener que volver a
implementarlo. Esto suele hacerse habitualmente agrupando los objetos en
clases y estas en árboles o enrejados que reflejan un comportamiento común.
Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.
• ABAP
• ABL Lenguaje de programación de OpenEdge de Progress Software
• ActionScript
• ActionScript 3
• Ada
• C++
• C#
• Clarion
• D
• Object Pascal (Delphi)
• Flex builder (adobe)
• Gambas
• Harbour
• Eiffel
• Java
• JavaScript (la herencia se realiza por medio de la programación basada en
prototipos)
• Léxico (en castellano)
• Objective-C
• Ocaml
• Oz
• R
• Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede
modificarse al algoritmo C3 por medio del módulo Class::C3 en CPAN)
• PHP (en su versión 5)
• Python
• Ruby
• Smalltalk (Proyecto investigativo. Influenció a Java.)
• Magik (SmallWorld)
• Vala
• VB.NET
• Visual FoxPro (en su versión 6)
• Visual Basic 6.0
• XBase++
• Lenguaje DRP
Paradigma Operacional
Los lenguajes que siguen este paradigma especifican la programación como un
conjunto de secuencias computacionales que se ejecutan paso a paso.
Los lenguajes orientados a objetos son la evolución natural de los lenguajes que
siguen el paradigma imperativo. Se podría decir, que el modulo o tipo abstracto
evoluciona al concepto de objeto.
Algunos lenguajes que siguen este paradigma serían el Smalltalk, Eiffel, C++,
Java u Object Pascal.
Paradigma Demostrativo
En los lenguajes que siguen el paradigma demostrativo no es necesario
especificar las operaciones que se deben ejecutar paso a paso para obtener la solución,
ni tampoco es necesario especificar un conjunto de restricciones que debe cumplir el
conjunto de valores que constituyen la solución.