Está en la página 1de 20

1

Evolución de los lenguajes de programación

Carlos Vasconez, Steve Tiban, Katty Moyano y Borys Vilema

Facultad de informática y electrónica, Escuela Superior Politécnica de Chimborazo

Ingeniería en software

Danilo Mauricio Pastor Ramirez

3 de mayo de 2022
2
3

Índice

Índice............................................................................................................................... 3

Introducción ........................................................................................................................ 4

Objetivos ............................................................................................................................. 5

1.1 Objetivo General ................................................................................................... 5

1.2 Objetivo Especifico ............................................................................................... 5

Evolución de los lenguajes de Programación ..................................................................... 6

1.3 Generación de los lenguajes de programación ...................................................... 6

1.4 Ventajas y Desventajas entre los lenguajes de programación ............................. 15

Recomendaciones ............................................................................................................. 17

Conclusiones ..................................................................................................................... 18

Bibliografía ....................................................................................................................... 19
4

Introducción

La presente investigación abarca la evolución de los lenguajes de programación, dando a

conocer que desde el siglo XX se fueron descubriendo y desarrollando lenguajes de

programación que máquinas y computadoras de distintas épocas utilizaban para su

funcionamiento, además de analizar una comparación entre las múltiples ventajas y desventajas

que tienen estos lenguajes.

A medida que los computadores fueron introduciéndose en el ámbito empresarial,

académico y social, el desarrollo de los lenguajes de programación se dividió en primera,

segunda, tercera, cuarta y quinta generación que se tiene hasta la actualidad; aquellos lenguajes

antiguos de programación como FORTRAN fueron reemplazados por otros lenguajes más

sencillos de aprender y más fáciles de emplear. Estos lenguajes más veraces y sencillos se los

denomina de alto nivel; ya que, poseen una estructura que se ajusta más al pensamiento humano

y no tanto a la manera de trabajar del computador. Unos ejemplos de estos lenguajes son Pascal,

Visual Basic, C, entre otros.

Como sabemos un programa es un conjunto de órdenes e instrucciones que se da al

computador para que resuelva un problema o ejecute una determinada misión (Aranda, sf). Y los

lenguajes de programación son un idioma artificial formado por símbolos, reglas sintácticas y

semánticas que pueden ser llevadas a cabo por una máquina como las computadoras. Los

lenguajes de programación pueden usarse para crear programas que controlen el comportamiento

físico y lógico de una máquina y, para analizar este tema es necesario comprender los principios

en los que se cimentaron los lenguajes de programación para llegar a los nuevos lenguajes que

tenemos hoy en día, que son más avanzados y con un alto nivel.
5

Objetivos

1.1 Objetivo General

Conocer los conceptos necesarios para el análisis, diseño y desarrollo de algoritmos

básicos y su respectiva implementación en un lenguaje de programación, para formar programas

de software, aplicaciones, páginas webs, scripts u otros conjuntos de instrucciones para que sean

ejecutadas por los ordenadores.

1.2 Objetivo Especifico

Demostrar que los lenguajes de programación son empleados para diseñar e implementar

programas encargados de definir y administrar el comportamiento de los dispositivos físicos y

lógicos de una computadora.

Identificar como a lo largo de los años, los lenguajes de programación han aumentado su

potencia y flexibilidad para, de esa forma, llevar a cabo las tareas complejas que la innovación y

las nuevas tecnologías de información y comunicación (TIC) nos exigen.

Analizar de manera precisa sobre qué datos debe operar un software específico, cómo

deben ser almacenados o transmitidos dichos datos, y qué acciones debe tomar el software bajo

una variada gama de circunstancias.


6

Evolución de los lenguajes de Programación

1.3 Generación de los lenguajes de programación

Los lenguajes de programación a lo largo del tiempo han sido desarrollados para aportar

una relación entre el ser humano y el computador, además de acelerar este proceso y permitir que

más personas se conviertan en programadores. Ahora hay muchos lenguajes para que los

programadores elijan, que varían en complejidad y facilidad de uso, desde lenguajes de bajo

nivel que están más cerca de los lenguajes de máquina hasta lenguajes de alto nivel que están

más cerca de los lenguajes humanos por ello lo detallaremos por medio de generaciones .

La primera generación de lenguajes de programación corresponde al lenguaje máquina, el

cual consiste en programar en el único lenguaje que entiende el microprocesador: su propio

código binario. Esta práctica comenzó nada más aparecer los primeros ordenadores en las

décadas de los 40 y 50 del siglo XX.

