sábado, 19 de octubre de 2013

Paradigmas de los Lenguajes de programacion

Un paradigma de programación provee (y determina) la visión y métodos de un programador  en la construcción de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples “problemas” se construye una aplicación).


Tipos de Paradigmas

  •  Programación Imperativa:  
La programación imperativa, en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.

Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a la programación imperativa; donde cada paso es una instrucción.

Algunos Lenguajes Imperativos: Basic, C, Fortran, BCPL, PHP, Pascal, ABC, B, Lua, Go, etc.

  •  Programación Funcional: 
 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.

Algunos Lenguajes Funcionales: Haskell, Logo, Scala, Miranda, Snobol, lua, etc.

  •  Programación Lógica:
 La programación lógica 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.

 Algunos Lenguajes Lógicos: Prolog, Snobol, CLP, ALF, etc.
  •  Programación Orientada a Objetos: 
La POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
Algunos Lenguajes orientados a objetos: Lua, ABAP, C++, Cobol, Ada, Java, PHP, R, Snobol, BCPL, Ruby, etc. 

jueves, 17 de octubre de 2013

Logo

Logo es un lenguaje de programación de alto nivel, en parte funcional, en parte estructurado; de muy fácil aprendizaje, razón por la cual suele ser el lenguaje de programación preferido para trabajar con niños y jóvenes. Fue diseñado en el año 1967 para fines didácticos por Danny Bobrow, Wally Feurzeig y Seymour Papert, los cuales se basaron en las características del lenguaje Lisp. A pesar de que Logo no fue creado con la finalidad de usarlo para enseñar programación, puede usarse para enseñar la mayoría de los principales conceptos de la programación, ya que proporciona soporte para manejo de listas, archivos y entrada/salida. Logo cuenta con varias versiones.

Papert desarrolló un enfoque basado en su experiencia con Piaget a principios de los sesenta. Fundamentalmente consiste en presentar a los niños retos intelectuales que puedan ser resueltos mediante el desarrollo de programas en Logo. El proceso de revisión manual de los errores contribuye a que el niño desarrolle habilidades metacognitivas al poner en práctica procesos de autocorrección. Es conocido por poder manejar con facilidad gráficas tortuga, listas, archivos y recursividad.

Logo es uno de los pocos lenguajes de programación con instrucciones en español en algunos intérpretes, entre ellos: FMSLogo, LogoWriter, WinLogo, Logo Gráfico, XLogo, MSWLogo y LogoEs. Logo tiene más de 180 intérpretes y compiladores, según constan en el proyecto "Logo Tree"

XLogo, MSWLogo y LogoES tienen la particularidad de ser además software libre.

Tipos de datos

Una característica más explotada de Logo es poder producir gráficos tortuga, es decir, poder en dar instrucciones a una tortuga virtual, un cursor gráfico usado para crear dibujos, que en algunas versiones es un triángulo, en otras tiene la figura de una tortuga vista desde arriba. Esta tortuga o cursor se maneja mediante palabras que representan instrucciones

La característica de que las instrucciones se puedan comprender en las diferentes lenguas es lo que hace al Logo un lenguaje de programación tan fácil de aprender. Una secuencia de instrucciones en Logo puede constituirse en un rudimentario programa, usándose como un bloque. Esta caracterísctica modular y reutilizable de las instrucciones hace que Logo sea muy flexible, recursivo, y apto para trabajarse en forma de módulos.

Otras instrucciones básicas de Logo en español son: -cs: borrar pantalla. -rep (número de veces) [ (acción) (cantidad) ] ej. -repite 4 [ av 100 gd 90 ], esta repetición crea un cuadrado. -st: mostrar tortuga. -ht: ocultar tortuga. -pu: subir lápiz, hace que la tortuga no dibuje mientras camina. -pd: bajar lápiz, hace lo contrario que "-pu" ("sl" en intérpretes en español).


Ruby



Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.

Historia

