Los Lenguajes de la Programación

Las computadoras son herramientas muy útiles, pero por sí solas no pueden actuar o tomar decisiones. Los programas que forman parte de las computadoras, son los que nos dan la impresión de que son aparatos inteligentes.

Main

Surgen Representaciones

1940 - 1949

Surgen representaciones para estas instrucciones. Ya no eran unos y ceros, sino que se los representaba con palabras más fáciles de recordar (instrucciones mnemotécnicas) como MOVE, LDA, ADD, etc. La relación con el código binario era directa, por cada instrucción mnemotécnica, existe una instrucción en binario y viceversa. Así se construyen los primeros traductores que pasarán la instrucción mnemotécnica a binario. Estos traductores recibieron el nombre de ensambladores, y se convirtieron en el primer lenguaje de las computadoras (ASSEMBLER o ASSEMBLY). De todas maneras, la programación era complicada y difícil, porque se acercaba mucho a la forma de operar de las computadoras y no al lenguaje humano (llamados lenguajes de programación de alto nivel). El primer gran avance que se dio fue la abstracción dada por el Lenguaje Ensamblador, y con él, el nacimiento de las primeras herramientas automáticas para generar el código de máquina. Esto redujo los errores triviales, que son sumamente engorrosos y difíciles de detectar, pero fáciles de cometer

John Bakus

1954 - 1957

John Bakus y sus colegas de IBM desarrollaron FORTRAN (acrónimo de FORmula TRANslating System), el cual introdujo muchas ventajas sobre el ensamblador, e hizo más claras las operaciones básicas. La idea era hacer la programación más cercana al lenguaje natural humano.

Fue un lenguaje de programación de alto nivel de propósito general, procedimental e imperativo, que está especialmente adaptado al cálculo numérico y a la computación científica; este lenguaje vino a dominar esta área de la programación desde el principio y ha estado en uso continuo por más de medio siglo en áreas de cómputo intensivo tales como la predicción numérica del tiempo, análisis de elementos finitos, dinámica de fluidos computacional (CFD), física computacional, y química computacional. Es una de los lenguajes más populares en el área de la computación de alto rendimiento y es el lenguaje usado para programas que evalúan el desempeño (benchmark) y el ranking de los supercomputadores más rápidos del mundo.

ALGOL

1958

En 1958, surge ALGOL (acrónimo de ALGOrithmic Language), que unía a la sintaxis de FORTRAN una mejora en la notación. Fue muy popular en las universidades durante los años 60, pero no llegó a imponerse como lenguaje de utilización comercial. Sin embargo, influyó profundamente en varios lenguajes posteriores que sí alcanzaron gran difusión, como Pascal, C y Ada.

Aparece COBOL y LISP

1960

En 1960, aparece COBOL (acrónimo de COmmon Business Oriented Language, Lenguaje Común Orientado a Negocios) que fue creado con el objetivo de imponerse como un lenguaje de programación universal, que pudiera ser usado en cualquier computadora, ya que en esos años, existían numerosos modelos de computadoras incompatibles entre sí, y, además, que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.
Pese a que muchas personas creen que el lenguaje COBOL está en desuso, la realidad es que casi todos los sistemas que requieren gran capacidad de procesamiento por lotes (batch) tanto las entidades bancarias como otras grandes empresas con sistemas de tipo mainframes (computadoras grandes, potentes y costosas, usadas principalmente por grandes compañías para el procesamiento de una enorme cantidad de datos) utilizan COBOL. Esto permite garantizar la compatibilidad de los sistemas antiguos con los más modernos, así como tener la seguridad de que el lenguaje es perfectamente estable y probado. Según un informe de Gartner Group de 2005, el 75% de los datos generados por negocios son procesados por programas creados en COBOL, y en otro informe de 1997 estima que el 80% de los 300.000 millones de líneas de código existentes están creados en COBOL, escribiéndose 5.000 millones de líneas nuevas de COBOL cada año. Con todo eso, hoy por hoy, la programación en COBOL es uno de los negocios más rentables del mundo de la informática. En el resto de aplicaciones el COBOL ha caído en desuso, reemplazado por lenguajes más modernos o versátiles.
También en 1960 aparece LISP (acrónimo de LISt Processing; procesamiento de listas), un lenguaje muy distinto a los anteriores. LISP únicamente ejecuta funciones, pero estas son recursivas, es decir, pueden llamarse a sí mismas cuantas veces sean necesarias. LISP es especialmente utilizado para crear inteligencia artificial.