En el lenguaje de máquina nos encontramos con las instrucciones, que son las órdenes

que se utilizan para que un hardware realice una acción determinada. Cuando varias de estas

instrucciones se juntan se procede a la creación del lenguaje propiamente dicho, el cual está

formado por combinaciones de ceros y unos en relación lógica dentro de cada caso. En el

momento en el cual estas instrucciones se representan en una cadena se produce un proceso de

funcionamiento que ayuda a que la máquina, dentro de la arquitectura propia de la misma

(considérese que cada microprocesador hacía uso de propio código binario), realice la tarea que

hubiera sido programada.

La combinación de unos y ceros hace referencia al alfabeto binario, que está formada por

estos caracteres y que acaban formándose en distintos baremos de voltaje para representar los
7

procesos. Cuando esta combinación de números termina de prepararse en una instrucción que

llegará al microprocesador, se tendrá que dar final a la operación por parte de un proceso

denominado como compilación. De esta forma se reunirán los datos y se les podrá un

“envoltorio” digital que los llevará hasta la máquina para que esta pueda proceder a la ejecución.

En el momento en el que las instrucciones llegan al ordenador se pueden apreciar dos

partes fundamentales: la operación y el comando. Esto es lo que deriva en que el equipo

informático sepa cuál es la instrucción que se le ha proporcionado y cómo es la función que

tendrá que poner en acción. Estos datos permitirán que el sistema pueda saber dónde consultar

para poner en marcha el proceso o el lugar en el cual proceder con el almacenado de los datos. Y

a partir de aquí solo habrá que esperar, aunque el tiempo dependerá de cada proceso, dado que

puede haber más o menos comandos dependiendo de cada caso.

URL:https://go.yuri.at/juegos/clase1/clase1_compile.gif

Durante la década de los 40 y 50, elaborar un programa con lenguaje máquina necesitaba

una gran cantidad de tiempo y se cometían muchos errores, pues los datos e instrucciones se

deben introducir en sistema binario y, además, obliga a conocer las posiciones de memoria donde

se almacenan los datos. Esto sucedía, ya que el lenguaje máquina estaba hecho más para las

computadoras que para los humanos.


8

¿Cómo es que describimos un programa como números?, a cada acción que sea capaz de

realizar nuestra computadora, asociarle un número, que será su código de operación (opcode).

Por ejemplo, una calculadora programable simple podría asignar los opcodes:

1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.

Supongamos que queremos realizar la operación 5 * 3 + 2, en la calculadora descrita

arriba. En memoria, podríamos "escribir" el programa de la siguiente forma:

URL:https://go.yuri.at/juegos/clase1/clase1_opcode.gif

La aparición de la segunda generación de lenguajes es una agrupación de lenguajes de

programación asociados con lenguajes ensambladores. A diferencia de los lenguajes de primera

generación, los programas pueden escribirse simbólicamente, usando palabras en inglés (también

conocidas como mnemotécnicas), de manera que un humano pueda comprender y un ensamblador

los convierta posteriormente en lenguaje máquina.


9

URL: https://s3.amazonaws.com/s3.timetoast.com/public/uploads/photo/10758055/image/a21687673956ddbc00ec2485c44b0b15

Los lenguajes de ensamblaje son específicos de la computadora y la CPU. El término se

utiliza en la distinción entre lenguajes de máquina (1GL) y lenguajes de programación de nivel

superior (3GL, 4GL, etc.)

Los lenguajes de ensamblaje se originaron en la década de 1940 y se atribuyen a los

esfuerzos de la oficial naval estadounidense Grace Hopper, con la introducción del lenguaje

FLOW-MATIC para la computadora ENIAC.

2GL se utilizan principalmente para la implementación de kernels y controladores de bajo

nivel y para aplicaciones orientadas al rendimiento y de procesamiento intensivo, como juegos de

computadora, aplicaciones de manipulación gráfica y aplicaciones de edición de video.

La representación simbólica de las instrucciones, registros y direcciones de memoria de la

máquina permite al programador producir un programa legible por humanos. Para que la

computadora entienda el programa, debe convertirse a un formato legible por máquina utilizando

un ensamblador. El ensamblador generalmente convierte los mnemónicos a través de un mapeo


10

uno a uno de la representación mnemónica al lenguaje de máquina, para una familia de

procesadores y un entorno en particular.

Los ensambladores permiten una depuración más fácil del programa y también introducen

mecanismos de programación más avanzados, como la programación macro y la programación

estructurada.

Denominados como el inicio de los lenguajes de alto nivel, la tercera generación

