Lenguajes de programación de computadoras 

León, Guanajuato

Ciencia, Educación y Tecnología

Lenguajes de programación de computadoras

Por Dr. Francisco Javier Cuevas de la Rosa    06/02/20

Desde el nacimiento de las civilizaciones surgió la necesidad de comunicarse. Inicialmente a través de lenguajes que permitían la interacción mediante señas; posteriormente, de forma verbal y escrita; pero con la invención de las computadoras en los años 40, se generó una nueva forma de comunicación hombre-máquina por medio de un lenguaje con instrucciones para el desarrollo de algoritmos computacionales.

Como es bien sabido, el objetivo de cualquier lenguaje como el español (humanos) y el C++ (computadoras) es comunicar; por ello, de la misma forma que los lenguajes humanos, los computacionales tienen reglas gramaticales, tanto de léxico, como de sintaxis y semántica. Las reglas de léxico están relacionadas con la formación de palabras válidas en el lenguaje. Por otro lado las reglas de sintaxis tienen que ver con la forma válida de formación de frases y oraciones (ej. sujeto-verbo-predicado), que en el caso de los lenguajes de programación están relacionados con la escritura y formación de instrucciones válidas para la computadora. Las reglas semánticas establecen la forma de cómo podemos  ordenar y combinamos palabras y frases que den sentido a la comunicación, que para el caso computacional se considera el buen uso de variables, funciones, paréntesis y signos de puntuación.

Estas reglas, para el caso de los lenguajes de programación, deben respetarse más rigurosamente en comparación con los lenguajes humanos ya que cualquier falta de un signo de puntuación o un mal acomodo de un símbolo aritmético causará un error que no permitirá la ejecución del programa de computadora. El proceso de revisión de reglas gramaticales y la traducción del programa escrito en lenguaje computacional (Programa fuente) en lenguaje de máquina (Programa objeto), lo lleva a cabo un programa llamado compilador. En caso de que se incurriera en alguna falta gramatical, el compilador marcará un error o, en su defecto, una advertencia (warning, error menor) en que se incurrió.

Historia de los lenguajes de programación

