Lenguaje de programación: Una historia con más de 200 años

Aunque solemos asociar el mundo de la programación y las tecnologías digitales a los últimos 30 o 40 años, sorprende saber que el origen de una de las profesiones más demandadas y mejor pagadas de la historia, como es la programación, suma ya dos siglos de antigüedad y tiene su primer paso en un telar. Sí, en un telar, en un lugar lleno de telas y no de cosas electrónicas.

El gérmen de la informática y la programación, entre telas

En 1801, un tejedor y comerciante francés diseñaría un telar que funcionara empleando tarjetas perforadas. Estos conjuntos de tarjetas perforadas, que formaban un patrón para el diseño de las telas, permitían que cualquier persona creara e introdujera estos diseños en el telar, sin tener mucha experiencia en el área. Este telar despertaría el interés de un matemático y científico británico, quien intentaba inventar un método por el cual se pudieran hacer cálculos automáticamente por una máquina, evitando errores producto de despistes o cansancio humano.

Después de varios experimentos, Charles Babbage, el matemático y científico británico que menciono antes, intentó construir en 1833 una máquina que fuese programable para hacer cualquier tipo de cálculo, inspirándose en el telar de Jacquard. Aunque no sería hasta 1840 cuando esta máquina se daría a conocer y se ampliaría su proyección y aplicación gracias a los aportes de Ada Lovelace, matemática, traductora, ingeniera y escritora británica, cuyo interés por la Máquina Analítica de Babbage les llevó a colaborar muy estrechamente.

Mientras Charles Babbage tenía más interés en la relevancia teórica de su invento, Lovelace proyectaba un futuro transformador ante las innumerables aplicaciones que podría tener esta máquina computacional para solucionar problemas que permitieran controlar procesos hasta el momento incontrolables o erráticos. Y es así como, mediante las aportaciones de Ada Lovelace al artículo que describe el funcionamiento de la máquina de Babbage, notas más extensas que el propio artículo, y la visión sobre la aplicabilidad de la Máquina Analítica, Babbage y Lovelace marcaron el inicio de la informática.

En 1936 entraría en escena Alan Turing con sus grandes aportes, especialmente la “Máquina de Turing”. Era una máquina de propósito general, es decir, que podía resolver cualquier problema para el que existiese un algoritmo. Esto generaría un antes y un después en el mundo de la computación y la informática, ya que anteriormente todas las máquinas habían tenido un propósito u objetivo específico. Será a partir de este punto que comenzarán a aparecer diversos lenguajes de programación intentando ofrecer soluciones a diversos tipos de problemas y necesidades.

Los primeros lenguajes de programación

Para 1945 surgiría Plankalkül, el que se considera el primer lenguaje de programación “real”. Permitía crear procedimientos que almacenaban trozos de código que podían invocarse una y otra vez, para realizar operaciones rutinarias.

En 1949, crean el Lenguaje Ensamblador, que cambiaría la forma en que se programan las funcionalidades básicas de las máquinas.

Fortran, (abreviación de “Traductor de fórmulas”, en inglés), aparece en 1957. Este lenguaje de programación se creó para realizar cálculos científicos, matemáticos y estadísticos de alto nivel. Aún se utiliza en algunos de los supercomputadores más avanzados del mundo, por lo que está considerado como el lenguaje de programación más antiguo que se utiliza en la actualidad.

COBOL (abreviación en inglés de “Lenguaje común orientado a los negocios”), fue desarrollado en 1959 bajo la dirección de la Dra. Grace Murray Hopper, para que pudiera funcionar en todo tipo de computadores, pues en los 60’ había muchos tipos distintos que no eran compatibles entre sí. De esta manera las empresas pudieron fichar talentos sin tener que darles formación especializada. Es responsable de muchas funcionalidades que utilizamos en nuestro día a día: sistemas en cajeros automáticos, sistemas de señalización de tráfico, entre muchos otros, sobre todo en el sector bancario y de ingeniería civil.