comenzó a finales de la década de 1950, con una idea totalmente distinta a los de segunda

generación se diferencian por su manera de escribir y como soporte mejorado a los tipos de datos

agregados, además de aportar una ayuda para el programador y no al computador, encargados

esencialmente para que el computador se encargue de detalles no esenciales, estos lenguajes de

programación de alto nivel que son independientes del hardware: los más representativos son C,

Ada, C++, C# y Java.

C (1969): desarrollado por Dennis Ritcher, (sus características se derivaban de un

lenguaje anterior denominado B) fue usado en el sistema Unix y fue tan poderoso que la mayoría

del núcleo de Unix por reescrito por C; hoy en día, Linux está todavía basado en lenguaje C
11

Ada (1979): su nombre es en honor a Ada Lovelace; Ada es un lenguaje

de programación orientada a objetos y fuertemente tipado de forma estática que fue diseñado por

Jean Ichbiah. ADA es un lenguaje estrictamente tipado y estáticamente tipado, lo que hace que la

mayoría de los errores puedan detectarse en tiempo de compilación y antes de empezar a ejecutar

el programa. Ada se usa principalmente en entornos en los que se necesita una gran seguridad y

fiabilidad como la defensa, la aeronáutica (Boeing o Airbus), la gestión del tráfico aéreo (como

Indra en España) y la industria aeroespacial entre otros.

C++ (1983): Bjarne Stroustrup modificó el lenguaje C al C++, creando lo que muchos

consideran el lenguaje de programación más popular, facilitaba la programación orientada a

objetos. Hoy en día es usado por Firefox, Office y Adobe PDF Reader.

C# (2001): Fue creado por el danés Anders Hejlsberg. Buscaba ser un "lenguaje

orientado a objetos de uso general moderno y sencillo". Actualmente funciona para desarrollar

programas de toda clase y sigue siendo demandado por muchos programadores.

Java (1995): Java fue creado por James Gosling, él creo Java para arrancar los

decodificadores de una televisión interactiva. Hoy en día, Java está presente en más de 1.000

millones de PCs de todo el mundo y muchas websites no pueden funcionar sin ella. Fue utilizada

en 2004 en la misión de la NASA Mars Rovers.

JavaScript (1995): Javascript fue desarrollada por Brendan Eich, de Netscape, bajo el

nombre de Mocha. Tiene influencia del lenguaje C. Hoy en día es usado en servicios como

node.js. De él depende AJAX.

A partir de estos lenguajes se basan la cuarta generación de lenguajes específicamente

aparecen a principios de los 70 y finales de los 90, nacen con el propósito de diseñar nuevos
12

lenguajes de programación con un refinamiento únicos y una propuesta mejorada a los de tercera

generación, lo que se buscaba con esta es aumentar el nivel de abstracción con respecto a los

detalles del hardware, en otras palabras que esta generación no necesiten conocer los detalles del

sistema sobre los cuales se ejecutan.

La 4 GL son lenguajes similares a los hechos por un humano, generalmente se tipifican

como un lenguaje que ejecuta conjuntos de información simultáneamente en vez de centrarse

solo en bits y bytes, contienen una conexión distinta para la representación del control y

representación de las estructuras de datos, sin embargo en 4GL representa estas a un nivel mucho

mayor de abstracción, suprimiendo el especificar los detalles algorítmicos.

URL: https://s3.amazonaws.com/s3.timetoast.com/public/uploads/photo/13772111/image/5509dac211e1e3a07bb0f68f4bccf50a

Por otra parte los 4GL combina propiedades de procedimientos y de los no orientados a

los mismos, es decir, esta generación permite al usuario enumerar condiciones con sus propias

acciones y así mismo pedir al usuario que indique el resultado deseado, encontrar los detalles

orientados a los procedimientos mediante la aplicación de su conocimiento de lenguaje de


13

dominio especifico conocido como DSL, además de gestionar una interfaz grafica con el usuario,

permitiendo manejar miles de datos de manera fluida y sencilla con el programador.

Por ejemplo, para acceder a una fuente de datos externa que supera la capacidad de

memoria que posee el computador, en un lenguaje de cuarta generación seria mas transparente

para el programador, se manejaría todo una porción de registros en una librería propia de ese

lenguaje las que se encargarían de ir actualizado los datos en ambos sentidos tanto de la capacidad

de la fuente de datos externa y viceversa.

Algunos lenguajes que contienen estos tipos de características propias de la cuarta

generación seria como Python, Ruby y Perl aunque en realidad estas son propios de tercera

generación pero con diferencia que son un poco mas avanzados, además otros lenguajes como

