Evolución De Los Lenguajes De Programación
Para que exista una buena interacción hombre-Computadora debe existir un intermediario, programa. Después de procesadas las ordenes suministradas por el hombre en un lenguaje tipo máquina, el programa recibe las ordenes e instrucciones; ya de manera entendible. Luego, se emite una respuesta la cual puede ser presentada o expuesta mediante los dispositivos de salida (pantalla, impresora, parlantes, etc), es decir, es una interacción permanente entre el software, hardware y el recurso humano. En otras palabras el único medio para que el recursos humano pueda comunicarse con la computadora es con el lenguaje de programación, el cual facilita ejecutar actividades o solucionar problemas.
Como se mencionó anteriormente cada uno de los programas logran ser ejecutados por el procesador siempre y cuando dichos programas se encuentren en el lenguaje nativo del procesador. Para lograr más fácil el manejo y evitar tanto error, dichos lenguajes han venido evolucionando presentando diseños con lenguajes que cada vez se asemejan lo mas posible al lenguaje humano (hoy en día se utilizan palabras en inglés). Cabe ser resaltado que aquel lenguaje que introduce el hombre cual haya sido, la computadora siempre lo debe traducir a su lenguaje maquina (sistema binario) el cual es el único que entiende la unidad central. (Jimenez-Murillo, Jiménez-Hernández, & Alvarado-Zamora, 2015).
Según López-Román (2005) todo lenguaje de programación debe estar compuesto por un alfabeto (caracteres alfabéticos, numéricos y especiales), vocabulario o léxico (palabras validas o reservadas con significado predeterminado) y una gramática (las reglas sintácticas para construir frases oraciones o instrucciones).
Los lenguaje de programación al están compuestos por los elementos ya mencionados les permite manejar los tres componentes de todo programa los cuales son la estructura de datos, operaciones primitivas elementales y estructuras de control.
De acuerdo con Jimenez-Murillo,et al (2015) dependiendo la complejidad que presente los lenguajes de programación a la hora de utilizarlos, los programadores los han clasificado en tres niveles:
- Lenguajes de bajo nivel, difíciles de entender y cada instrucción se codifica de manera muy similar al lenguaje nativo de la máquina.
- Lenguajes de alto nivel, para programadores novatos, se utilizan enunciados parecidos al inglés.
- Compiladores, traducen los lenguajes de programación de alto nivel a uno de bajo nivel (código binario)
Es importante identificar la diferencia que maneja el código fuente y código objeto, el primero son todas las instrucciones escritas en lenguaje de programación, mientras que el código objeto son el conjunto de instrucciones binarias que ya han sido traducidas y que la computadora ya puede ejecutar.
El lenguaje de programación no siempre ha sido igual a como lo conocemos actualmente pues este ha evolucionado conforme avanza la sociedad, de acuerdo con Jimenez-Murillo,et al (2015) en su libro nos indica que existen cinco generaciones, las cuales se van a enumerar a continuación:
- Primera generación, llamada lenguaje maquinal tiene solo un lenguaje de programación, lenguaje nativo o lenguaje en máquina, las instrucciones se escribían en series de ceros (0) y unos (1), es decir, sistema binario.
- Segunda generación, lenguaje ensamblador, para no programar directamente en sistema binario se desarrolló un programa para traducir las instrucciones en código máquina, es de bajo nivel.
- Lenguaje de alto nivel, son similares al inglés y facilitan el trabajo del programador, para ser ejecutados los programas, no importa com0 se hayan escrito estos puesto que siempre serán traducidos por un compilador al lenguaje máquina, en esta generación encontramos gran cantidad de lenguajes como COBOL, BASIC, FORTRAN, C, PASCAL, etc.
- Cuarta generación, lenguaje orientado a la producción o al usuario (4GL, estos lenguajes generan e forma automática la mayor parte de los procedimientos de un programa, el programador ordena lo que quiere pero no como se hace
- Quinta generación, lenguajes naturales, se asemejan más a el lenguaje humano que la generación anterior.
Dentro de los lenguajes de programación trabajados en la tercera generación podemos encontrar los siguientes:
- FORTRAN: (FORmula TRANslator) Creado en 1950”es el lenguaje favorito de científicos, matemáticos e ingenieros por su eficiencia, rapidez y utilización de memoria” (Jimenez-Murillo,et al 2015).
- COBOL: (COmmon Business Oriented Language) creado e introducido hacia 1960, un lenguaje orientado hacia funciones administrativas, de gran portabilidad y legibilidad. (Trigo-Aranda)
- BASIC: Desarrollado en 1964, Villarreal (1999) afirma que este lenguaje es muy sencillo lo cual lo hace fácil para aprender promoviendo un ambiente interactivo. Hoy en día es de gran utilidad para los estudiantes de computación básica.
- LOGO: Este lenguaje “introduce al mundo de la programación de una forma gráfica, mediante la geometría de la tortuga”., aunque “ha ido desapareciendo ya que se basa en la utilización continua de listas y procedimientos recursivos, que no son fáciles de manejar. (Trigo-Aranda)
- LENGUAJE C: Desarrollado a mediado de la década de los 60 pero fue siendo modificado hasta los 70 (C tradicional), es un lenguaje totalmente evolucionado porque llevo a que el lenguaje sea independientes de la computadora, esto le facilita compartirlo de una computadora a otra, se utiliza en la mayoría de aplicaciones software comercial. (Aguilar, y otros, 2004)
- LISP: Es un lenguaje muy útil para científico y teóricos porque lo utilizan en el desarrollo de programas que desempeñan inteligencia artificial (Aguilar, y otros, 2004); (Villarreal, 1999).
- PROLOG: De acuerdo con Trigo-Aranda este lenguaje es de tipo declarativo puesto que no utiliza algoritmos sino descripciones, es decir de cierta manera la computadora adquiere “conocimiento”
Ya descritos los principales lenguajes de programación que surgieron años atrás y que aún se manejan, también es importante nombrar las tendencias tradicionales de programación que según Villarreal (1999) se quieren desarrollar hacia un futuro:
- Programación orientada a objetos: se enfoca en la creación de objetos, como un bloque de códigos que puede interpretar los mensajes enviados para su oportuna operación.
- Programación visual: el programador no se debe aprender el lenguaje o sintaxis sino que debe seleccionar el paso que quiere seguir con solo manejar ventanas de diálogos.
Conclusiones
Los lenguajes de programación principalmente buscan resolver problemas mediante procesos, a través de los cuales podemos mejorar la comunicación con el software y hardware, para dar así ordenes adecuadas y poder llegar a una solución más eficaz.
Al pasar de los años la evolución que ha tenido el lenguaje de la programación juega un papel fundamental en el desarrollo de la sociedad ya que le ha permitido al ser humano tener una conexión más cercana con la computadora, creando técnicas que facilitan la comprensión y manejo de la misma. (Spector & Robinson, 2002)
A medida que esté fue creando métodos completamente novedosos de mejoramiento se fue involucrando con campos educativos empresariales y demás, obligando al humano a sustituir los lenguajes primitivos por otros más sencillos y cómodos de aplicar, como lo son BASIC, PASCAL, etc (Trigo-Aranda)
Anteriormente solo se utilizaban informaciones o códigos numéricos digitales pero desde hace algunos años se viene trabajando para asimilar lo mejor posible al lenguaje humano, facilitando el uso de programación aquella persona inexperta.
En los inicios del lenguaje de programación se tenía cierto porcentaje de error, debido al grado de complejidad que esté manejaba, pero la sociedad ha requerido una actualización donde implique el mejoramiento de estos lenguajes, disminuyendo este porcentaje de error de manera abrupta.
De cierta manera es evidenciable que los programadores utilizan lenguajes de programación para elaborar paquetes de software como procesadores de palabras y hojas de cálculo, siendo de gran facilidad para cualquier persona así no tenga experiencia en programación.
Bibliografía
- Aguilar, M., Ormset, A., Ríos, J. A., Hofboer, R., Zamorano, D., & Garcia, B. (2004). HISTORIA Y TIPOS DE LENGUAJE DE PROGRAMACIÓN. 1-11.
- Jimenez-Murillo, J. A., Jiménez-Hernández, E. M., & Alvarado-Zamora, L. N. (2015). Fundamentos de programación. (7-8, Ed.) Mexico: Alfaomega.
- López-Román, L. (2005). Metodología de la programación orientada a objetos (2 ed.). Mexico: Alfaomega.
- Spector, L., & Robinson, A. (2002). Genetic Programming and Autoconstructive Evolution with the Push Programming Language. Genetic Programming and Evolvable Machines, 3, 7-8.
- Trigo-Aranda, V. (s.f.). Historia y evolución de los lenguajes de programación. Autores cientficos-técnicos y académicos, 85-95.
- Villarreal, S. (1999). Introducción a la computación. Mexico: McGraw-Hill.