Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATRICULA: 1-23-3916.
MATERIA: Programación I.
1983: C++
En los mismos laboratorios Bells, Bjarne Stroustrup modificó el lenguaje C,
por lo que surgió C++. Este lenguaje de programación es uno de los más
populares, y se encuentra en el Top Ten de los lenguajes de programación
desde 1986. Hoy en día se utiliza en Firefox, Adobe PDF Reader y Office.
1987: Perl
Desarrollado por un programador de Unix, Larry Wall, Perl como solución
a las flaquezas de Unix. Actualmente, se utiliza en CraigList.
1991: Python
Guido Van Rossum fue el creador de este lenguaje de programación
mundialmente reconocido. Fue creado para resolver lenguajes en el lenguaje
ABC y, hoy en día, se sigue utilizando con esta finalidad y también, para más
usos. La Nasa, Google y Youtube son algunas de las empresas que lo utilizan.
1993: Ruby
Este lenguaje fue creado por Yukihiro Matsumoto, que utilizó partes de sus
lenguajes de programación preferidos: Perl, Smalltalk, Eiffel, Ada y Lisp.
Ahora se utiliza por Basecamp.
1995: PHP, Java, JavaScript
Este lenguaje de programación fue desarrollado por Rasmus Lerdoff para
reemplazar unos scripts de Perl utilizados para el mantenimiento de su web
personal. En la actualidad PHP es parte de una arquitectura web integrada en
veinte millones de sitios web. Facebook utiliza este lenguaje hoy en día.
En el mismo año, también se creó Java, por un grupo de trabajadores de Sun
Microsystems, con el objetivo de poner en marcha los decodificadores para
una televisión interactiva. Actualmente, Java está presente en más de mil
millones de ordenadores en todo el mundo y, muchos sitios webs, no pueden
funcionar sin Java.
Por otro lado, se desarrolló JavaScript. Aunque compartan parte del nombre
Java y JavaScript no están relacionados, ya que tienen una semántica muy
diferente. Este último fue creado por Brendan Eich, de Netscape y, hoy en
día, de este lenguaje de programación depende AJAX.
2001: c#
La llegada de los 2000, llegaron nuevos programas de programación, como
C# y Visual Basic. Junto a los años noventa, C# culmina como el mejor
momento de la historia respecto a los lenguajes de programación. C# es uno
de los lenguajes de programación más importantes para crear programas de
todo tipo.
2009: Go, de Google
Se trata, nada más y nada menos, que el lenguaje de programación creado
por Google. 2009, Go, de Google. Se inspira en C, pero es más complejo.
Sigamos descubriendo más lenguajes que forman parte de la evolución de
los lenguajes de programación.
2012: KOTLIN
Hoy en día, este es uno de los lenguajes de programación de moda, no porque
sea el más sencillo, sino que Google lo ha señalado como el lenguaje de
programación óptimo para Android.
Aunque hay lenguajes que nos hemos dejado por mencionar, estos son
algunos claves que marcaron la historia y la evolución de los lenguajes de
programación.
Etapa pre-ordenadores
El origen de la programación se remonta a los albores de la humanidad,
cuando los seres humanos buscaban formas de automatizar tareas repetitivas.
Desde la prehistoria encontramos máquinas que empleaba energía para
realizar trabajos de forma automática.
Encontramos sistemas automáticos de regadío en Babilonia, sobre el 2000
a.C. También es sabido que los griegos empleaban sistema hidráulicos y
neumáticos. Los egipcios disponían de mecanismos realmente ingeniosos en
sus templos.
Muchas de esas máquinas tenían un comportamiento automático (eran
automatismos) y lógicamente, también se programaban. En la antigüedad,
las primeras formas de programación involucraban la configuración
de máquinas mecánicas, neumáticas e hidráulicas.
Durante la edad media, como en casi todos los campos del conocimiento se
produce un parón importante. No hasta el renacimiento y la revolución
industrial donde los avances en automatización empiezan a aparecer de
nuevo.
Revolución industrial
En 1725, Basile Bouchon, hijo de un fabricante de órganos francés, adaptó
el concepto de los mecanismos de relojería utilizados en las cajas de música
para operar un telar a través de una cinta perforada.
Este invento fue perfeccionado en 1728 por su asistente, Jean-Baptiste
Falcón, quien utilizó una serie de tarjetas perforadas interconectadas.
Poco después, en 1745, Jacques de Vaucanson, ingeniero e inventor francés
de autómatas mecánicos, aplicó sus conocimientos y creó el primer telar
automático. Sus conocimientos en mecanismos automatizados fueron
cruciales para el desarrollo de la programación y sentaron las bases para
futuros avances.
Sobre la base de estos dos inventos, en 1801 Joseph Marie Jacquard crea un
famoso telar mecánico de tarjetas perforadas. Cada tarjeta perforada
representaba una instrucción específica, lo que permitía la creación de
patrones complejos sin la necesidad de una intervención humana constante
A medida que la tecnología avanzaba, los ingenieros y matemáticos
exploraban formas de automatizar cálculos complejos. En el 1840, Charles
Babbage desarrolló la “Máquina Analítica”, considerada uno de los primeros
intentos de crear un ordenador programable. Aunque la Máquina Analítica
nunca se construyó completamente, sentó las bases para la concepción de los
primeros principios de programación.
En la segunda mitad del siglo XIX, las tarjetas perforadas se convirtieron en
una forma popular de programación en los campos de la estadística y el
censo. Las tarjetas perforadas permitían almacenar información de manera
estructurada y realizar operaciones utilizando máquinas electromecánicas.
Esta tecnología desempeñó un papel crucial en la evolución de la
programación, proporcionando un método eficiente y reproducible para
ejecutar instrucciones complejas.
Los primeros ordenadores
La verdadera revolución en la historia de la programación llegó con el
surgimiento de los primeros ordenadores electrónicos en la década de 1940.
Durante la Segunda Guerra Mundial, Alan Turing y su equipo desarrollaron
el Colossus, una máquina diseñada para descifrar los códigos de la máquina
de cifrado alemana Enigma.
Rápidamente los ordenadores aumentaron su potencia, mientras que
disminuían su tamaño. A ello contribuyeron la invención de
nuevas tecnologías como los transistores, que sustituyeron a las válvulas de
vacío.
En esa época, los programadores tenían que escribir directamente en código
máquina, que consiste en instrucciones numéricas directamente entendibles
por el hardware de la computadora. Este enfoque era extremadamente
laborioso y propenso a errores.
Para abstraerse de esta complejidad en 1947 se desarrolló el lenguaje
ensamblador, que permitía a los programadores escribir instrucciones en
forma de mnemotécnicos más legibles. Aunque el ensamblador seguía
estando muy cerca del lenguaje máquina, proporcionaba una capa de
abstracción que facilitaba el desarrollo de programas.
Poco después, a principio de la década de 1950 surgieron los lenguajes de
alto nivel, diseñados para ser más accesibles y fáciles de usar que el
ensamblador. Estos lenguajes proporcionaban una abstracción aún mayor,
permitiendo a los programadores expresar conceptos y algoritmos de manera
más cercana al lenguaje humano.
En paralelo, se desarrollaban la teoría y fundamentos de muchos paradigmas
que conocemos actualmente. Por ejemplo, se desarrollan las bases de la
lógica combinacional y de la Programación Funcional, cuyo origen se
remonta a la década de 1930.
En lugar de centrarse en los objetos y su interacción, la programación
funcional se basa en el concepto de funciones puras, que toman una entrada
y generan una salida sin tener efectos secundarios.
Posteriormente, entre 1950 y 1960 surge uno de los paradigmas de
programación más influyentes. Programación Orientada a Objetos (POO).
La POO se basa en la idea de que los programas deben modelar objetos del
mundo real, con características (atributos) y comportamientos (métodos)
asociados.
Época moderna
Con la popularización de los ordenadores y su inclusión en el campo
doméstico, la teoría de programación continúa desarrollándose hasta lo que
conocemos hoy en día.
Un hito importante eso, como todos sabemos, la aparición de lo que hoy
llamamos Internet. Esto es debido a la mejora y complejización de los
sistemas de comunicación entre ordenadores. Con la aparición de la www,
surge nuevas necesidades para el desarrollo del software.
A medida que el software cada vez se complica más, con aplicaciones más
complejas, aplicaciones móviles, virtualización, cloud computing, el
software también se vuelve más complejo.
Además, la necesidad de interface de usuario más ricos y usables cobra una
nueva importancia.
Esto hace que surjan nuevos paradigmas como la programación reactiva o la
inmutabilidad, unit testing, frameworks, bibliotecas, dependencias, devops,
y muchas otras herramientas destinadas a gestionar la complejidad de los
proyectos.
En la actualidad, el desarrollo de software actual es un ámbito de la
tecnología que aborda muchos aspectos, incluido diseño, psicología, gestión
de proyecto.