El lenguaje fue creado por Yukihiro "Matz" Matsumoto, quien empezó a trabajar en Ruby el 24 de febrero de 1993, y lo presentó al público en el año 1995. En el círculo de amigos de Matsumoto se le puso el nombre de "Ruby" (en español rubí) como broma aludiendo al lenguaje de programación "Perl" (perla). La última versión estable de la rama 1.8 es la 1.8.7_p248, de la rama 1.9 es la 1.9.2_p180 . La versión en 1.9 que incorpora mejoras sustanciales en el rendimiento del lenguaje, que se espera queden reflejadas en la próxima versión estable de producción del lenguaje, Ruby 1.9.0.1 Diferencias en rendimiento entre la actual implementación de Ruby (1.8.6) y otros lenguajes de programación más arraigados han llevado al desarrollo de varias máquinas virtuales para Ruby. Entre ésas se encuentra JRuby, un intento de llevar Ruby a la plataforma Java, y Rubinius, un intérprete modelado basado en las máquinas virtuales de Smalltalk. Los principales desarrolladores han apoyado la máquina virtual proporcionada por el proyecto YARV, que se fusionó en el árbol de código fuente de Ruby el 31 de diciembre de 2006, y se dio a conocer como Ruby 1.9


Características


  • Orientado a objetos
  • Cuatro niveles de ámbito de variable: global, clase, instancia y local.
  • Manejo de excepciones
  • iteradores y clausuras o closures (pasando bloques de código)
  • expresiones regulares nativas similares a las de Perl a nivel del lenguaje
  • Posibilidad de redefinir los operadores (sobrecarga de operadores)
  • recolección de basura automática
  • Altamente portable
  • Hilos de ejecución simultáneos en todas las plataformas usando green threads
  • Carga dinámica de DLL/bibliotecas compartidas en la mayoría de las plataformas
  • Introspección, reflexión y metaprogramación
  • Amplia librería estándar
  • Soporta inyección de dependencias
  • Soporta alteración de objetos en tiempo de ejecución
  • continuaciones y generadores
Ruby actualmente no tiene soporte completo de Unicode, a pesar de tener soporte parcial para UTF-8.

COBOL

 
El lenguaje COBOL (COmmon Business-Oriented Language) fue creado en el año 1959 con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier ordenador, ya que en los años 1960 existían numerosos modelos de ordenadores incompatibles entre sí, y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.

Historia 

En la creación de este lenguaje participó la comisión CODASYL, compuesta por fabricantes de ordenadores, usuarios y el Departamento de Defensa de Estados Unidos en mayo de 1959. La definición del lenguaje se completó en poco más de seis meses, siendo aprobada por la comisión en enero de 1960. El lenguaje COBOL fue diseñado inspirándose en el lenguaje Flow-Matic de Grace Hopper y el IBM COMTRAN de Bob Bemer, ya que ambos formaron parte de la comisión.
Gracias a la ayuda de los usuarios COBOL evolucionó rápidamente y fue revisado de 1961 a 1965 para añadirle nuevas funcionalidades. En 1968 salió la primera versión ANSI del lenguaje, siendo revisada posteriormente en 1974 (COBOL ANS-74), 1985 (COBOL ANS-85, ampliado en 1989 con funciones matemáticas, finalizando el estándar actual más usado, conocido como COBOL-ANSI), y en 2002 (COBOL ANS-2002). Desde el año 2007 se viene preparando una nueva revisión del lenguaje.
Además, existe una versión conocida como COBOL ENTERPRISE, actualizada regularmente y lanzada en 1991, usada generalmente en sistemas Host.
En el 2011 se actualizó con Visual COBOL. Existen otras versiones de COBOL como NetCobol de la casa matriz GT Software, al igual que isCOBOL de la casa matriz Veryant.

Caracteristicas

  • COBOL fue dotado de unas excelentes capacidades de autodocumentación
  • Una buena gestión de archivos y una excelente gestión de los tipos de datos para la época, a través de la conocida sentencia PICTURE para la definición de campos estructurados. Para evitar errores de redondeo en los cálculos que se producen al convertir los números a binario y que son inaceptables en temas comerciales, COBOL puede emplear y emplea por defecto números en base diez. Para facilitar la creación de programas en COBOL, la sintaxis del mismo fue creada de forma que fuese parecida al idioma inglés, evitando el uso de símbolos que se impusieron en lenguajes de programación posteriores.
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los nuevos paradigmas de programación y a los lenguajes que los implementaban. En la revisión de 1985 se solucionó, incorporando a COBOL variables locales, recursividad, reserva de memoria dinámica y programación estructurada.
En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión de 1974 se podía crear un entorno de trabajo similar a la orientación a objetos, y un método de generación de pantallas gráficas estandarizado.
Antes de la inclusión de las nuevas características en el estándar oficial, muchos fabricantes de compiladores las añadían de forma no estándar. En la actualidad este proceso se está viendo con la integración de COBOL con Internet. Existen varios compiladores que permiten emplear COBOL como lenguaje de scripting y de servicio web. También existen compiladores que permiten generar código COBOL para la plataforma .NET y EJB.
 

 