En 1964 aparece BASIC (acrónimo en inglés de “Código simbólico de instrucciones de propósito general para principiantes”). Un lenguaje de programación de alto nivel diseñado como un medio para facilitar la programación a estudiantes y profesores que no fueran de ciencias. BASIC originalmente fue desarrollado como una herramienta de enseñanza. El lenguaje y sus variantes llegaron a estar ampliamente disponibles en microcomputadores a finales de los años 1970 y en los años 1980. De él nacen VisualBasic y otros “Basic”.

Los lenguajes de programación que establecieron paradigmas

En 1970 es publicado Pascal, un lenguaje de programación creado por un profesor suizo, con el objetivo de crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación con estructuras de datos. Pascal trascendió el ámbito académico para convertirse en una herramienta para crear todo tipo de aplicaciones.

1972 vino fuerte y dejó grandes protagonistas: Smalltalk, C, SQL y PROLOG.

Creado por el Centro de Investigación de Palo Alto (PARC) de Xerox, Smalltalk permitía a los programadores informáticos modificar el código sobre la marcha, algo que no había sido posible hasta el momento, además de introducir una serie de aspectos como la máquina virtual del lenguaje, la inspección de código y debugging al vuelo, que son visibles hoy en día en lenguajes de programación como Python, Java y Ruby.

C, uno de los principales lenguajes de la historia de la programación, desarrollado por Dennis Ritchie para su uso con el sistema operativo Unix. Se llamó C porque se basaba en un lenguaje anterior llamado “B” (los programadores no nos complicamos mucho la vida). Muchos de los principales lenguajes actuales son derivados de C, como C#, Java, JavaScript, Perl, PHP y Python. Es una especie de Señor de los Anillos de los lenguajes de programación, o Zeus y su gran cantidad de hijos en la mitología griega.

SEQUEL, luego SQL o Structured Query Language (“Lenguaje de consulta estructurado”, en castellano), que se utilizaría para poder consultar y modificar la información almacenada en bases de datos. Buena parte de las bases de datos del mundo, las conocidas como bases de datos relacionales, usan SQL para sus consultas. La forma de escribir las consultas es lo más cercano al lenguaje natural, lenguaje humano, que ha logrado un lenguaje de programación.

Prolog, proveniente del francés PROgrammation en LOGique,​ es un lenguaje de programación lógico (basado en expresiones de verdad: verdadero o falso) usado habitualmente en el campo de la Inteligencia artificial.

Y en 1982, aparece C++ como una extensión y evolución de C, incluyendo mejoras como clases, funciones y plantillas (templates). En pocos años, se colocó entre los 10 mejores lenguajes de programación por sus excelentes prestaciones y capacidades, y no ha salido de allí, razón por la que ha recibido el “Salón de la Fama” y por la que es muy utilizado en aplicaciones de gran envergadura y que requieren mucha eficiencia, en motores de juegos y otros programas de alto rendimiento.

En 1983 aparecería el que luego sería el lenguaje estrella para la programación en MacOS y, posteriormente, en iOS: Objective-C.

Haskell cierra este período en 1990 con su enfoque como lenguaje de programación enteramente funcional (todo se programa mediante funciones). Se creó con propósitos académicos pero su éxito lo hizo trascender hacia la industria, al punto en que Facebook, IBM, Twitter, AT&T, Bank of America, Barclays Capital, NVIDIA y Microsoft lo usan, y hasta está presente en la web.

Los lenguajes de programación que han construido la web

En 1991 aparece Python un lenguaje de programación de alto nivel y de propósito general que, a pesar de tener 30 años, vive el mejor momento de su historia, al ser uno de los lenguajes de programación más usados y es utilizado por empresas como Google, Yahoo y Spotify, entre otra tantas. Recientemente, su popularidad se ha visto impulsada a más por el crecimiento del mundo de la Inteligencia Artificial, donde Python es el preferido.

Python es el lenguaje de programación favorito en 4Geeks Academy, por eso no solo lo empleamos en nuestros cursos de Machine Learning e Inteligencia Artificial, sino que también es nuestro lenguaje de programación del backend en nuestro curso de desarrollo Full-Stack.