C++, C# y java propios a orientado a objetos incluyen librerías de funciones cada vez mas

completas, permitiendo al programador trabajar con todas las funciones previstas para esta

generación.

En última instancia la quinta generación de los lenguajes de programación, despego a

décadas de 1980 llegando a considerarla como la ideología futurista de la informática. En Japón

por 1982 y 1993 se dedicaron muchas inversiones a la investigación y perfeccionamiento de esta

generación con el único objetivo de poner en funcionamiento una abismal red de computadores

utilizando esta tecnología, ¿pero en que se basaba este nuevo sistema de lenguajes?

La 5GL propuso una nueva forma de diseñar con la finalidad de que el computador resuelva

problemas sin ayuda de los programadores, únicamente el programador solo debería preocuparse
14

de que problemas pueden ser solucionados y que condiciones son esenciales que se cumplan para

encontrar ese problema, sin la obligación de implementar algoritmos específicos para resolverlos.

URL: https://k62.kn3.net/taringa/9/8/6/A/6/3/ChristopherTanch/08C.jpg

Por ejemplo existen ciertos lenguajes como Mercury, OPS5 y Prolog este último es un

ejemplo de lenguaje de programación lógica. Utiliza una forma de lógica matemática (cálculo de

predicados) para resolver consultas en una base de datos de hechos y reglas proporcionada por el

programador.

Pero por ello mismo surgieron grandes problemas en dicha generación, no es fácil gestionar

automáticamente soluciones que resuelvan problemas a partir de sus requisitos, ya que era un salto

muy grande para el ser humano siendo este el problema hasta ahora más difícil de comprender; a

partir de este, es el reto mas importante a la hora de comprender la inteligencia artificial.

A raíz de esta generación se considero que el intento de clasificarlos a los lenguajes por su

generación era incongruente, ya que con el paso de evolución de los lenguajes de programación

las otras generaciones quedarían en el olvido y obsoletas, no obstante la quinta generación quedaría
15

como un intento impresionante si se llegase a realizar pero difieren mucho lo que se tenia como

objetivo principal esta generación.

Para resumir, la generación de lenguajes de programación son una larga historia de la

informática y la programación, y mediante generaciones se categorizan desde los lenguajes de

máquina básicos que se manejaban, lenguajes con compiladores, lenguajes con una estructura

semántica similar a los de los seres humanos utilizados hoy en día, lenguajes orientados a la gestión

y manejo de bases de datos y finalizando por lenguajes orientados a la inteligencia artificial.

1.4 Ventajas y Desventajas entre los lenguajes de programación

Los lenguajes de programación han aportado mucha facilidad a la comunicación entre el

ser humano y el computador pero a su vez ha generado una gran competencia entre estos

lenguajes llegando a ser un aporte negativo hacia el campo laboral, además de estas existen otros

puntos favorables como en contra, pero para compararlos de mejor manera es necesario

determinar sus pros y sus contras por medio de los lenguajes de bajo y alto nivel:

VENTAJAS DESVENTAJAS

 Es un código sencillo y  Lenguaje demasiado atado al

muy adaptable, con instrucciones hardware, y esto hace más

directas, de fácil conversión y por si difícil poder estructurar

esto no fuera poco, también trabaja algunos programas.

a gran velocidad.  Se debe estar atento a la hora

Lenguajes de bajo nivel  Al no tener que interpretarse ni de usarlo para evitar cometer

compilarse nada, el código se errores que puedan

ejecuta tal cual sobre el hardware, incrementar de forma sensible

evitando intermediarios.
16

el trabajo y la revisión que se

haga del código.

 Su lectura y su código son accesibles  Al momento de codificar y

y fácil de comprender, debido a que querer ejecutarlo por medio de

permiten codificar de manera más la computadora esta genera un

natural que codificarlos en un retroceso muy grande por que

lenguaje binario o de máquina. se pone muy lento.

 El aprendizaje de estos lenguajes es  A pesar de contar con una

corto, además que basan en reglas clase de estructura

Lenguajes de alto nivel similares a los del ser humano por multiplataforma, requieren de

medio de palabras reservadas. una herramienta denominada

 Al ser un lenguaje prácticamente “Máquina de Cliente”, y es

sencillo de entender permite que esta la que es muy necesaria si

mas personas se adentren al mundo el equipo en donde se está

laborar. trabajando no tiene cierto

requisito básico para la

instalación del llamado

manejador de datos.

:
17

Recomendaciones

Como recomendación, debemos investigar y comprender como funcionaban las

