Lunes, 03 Junio 2019 16:04

Una repaso a la historia de los lenguajes de programación

Desde la invención de la calculadora mecánica de Charles Babbage en 1822, las computadoras han requerido un medio de comunicación para enseñarles para que realicen una tarea específica. Esto significa que se conoce como un lenguaje de programación.

Los lenguajes de computadora fueron en principio creados de una serie de pasos para conectar un programa en particular; estos se transformaron en una serie de pasos tecleados en la computadora y luego ejecutados; posteriormente, estos lenguajes adquirieron características avanzadas, como la ramificación lógica y la orientación a objetos. Los lenguajes informáticos de los últimos cincuenta años han llegado en dos etapas:

Al principio, el motor de diferencia de Charles Babbage solo podía hacerse para ejecutar tareas cambiando los engranajes que ejecutaban los cálculos. Así, la forma más antigua de un lenguaje informático era el movimiento físico. Finalmente, el movimiento físico fue reemplazado por señales eléctricas cuando el gobierno de los EE. UU. Construyó el ENIAC en 1942. Siguió muchos de los mismos principios del motor de Babbage y, por lo tanto, solo pudo “programarse” programando los interruptores y recableando todo el sistema para cada nuevo " Programa” o cálculo. Este proceso resultó ser muy tedioso.

En 1945, John Von Neumann trabajaba en el Instituto de Estudios Avanzados. Desarrolló dos conceptos importantes que afectaron directamente el camino de los lenguajes de programación informática. La primera fue conocida como "técnica de programa compartido", esta técnica indica que el hardware real de la computadora debe ser simple y no necesita estar conectado manualmente para cada programa. En su lugar, se deben usar instrucciones complejas para controlar el hardware simple, permitiendo que se reprograme mucho más rápido.

El segundo concepto también fue extremadamente importante para el desarrollo de lenguajes de programación. Von Neumann lo llamó "transferencia de control condicional". Esta idea dio origen a la noción de subrutinas, o pequeños bloques de código a los que se podría saltar en cualquier orden, en lugar de un solo conjunto de pasos ordenados cronológicamente para que la computadora los interprete. El código de computadora debería poder bifurcarse en base a declaraciones lógicas como IF (expresión) THEN, y en bucle como con una instrucción FOR. La "transferencia de control condicional" dio lugar a la idea de "bibliotecas", que son bloques de código que se pueden reutilizar una y otra vez. ( En esta época, Konrad Zuse, un alemán, estaba inventando sus propios sistemas informáticos de forma independiente y desarrolló muchos de los mismos conceptos, tanto en sus máquinas como en el lenguaje de programación Plankalkul. Lamentablemente, su trabajo no se extendió ampliamente conocido hasta mucho más tarde. Para obtener más información las entradas en Wikipedia: Konrad Zuse ).

En 1949, unos años después del trabajo de Von Neumann, apareció el lenguaje Short Code. Fue el primer lenguaje de computadora para dispositivos electrónicos y requirió que el programador cambiara sus declaraciones a 0 y 1 a mano. Aun así, fue el primer paso hacia los complejos lenguajes de hoy. En 1951, Grace Hopper escribió el primer compilador. Un compilador es un programa que convierte las declaraciones del idioma en 0 y 1 para que la computadora las entienda. Esto llevó a una programación más rápida, ya que el programador ya no tenía que hacer el trabajo a mano.

En 1957, el primero de los principales idiomas apareció en la forma de FORTRAN. Su nombre significa FORmula TRANslating system. El lenguaje fue diseñado en IBM para computación científica. Los componentes eran muy simples y proporcionaban al programador acceso de bajo nivel a las computadoras internas. Hoy en día, este lenguaje se consideraría restrictivo ya que solo incluía las declaraciones IF, DO y GOTO, pero en ese momento, estos comandos fueron un gran paso adelante. Los tipos básicos de datos en uso hoy en día comenzaron en FORTRAN, que incluían variables lógicas (VERDADERO o FALSO) y números enteros, reales y de doble precisión.

El lenguaje Algol fue creado por un comité para uso científico en 1958. Su principal contribución es ser la raíz del árbol que ha llevado a lenguajes tales como Pascal, C, C ++ y Java. También fue el primer idioma con una gramática formal, conocida como Backus-Naar Form o BNF ( McGraw-Hill Encyclopedia of Science and Technology , 454). Aunque Algol implementó algunos conceptos novedosos, como la llamada recursiva de funciones, la próxima versión del lenguaje, Algol 68, se volvió enrevesado y difícil de usar. Esto condujo a la adopción de lenguajes más pequeños y más compactos, como Pascal.