En 1992 llega, desde Japón, Ruby, un lenguaje de programación de alto nivel interpretado, como Python, y didáctico, que recibió la influencia de varios lenguajes anteriores. El principal uso de Ruby son el desarrollo de aplicaciones web, gracias al framework que potenció su fama, Ruby on Rails y que haría grandes aportes al mundo de los frameworks. Groupon, Github, Twitter… son algunas empresas que empezaron su proyecto programando en Ruby. Fue la tecnología de moda entre las startups de la primera década del 2000.

1995 fue el año de los lenguajes de programación en los 90’s. Ese año, otra triada de importantes lenguajes de programación aparecieron en nuestro mundo: Java, PHP y JavaScript.

Java creado para un proyecto de televisión interactiva, es un lenguaje de alto nivel de propósito general que tiene funcionalidad multiplataforma y se encuentra constantemente entre los lenguajes de programación más populares del mundo. Java se encuentra en todas partes, desde los ordenadores hasta los teléfonos inteligentes y los parquímetros. Su principal espacio es entre grandes corporaciones y sistemas muy robustos transnacionales.

PHP fue creado para desarrollar sitios web y ha sido siempre el lenguaje por el que mucha gente se ha iniciado en el mundo web, aunque esto también le ha generado una mala imagen, asociada a malas prácticas y código de baja calidad. Sin embargo, marcas como WordPress, Facebook y Wikipedia muestran su otra cara, ya que lo han empleado para construir sus proyectos. No es que PHP sea malo, es que mucha gente lo ha usado con escasa formación, generando código que luego se convierte en pesadilla de otros programadores.

JavaScript es el único lenguaje que se ejecuta en el navegador, y es el responsable de todo el dinamismo que nos proveen los sitios web. Inicialmente no muy apreciado, se ha convertido en el lenguaje de programación de la web, teniendo ahora presencia en el backend gracias a NodeJS y viviendo una gran evolución en la última década, de la mano de su biblioteca del momento: React.js.

Después del Y2K, más evolución: clouds, IoT, móviles…

En el siglo XXI continúan apareciendo más lenguajes de programación, según surgen nuevas necesidades y soluciones: Scala, un lenguaje que en 2003 vino a revolucionar la programación en grandes plataformas por su robustez y capacidad para escalar. Linkedin, Twitter, Foursquare, Duolingo, Netflix y muchas grandes empresas han migrado parte de su pila tecnológica a Scala.

Scratch, de la mano del MIT en 2005, un lenguaje de programación visual para que niños y adultos puedan aprender a programar de manera visual sin tener conocimientos previos sobre código.

Go, creado por Google en 2009 para facilitar el desarrollo en procesadores multinúcleo, redes de computadores entre otros procesos más concretos, y satisfacer las necesidades que surgían de otros lenguajes de programación empleados en la compañía, inspirándose en la eficiencia de C pero con la legibilidad de Python o Javascript.

Dart, otro lenguaje desarrollado por Google en 2011, para el desarrollo de aplicaciones del lado del cliente, tanto para web como para móviles.

Kotlin (2012) y Swift (2013) son los nuevos lenguajes de moda en la programación de aplicaciones móviles nativas. Kotlin, desarrollado por Google, es empleado para Android, y Swift, de Apple, para iOS.

Rust, liberado oficialmente en 2014, es un lenguaje de programación multiparadigma y de propósito general enfocado en la eficiencia en el desempeño y la concurrencia. A pesar de su juventud, ya grandes compañías como Amazon, Discord, Dropbox, Meta, Google y Microsoft lo han incorporado en sus sistemas.

¿Verdad que el mundo de los lenguajes de programación es fascinante? Por eso es importante saber escoger adecuadamente las tecnologías a emplear en nuestros proyectos. En 4Geeks Academy hemos escogido JavaScript y Python para enseñar Desarrollo de Software Full-Stack, para que puedas conocer dos lenguajes de programación muy populares en el desarrollo web en un mismo curso, hemos seleccionado y Python, como no podía ser de otra manera, para nuestros cursos de Machine Learning e Inteligencia Artificial.

ACERCA DEL AUTOR