Lenguajes De Programacion - 2 semestre
lunes, 21 de octubre de 2013
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).
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.
Algunos Lenguajes Funcionales: Haskell, Logo, Scala, Miranda, Snobol, lua, etc.
Algunos Lenguajes Lógicos: Prolog, Snobol, CLP, ALF, etc.
Algunos Lenguajes orientados a objetos: Lua, ABAP, C++, Cobol, Ada, Java, PHP, R, Snobol, BCPL, Ruby, etc.
Tipos de Paradigmas
- Programación Imperativa:
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:
Algunos Lenguajes Funcionales: Haskell, Logo, Scala, Miranda, Snobol, lua, etc.
- Programación Lógica:
Algunos Lenguajes Lógicos: Prolog, Snobol, CLP, ALF, etc.
- Programación Orientada 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.
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).
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
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
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.
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
Historia
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
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
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.
• 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.
Suscribirse a:
Comentarios (Atom)