Pascal se inició en 1968 por Niklaus Wirth. Su desarrollo se debió principalmente a una buena herramienta de enseñanza. Al principio, los diseñadores de idiomas no tenían esperanzas de que disfrutara de una adopción generalizada. En su lugar, se concentraron en el desarrollo de buenas herramientas para la enseñanza, como un depurador y un sistema de edición, y soporte para máquinas comunes de microprocesadores iniciales que estaban en uso en instituciones de enseñanza.

Pascal fue diseñado en un enfoque muy ordenado, combinó muchas de las mejores características de los idiomas en uso en ese momento, COBOL, FORTRAN y ALGOL. Al hacerlo, muchas de las irregularidades y declaraciones extrañas de estos idiomas fueron eliminadas, lo que ayudó a que ganara usuarios. La combinación de características, entrada / salida y características matemáticas sólidas, lo convirtió en un lenguaje altamente exitoso. Pascal también mejoró el tipo de datos "puntero", una característica muy poderosa de cualquier idioma que lo implemente. También agregó una declaración CASE, que permitía que las instrucciones se ramificaran como un árbol.

Pascal también ayudó al desarrollo de variables dinámicas, que se podían crear mientras se ejecutaba un programa, a través de los comandos NUEVO y DISPONER. Sin embargo, Pascal no implementó matrices dinámicas, o grupos de variables, que resultaron ser necesarias y llevaron a su caída. Más tarde, Wirth creó un sucesor de Pascal, Modula-2, pero cuando apareció, C estaba ganando popularidad y usuarios a un ritmo rápido.

C fue desarrollado en 1972 por Dennis Ritchie mientras trabajaba en Bell Labs en Nueva Jersey. La transición en el uso de los primeros idiomas principales a los de hoy ocurrió con la transición entre Pascal y C. Sus ancestros directos son B y BCPL, pero sus similitudes con Pascal son bastante obvias. Todas las características de Pascal, incluidas las nuevas, como la instrucción CASE, están disponibles en C. C usa los punteros en forma extensa y fue diseñada para ser rápida y poderosa a costa de ser difícil de leer. Pero debido a que corrigió la mayoría de los errores que tuvo Pascal, se ganó rápidamente a los antiguos usuarios de Pascal.

Ritchie desarrolló C para el nuevo sistema Unix que se está creando al mismo tiempo. Debido a esto, C y Unix van de la mano. Unix le brinda a C características tan avanzadas como variables dinámicas, multitarea, manejo de interrupciones, bifurcación, bajo nivel, entrada-salida. Debido a esto, C es muy comúnmente utilizado para programar sistemas operativos como Unix, Windows, MacOS y Linux.

A finales de los años 70 y principios de los 80, se estaba desarrollando un nuevo método de programación. Era conocido como Programación Orientada a Objetos, o POO. Los objetos son piezas de datos que pueden ser empaquetados y manipulados por el programador. A Bjarne Stroustroup le gustó este método y desarrolló extensiones a C conocidas como "C con clases". Este conjunto de extensiones se desarrolló en el lenguaje completo C ++, que se lanzó en 1983.

C ++ fue diseñado para organizar la potencia bruta de C usando OOP, pero mantiene la velocidad de C y puede ejecutarse en muchos tipos diferentes de computadoras. C ++ se usa con más frecuencia en simulaciones, como juegos. C ++ es el idioma de elección en los cursos técnicos de ciencias de la computación de hoy.

A principios de la década de 1990, la televisión interactiva era la tecnología del futuro. Sun Microsystems decidió que la televisión interactiva necesitaba un lenguaje especial, portátil (puede ejecutarse en muchos tipos de máquinas). Este lenguaje eventualmente se convirtió en Java. En 1994, el equipo de proyecto de Java cambió su enfoque a la web, que se estaba convirtiendo en "lo mejor" después de que la televisión interactiva no prosperara. En el siguiente año, Netscape obtuvo la licencia de Java para usar en su navegador de Internet, Navigator. En este punto, Java se convirtió en el lenguaje del futuro y varias compañías anunciaron aplicaciones que se escribirían en Java, ninguna de las cuales entró en uso.

Aunque Java tiene objetivos muy elevados y es un ejemplo de libro de texto de un buen lenguaje, puede ser el "lenguaje que no lo fue". Tiene serios problemas de optimización, lo que significa que los programas escritos en él se ejecutan muy lentamente. Y Sun ha dañado la aceptación de Java al participar en batallas políticas con Microsoft. Pero Java puede convertirse en el lenguaje de instrucción del mañana, ya que está verdaderamente orientado a objetos e implementa técnicas avanzadas como la verdadera portabilidad de código y la recolección de basura o garbage collector.