En un inicio, en la década de los 40, para poder capturar y comunicarse con el computador, los programadores utilizaban un conjunto de paneles con switches donde se podía manipular directamente el lenguaje de máquina usando ceros (apagado) y unos (encendido). El manejo del lenguaje de máquina (unos y ceros) como forma de comunicación era bastante complicada y tediosa por lo cual en los 50 fueron desarrollados los lenguajes ensambladores que usaban verbos en inglés llamados mnemónicos, para realizar operaciones con los datos de entrada, tales como operaciones aritméticas o de almacenamiento y recuperación de datos de la memoria de la computadora. En los años 60 se dio un avance en el desarrollo de hardware de entrada/salida (I/O) ya que fue posible capturar las instrucciones y comunicarse con los equipos desde teclados tipo máquina de escribir llamados télex o teletipos e impresoras de papel así como con perforadoras y lectoras de tarjetas y terminales con pantallas de monitores CRT. A pesar del uso de lenguajes ensambladores que facilitaban la comunicación, la relación de instrucciones entre lenguaje de máquina y ensamblador era prácticamente 1 a 1, por lo cual era aún difícil programar complejos algoritmos. Al final de los años 50 se desarrollan diferentes lenguajes de más alto nivel que tenían la posibilidad de agrupar instrucciones para ensamblador y/o lenguaje de máquina. Estos lenguajes se han especializado a través del tiempo en diferentes áreas de aplicación, de tal forma que surgieron entre otros:

  • El FORTRAN (FORmula TRANslation, John Backus, 1957) orientado a aplicaciones de ingeniería y ciencia, el cual ha sido utilizado en las universidades más importantes como el MIT, Harvard y Stanford. 

  • El COBOL (COmmon Business Oriented Language, Grace Hopper, 1959) un lenguaje orientado a aplicaciones de negocios para manejar aplicaciones como contabilidades e inventarios entre otros. 

  • El BASIC (Beginner's All-purpose Symbolic Instruction Code, John Kemeny y Thomas Kurtz, 1964), un lenguaje fácil para desarrollar aplicaciones enfocado a programadores principiantes. 

  • El Lenguaje C (Dennis Ritchie, 1972) pensado en un inicio para desarrollar un sistema operativo universal en los Laboratorios Bell, el UNIX, y que rápidamente se extendió a diferentes aplicaciones. Éste ha sido uno de los lenguajes que revolucionaron la programación por su simplicidad, estructuración y definición de nuevos tipos de datos (programación orientada a objetos), por lo que ha sido uno de los lenguajes más utilizados hasta hoy, con nuevas versiones como C++ (Bjarne Stroustrup, 1983) y C# (Anders Hejlsberg, 2001). 

  • En 1995, surge una derivación del lenguaje C++, el JAVA, un lenguaje muy utilizado en nuestros días con gramática similar y una programación totalmente orientada a objetos utilizada principalmente para aplicaciones cliente-servidor de web y teléfonos móviles. 

  • Recientemente ha tenido un fuerte crecimiento el uso del lenguaje PYTHON (Guido van Rossum, 1989 ) ya que es un lenguaje fácil de aprender además de ser multiplataforma, lo que facilita ampliamente la programación.

Como conclusión, se puede enfatizar el rol y la importancia del lenguaje tanto en el ámbito humano como computacional. En el primer caso, como medios de comunicación entre los seres humanos para tener una adecuada interacción política, familiar y social; y en el caso computacional, como base fundamental para la comunicación hombre-máquina que permiten el desarrollo de algoritmos de alta complejidad. Estos algoritmos pueden realizar una infinidad de tareas que apoyan y agilizan las actividades diarias del ser humano, como el reconocimiento biométrico de personas, redes sociales, minería de datos y la posibilidad de tener automóviles de conducción autónoma, entre muchas otras.

Referencias

  1. History of Programming Languages (Acm Monograph Series) Richard L. Wexelblat (Editor), Academic Press; 1st edition (June 1, 1981), ISBN-10: 0127450408, ISBN-13: 978-0127450407

  2. The Computer Book: From the Abacus to Artificial Intelligence, 250 Milestones in the History of Computer Science (Sterling Milestones), Simson L. Garfinkel, Rachel H. Grunspan, Sterling Milestones (November 6, 2018), ISBN-10: 145492621X, ISBN-13: 978-1454926214

  3. Compilers: Principles, Techniques, and Tools (2nd Edition) 2nd Edition, by Alfred V. Aho et al, Addison Wesley; 2nd edition (September 10, 2006), ISBN-10: 0321486811,ISBN-13: 978-0321486813

Francisco Javier Cuevas de la Rosa. Ingeniero en Sistemas Computacionales por el Instituto Tecnológico y de Estudios Superiores de Monterrey. Maestro en Ciencias en la Computación con especialidad en Inteligencia Artificial por dicha Institución y Doctor en Ciencias por el Centro de Investigaciones en Óptica de León, donde es investigador actualmente. Realizó una estancia posdoctoral en el Centro de Investigación en Computación del IPN y ha realizado estancias en Estados Unidos y Europa. Tiene más de 40 publicaciones. Es miembro del Sistema Nacional de Investigación desde 1995 y fundador de la Red de Innovación Tecnológica en Optomecatrónica.

Contacto: fjcuevas@cio.mx

Scholar Google: http://bit.ly/FranciscoCuevas

Este texto se publicó originalmente en la Revista Cultural Alternativas 114

 


Historias Populares
Historias Recientes

Instituto Cultural de León

Oficinas Generales
Edificio Juan N. Herrera s/n
Plaza Benedicto XVI, s/n
Zona Centro
León, Guanajuato, México.

E-mail: prensaicl@gmail.com
Teléfonos: (477) 716 4301 - (477) 716 4899