Fortran

 

Fortran. (Formula Translating System), es un lenguaje orientado al cálculo numérico, diseñado en sus inicios para las computadoras IBM y usado en aplicaciones científicas y de ingeniería y es el más antiguo de los Lenguajes de alto nivel. El FORTRAN desde sus inicios dominó el área de la programación y se ha mantenido su desarrollo y aplicación por más de 50 años en distintos segmentos de la ciencia y técnica. El FORTRAN uno de los lenguajes más usados en la Computación de alto rendimiento, además se utiliza para el desarrollo de programas que evalúan el desempeño y el posicionamiento de los Supercomputadores. Este lenguaje fue propiedad absoluta de IBM hasta 1961, al pasar el tiempo se fue extendiendo a computadoras de otros fabricantes. Al igual que otros lenguajes de programación, FORTRAN tiene varias versiones, las cuales añaden mejor funcionalidad al mismo.
Historia

El nacimiento de este lenguaje se debe principalmente a John Backus en unión de Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre, todos ellos de la nómina de IBM, quienes en 1954 presentan el informe titulado “Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN.” Debido al avance de la investigación el equipo de Backus anuncia que en 6 meses IBM tendrá el compilador FORTRAN, este hecho tardó 2 años, es en 1956 cuando Backus y equipo presentan a la directiva de IBM una alternativa al Lenguaje ensamblador para la computadora IBM 704.
Tipos de datos

Se caracteriza por su potencia en los cálculos matemáticos, pero esta limitado en las aplicaciones de gestión, manejo de archivos, tratamiento de cadenas de caracteres y edición de informes. Es un lenguaje notorio, por la facilidad con que permite expresar una ecuación. FORTRAN fue diseñado teniendo en cuenta el uso de la Tarjeta perforada de 80 columnas, por lo que el orden de las instrucciones debía ser secuencial, es decir la programación de los algoritmos era lineal, para producir cualquier alteración del orden de la lógica, se introduce la instrucción Goto. Debido al desarrollo de los métodos de programación el FORTRAN también fue evolucionado de versión en versión, se le han incorporado nuevas funciones, Estructuras de control y Asignación dinámica de memoria, posee comandos breves para efectuar operaciones matemáticas con matrices y dispone de tipos, estas mejoras aportan información útil al Compilador. Por estas razones FORTRAN no es muy usado fuera de los campos de la informática y el análisis numérico, pero permanece como el lenguaje a escoger para desempeñar tareas de computación numérica de alto rendimiento.

PHP

File:PHP-logo.svg 
 
PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. PHP puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo.
PHP fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue siendo desarrollado con nuevas funciones por el grupo PHP. Este lenguaje forma parte del software libre publicado bajo la licencia PHP que es incompatible con la Licencia Pública General de GNU debido a las restricciones del uso del término PHP.

Historia

Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" después de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI.
Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje por PHP: Hypertext Preprocessor. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio de 1998. Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce como motor Zend. También fundaron Zend Technologies en Ramat Gan, Israel.
En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día 13 de julio de 2007 se anunció la suspensión del soporte y desarrollo de la versión 4 de PHP, a pesar de lo anunciado se ha liberado una nueva versión con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versión 4.4.9 publicada el 7 de agosto de 2008. Según esta noticia se le dio soporte a fallos críticos hasta el 9 de agosto de 2008.
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2). Incluye todas las ventajas que provee el nuevo Zend Engine 2 como:
  • Mejor soporte para la programación orientada a objetos, que en versiones anteriores era extremadamente rudimentario.
  • Mejoras de rendimiento.
  • Mejor soporte para MySQL con extensión completamente reescrita.
  • Mejor soporte a XML (XPath, DOM, etc.).
  • Soporte nativo para SQLite.
  • Soporte integrado para SOAP.
  • Iteradores de datos.
  • Manejo de excepciones.
  • Mejoras con la implementación con Oracle.

Tipos de datos

PHP soporta los siguientes tipos:
• array
• numeros en punto flotante
• entero
• objeto
• cadena
El tipo de una variable normalmente no lo indica el programador; en su lugar, lo decide PHP en tiempo de ejecucion dependiendo del contexto en el que se utilice esa variable.
Si se quisiese obligar a que una variable se convierta a un tipo concreto, se podria forzar la variable o usar la funcion settype() para ello.
Notese que una variable se puede comportar de formas diferentes en ciertas situaciones, dependiendo de que tipo sea en ese momento.