computadoras en sus inicios, más específicamente sus lenguajes de programación, para poder tener

unas bases en esta ciencia muy sólidas, ya que el entender a los sistemas automáticos desde una

forma muy primitiva mejorará nuestro raciocinio y eficacia programando.

También no debemos dejar a un lado la programación moderna, ya que esta evoluciona

continuamente y a veces nos puede sofocar de tanta información, por lo cual recomendamos ser

organizados en nuestras búsquedas y aprovechar al máximo las herramientas que hoy en día las

computadoras nos ofrecen.


18

Conclusiones

Según lo analizado, hemos visto la evolución que han tenido los lenguajes de programación

hasta el día de hoy; en un inicio estos eran muy complicados de entender, ya que estaban diseñados

más para las computadoras que para los humanos, por lo cual trabajar con lenguaje máquina y

ensamblador era una tarea de muy alta complejidad, pero no todo era malo, pues estos lenguajes

aprovechaban al máximo el hardware y recursos que la computadora poseía, dándonos programas

muy eficientes en tiempo de ejecución y ocupación de memoria.

Según avanzó la época también lo hicieron las computadoras en conjunto a los lenguajes

de programación, dándonos nuevas formas de programar, donde los lenguajes ya eran

independientes del hardware, por consiguiente, las instrucciones eran mucho más fáciles de

entender para los programadores, aumentando la eficiencia al momento de desarrollar cualquier

tipo de software. Todas estas características ponen de manifiesto un acercamiento a las personas y

un alejamiento de la máquina, pero, estos lenguajes no eran entendidos por las computadoras, ya

que el ordenador puede interpretar y ejecutar sólo el código máquina, por lo cual se necesitaron de

programas especiales, denominados traductores. Ya con estas herramientas, el programar en esta

época está al alcance de todos, para así contribuir a la sociedad de forma positiva.
19

Bibliografía

Adrián, J. A. G. EVOLUCIÓN HISTÓRICA DE LOS LENGUAJES DE

PROGRAMACIÓN. DE LA INFORMÁTICA, 27.

Tipos de lenguajes de programación. OpenWebinars.net. (2022). Recuperado el 3 de

mayo de 2022, de https://openwebinars.net/blog/tipos-de-lenguajes-de-

programacion/#:~:text=Los%20lenguajes%20de%20segunda%20generaci%C3%B3n,de%20vide

o%2C%20gr%C3%A1ficos%20y%20videojuegos.

¿Qué es un lenguaje de programación de segunda generación (2gl)? - definición de

tecnología - Desarrollo - 2022 . Ciencia helada. (2022). Recuperado el 3 de mayo de 2022, de

https://es.theastrologypage.com/second-generation-language.

¿Qué es un lenguaje de programación de segunda generación (2gl)? - definición de

tecnología - Desarrollo - 2022 . Ciencia helada. (2022). Recuperado el 3 de mayo de 2022, de

https://es.theastrologypage.com/second-generation-language.

Lenguaje de programación de segunda generación Lenguaje de programación de segunda

generaciónyVer también . Hmong.es. (2022). Recuperado el 3 de mayo de 2022, de

https://hmong.es/wiki/Second_generation_language.

Martín Villalba, C. Urquía Moraleda, A.; Rubio Gonzáles, M. Á. Lenguajes de


programación. ed. [S. l.]: UNED - Universidad Nacional de Educación a Distancia, 2021. 568
p. Disponible en: https://elibro.net/es/ereader/espoch/184827?page=21

Rojas E. (26 de agosto, 2011). La historia de los lenguajes de programación. Puedes


encontrarla en: https://www.muycomputerpro.com/2011/08/26/historia-lenguajes-
programacion
20

Aranda V. (s.f). Historia y evolución de los lenguajes de programación. Encuéntralo en:


https://www.acta.es/medios/articulos/informatica_y_computacion/034083.pdf

Socrates. (2021, febrero 3). Lenguaje de quinta generación (programación) (5gl).

Techinfo.wiki. https://techinfo.wiki/lenguaje-de-quinta-generacion-programacion-5gl/

Aranda, V. T. (2004). Historia y evolución de los lenguajes de programación. ACTA,

Vols, 1, 21888-6051.

[N. (2020, abril 28). Desarrollo low-code, lenguajes de programación de cuarta

generación y herramientas de desarrollo de aplicaciones rápidas. Velneo.

https://velneo.es/desarrollo-low-code-lenguajes-de-programacion-de-cuarta-generacion-y-

herramientas-de-desarrollo-de-aplicaciones-rapidas/

También podría gustarte