Aparecen FORTH y APL

1962

Para la misma época (1962) también aparecen FORTH y APL, aunque pasaron algunos años para que realmente entraran en uso. A éstos los siguió PL/I, que intentó reunir en un solo programa las características de FORTRAN y COBOL, sin embargo el resultado fue un lenguaje sumamente complicado y se dejó de utilizar.

John Kemeny y Thomas Kurtz crean BASIC

1965

John Kemeny y Thomas Kurtz crean BASIC (acrónimo de Beginner's All-purpose Symbolic Instruction Code) con la intención de que se convirtiera en un lenguaje de enseñanza. BASIC fue diseñado para permitir a los estudiantes escribir programas usando terminales de una computadora en tiempo compartido. Estaba pensado para reducir notablemente la complejidad de los otros lenguajes del momento, con uno diseñado específicamente para la clase de usuarios que los sistemas de tiempo compartido permitían: un usuario más sencillo, fuera del área de las ciencias de la computación, a quien no le interesaba tanto la velocidad, sólo el hecho de ser capaz de programar y usar la máquina sin demasiadas complicaciones. Los diseñadores del lenguaje también querían que permaneciera en el dominio público, lo cual contribuyó a que se diseminara rápidamente

Niklaus Wirth

1970

El profesor suizo Niklaus Wirth crea el lenguaje PASCAL a partir del ALGOL-58, también con fines didácticos. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:
- El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma, Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
- El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.

Nace C y Crean PROLOG

1972

En la misma época (1972) nace C, un lenguaje que conjuga estructuración, formalismo y sencillez. Creado por Dennis Ritchie en lo laboratorios Bell, con él se desarrolla el sistema operativo UNIX. Se trata de un lenguaje débilmente tipificado, de medio nivel, pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, posee construcciones del lenguaje que permiten un control a muy bajo nivel. Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución.

también surge PROLOG (acrónimo del francés PROgrammation LOGique: programación lógica) en la Universidad de Aix-Marseille (Marsella, Francia) por los profesores Alain Colmerauer y Philippe Roussell, con el cual se esperaba poder desarrollar inteligencia artificial.

El manejo de bases de datos llevó al desarrollo de un lenguaje proposicional para el manejo y programación de las llamadas bases de datos relacionales. La implementación del lenguaje fue desarrollada por IBM (1977) y llamado SQL (Structured Query Languaje: lenguaje estructurado de consultas) el cual permite especificar diversos tipos de operaciones sobre éstas. Una de sus características es el manejo del álgebra y el cálculo relacional, permitiendo efectuar consultas con el fin de recuperar (de una forma sencilla) información de interés de una base de datos, así como también hacer cambios sobre ella.

Smalltalk

1980

En los años ‘80, Smalltalk, implementó la programación orientada a objetos, con el SIMULA-67, el concepto fue revolucionario y así, muchos lenguajes lo fueron incorporando como C, que con la orientación a objetos paso a llamarse C++.

De SQL surge dBase, también en los años ’80, del cual surgieron copias y actualizaciones como por ejemplo Fox, Clipper, RBASE, Oracle, INFORMIX, PostGreSQL, Clipper, GeneXus, etc. Al conjunto de estos programas se los denominó 4GL, (Lenguajes de Cuarta Generación) y surgieron en la década de los ‘90

A FINES DE LOS 80

1989

Desde fines de los ’80, surgieron varios lenguajes que han hecho historia en el mundo de la programación, y que siguen utilizándose en diversos ámbitos:

Perl: diseñado por Larry Wall en 1987, toma características del lenguaje C, del lenguaje Lisp y, en un grado inferior, de muchos otros lenguajes de programación.
Estructuralmente, Perl está basado en un estilo de bloques como los del C, y fue ampliamente adoptado por su destreza en el procesado de texto y por no tener ninguna de las limitaciones de los otros lenguajes.

JAVA: es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años ‘90. El lenguaje en sí mismo, toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores. Es un lenguaje cuyo uso se está propagando cada vez más, especialmente en sitios web complejos y sistemas online.

LINGO

1990

Es el lenguaje de programación que lleva incorporado Macromedia Director, un programa de autoría. Permite integrar con relativa facilidad texto, imágenes, sonidos y video digital, siendo una alternativa muy elegida frente a lenguajes más tradicionales, como el C/C++, porque el desarrollo de la aplicación es mucho más rápido y flexible. El soporte para publicar suele ser un CD/DVD y, desde hace algún tiempo, con la ayuda de Adobe Shockwave, también la web. Es muy utilizado en la programación de juegos interactivos

PYTHON, HTML, RUBY, PHP

1991

Python: es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible. Además, posee una licencia de código abierto (software libre.
HTML (1991): siglas de Hyper Text Markup Language (Lenguaje de Marcas de Hipertexto), es el lenguaje de marcas predominante para la elaboración de páginas web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script, el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.
Ruby: es un lenguaje de programación orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en él 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 (Lisp). 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. Su creador ha dicho que Ruby está diseñado “para la productividad y la diversión del desarrollador, siguiendo los principios de una buena interfaz de usuario”.

PHP: (Pre-Hypertext Processor) diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor. Fue creado originalmente por Rasmus Lerdorf en 1994. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005.
El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta.

JAVASCRIPT

1995

JavaScript (1995): es un lenguaje de programación orientado a objetos y dinámico.
Se utiliza principalmente en su forma del lado del cliente, implementado como parte de un navegador web, permitiendo mejoras en la interfase de usuario y páginas web dinámicas, aunque existe una forma de JavaScript del lado del servidor. Su uso en aplicaciones externas a la web es también significativo.
JavaScript se diseñó con una sintaxis similar al C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo Java y JavaScript no están relacionados y tienen semánticas y propósitos diferentes. Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web.

GAMBAS Y VISUAL BASIC

1997

Gambas (1997): es un lenguaje de programación libre derivado de BASIC. Es distribuido con licencia libre. Cabe destacar que presenta ciertas similitudes con Java pero, no se experimentan ralentizaciones y es posible desarrollar grandes aplicaciones en poco tiempo.
Permite crear formularios con botones de comandos, cuadros de texto y muchos otros controles y enlazarlos a bases de datos (MySQL, PostgreSQL o SQLite) además de facilitar la creación de aplicaciones muy diversas como videojuegos, aplicaciones para dispositivos móviles, aplicaciones de red y sistemas de gestión, entre otras

Visual Basic: es un lenguaje de programación orientado a eventos, desarrollado por el alemán Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma. Se lo utiliza, principalmente, para desarrollar aplicaciones de Windows y de interfaz de los sistemas de base de datos. La última versión, que fue la 6, fue liberada en 1998. Microsoft extendió el soporte de este lenguaje hasta marzo de 2008.

CLARION

1997

Es un lenguaje 4GL además de ser un entorno de desarrollo integrado de la empresa Softvelocity, orientado a la programación de aplicaciones de bases de datos. Es compatible con una gran cantidad de bases de datos, además puede generar salidas a otros lenguajes (HTML, XML) archivos de texto y PDF, entre otros. La última versión de Clarion disponible es Clarion 7 (2009). También está disponible la versión Clarion.NET
Todo el entorno de desarrollo trabaja para producir código POO pre-testeado.

ACTIONScript

1999

Es un lenguaje de programación orientado a objetos (OOP), utilizado en especial en aplicaciones web animadas, realizadas en el entorno Adobe Flash, la tecnología de Adobe para añadir dinamismo al panorama web. Fue lanzado con la versión 4 de Flash (1999), y desde entonces hasta ahora, ha ido ampliándose poco a poco, hasta llegar a niveles de dinamismo y versatilidad muy altos en la versión 11 (Adobe Flash CS5) de Flash. Es un lenguaje de script, esto es, no requiere la creación de un programa completo para que la aplicación alcance los objetivos perseguidos.
Permite la creación de películas o animaciones con altísimo contenido interactivo. Además, provee a Flash de un lenguaje que permite al diseñador o desarrollador añadir nuevos efectos o incluso construir la interfaz de usuario de una aplicación compleja.