Visual Basic se enseñó a menudo como primer lenguaje de programación ya que se basaba en el lenguaje BASIC desarrollado en 1964 por John Kemeny y Thomas Kurtz. BASIC es un lenguaje muy limitado y fue diseñado para personas no informáticas. Las declaraciones se ejecutan principalmente de manera secuencial, pero el control del programa puede cambiar en función de las instrucciones IF..THEN y GOSUB que ejecutan un cierto bloque de código y luego regresan al punto original en el flujo del programa.

Microsoft ha ampliado BASIC en su producto Visual Basic (VB). El corazón de VB es el formulario o la ventana en blanco en la que arrastra y suelta componentes como menús, imágenes y barras deslizantes. Estos elementos se conocen como "widgets". Los widgets tienen propiedades (como su color) y eventos (como clics y clics dobles) y son fundamentales para construir cualquier interfaz de usuario hoy en cualquier idioma. VB se usa con más frecuencia hoy en día para crear interfaces rápidas y simples para otros productos de Microsoft, como Excel y Access, sin necesidad de mucho código, aunque es posible crear aplicaciones completas con él.

Perl se ha descrito a menudo como la "cinta adhesiva de Internet", porque se usa con más frecuencia como motor de una interfaz web o en scripts que modifican los archivos de configuración. Tiene funciones de comparación de texto muy fuertes que lo hacen ideal para estas tareas. Perl fue desarrollado por Larry Wall en 1987 porque las herramientas Unix sed y awk (usadas para la manipulación de textos) ya no eran lo suficientemente fuertes como para satisfacer sus necesidades. Dependiendo de a quién se lo pregunte, Perl significa Práctica de Extracción y Lenguaje de Presentación de Informes o Lógica Ecléctica.

Más tarde Guido Van Rossum desarrolló Python en 1991. Python es más fácil de leer y requiere menos líneas de código que muchos otros lenguajes de programación de computadoras. Su nombre proviene del grupo de comedia británico Monty Python. Los sitios populares como Instagram utilizan marcos escritos en Python.

Brendan Eich creó JavaScript en solo 10 días en 1995. Javascript es un lenguaje que se utiliza principalmente para mejorar las interacciones del navegador web. Sería difícil encontrar un sitio web que no use Javascript.

Ahora vamos a saltar hasta el 2009 y vamos. Go es un lenguaje desarrollado por Google para abordar problemas que ocurren en grandes sistemas de software. Las computadoras son muy diferentes hoy en día de lo que eran cuando se introdujeron y pusieron en uso lenguajes como C ++, Java y Python, por lo que surgieron problemas cuando los grandes sistemas informáticos se volvieron comunes. Go tenía la intención de mejorar el entorno de trabajo de los programadores para que pudieran escribir, leer y mantener sistemas de software grandes de manera más eficiente.

El futuro de la programación

Entonces, dado que los tres lenguajes de programación más populares en 2019 han existido desde al menos 1995 (Java, Python y C++), ¿cuál es el futuro de los lenguajes de programación? ¿Cuál es el próximo gran avance que podemos esperar?

Primero, los ingenieros biológicos del MIT han creado un lenguaje de programación que les permite diseñar circuitos complejos codificados con ADN que dan nuevas funciones a las células vivas. El lenguaje de programación dará nuevas funciones a las células vivas.

Con este lenguaje, puede escribir un programa para cualquier función que desee, como detectar y responder a condiciones ambientales específicas. Entonces se generará una secuencia de ADN que puede lograrlo. Esto es algo real de ciencia ficción que cobra vida.

Utiliza un lenguaje basado en texto, como si estuviera programando una computadora. Luego toma ese texto, lo compila, y lo convierte en una secuencia de ADN que se pone en la celda, y el circuito se ejecuta dentro de la celda.

En el futuro, esta programación podría diseñar células bacterianas que producirán un medicamento contra el cáncer cuando hayan detectado un tumor, o podría crear células de levadura que puedan detener su propio proceso de fermentación si se acumulan demasiados subproductos tóxicos.

Vivimos en tiempos emocionantes

Las generaciones venideras experimentaran un auge de la tecnología y los lenguajes de programación sin precedentes. El primer lenguaje de programación se desarrolló en 1883, y entre ese momento y ahora, miles más se han desarrollado. Han cambiado nuestra vida cotidiana. Han cambiado la forma en que trabajamos, aprendemos, nos comunicamos y nos entretenemos.

Modificado por última vez el Lunes, 03 Junio 2019 16:32

Contacto

C/ Joan d'Àustria, 65

08005 BARCELONA

Tel.: (+34) 93 320 86 64

nougir@nougir.com