Logo Studenta

Lenguajes de Programação

¡Este material tiene más páginas!

Vista previa del material en texto

Los lenguajes de programación 
Por Antonio Torres Herivia 
 
 
 
 
Universidad Veracruzana 
Facultad de Ingeniería Eléctrica y Electrónica 
Programa educativo: Ingeniería Mecatrónica 
 
Los lenguajes de programación 
 
Autor: Antonio Torres Herivia 
 
Catedrático(a): Dr. Carlos Arturo 
Cerón Álvarez 
 
Experiencia Educativa: 
Algoritmos Computacionales y Programación 
(51945) 
 
17 de julio de 2020
 
3 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Índice 
Introducción ..........................................................................................................5 
 
Historia de los lenguajes de programación ........................................................6 
El primer lenguaje de programación ....................................................................6 
La máquina de Baddge y Ada Lovelance .............................................................7 
La máquina de Turing ..........................................................................................7 
Lenguajes de programación como los conocemos hoy ........................................8 
FORTRAN ........................................................................................................8 
COBOL .............................................................................................................9 
BASIC ............................................................................................................10 
LOGO .............................................................................................................11 
Lenguaje C .....................................................................................................12 
PASCAL .........................................................................................................13 
PROLOG ........................................................................................................14 
ADA ................................................................................................................15 
PYTHON ........................................................................................................16 
JAVA ..............................................................................................................17 
Línea del tiempo de los lenguajes de programación ..........................................18 
 
Paradigmas de programación ............................................................................19 
Paradigma imperativo ........................................................................................20 
Estructurado ...................................................................................................20 
Modular ..........................................................................................................21 
Paradigma declarativo .......................................................................................22 
Paradigma orientado a objetos ..........................................................................23 
 
 
 
 
 
4 
 
Los lenguajes de programación | Antonio T. Herivia 
 
 
Clasificación de los lenguajes de programación ..............................................24 
Según su nivel de abstracción ...........................................................................24 
Lenguaje máquina ..........................................................................................25 
Lenguaje de bajo nivel ....................................................................................26 
Lenguaje de medio nivel .................................................................................26 
Lenguaje de alto nivel .....................................................................................27 
 
Según su ejecución............................................................................................27 
Lenguajes compilados ....................................................................................27 
Lenguajes interpretados .................................................................................27 
Diferencias entre los lenguajes compilados e interpretados ...........................28 
 
Conclusiones ......................................................................................................29 
 
Bibliografía ..........................................................................................................30 
 
 
 
 
 
 
 
 
 
5 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Introducción 
 
Los lenguajes de programación son la base de las tecnologías modernas, ya se 
hable de comunicaciones, aparatos electrónicos entre otras cosas, la tecnología 
moderna desde la creación de los microprocesadores y microcontroladores, aunado 
a la creación de los computadores, han sido la base no solo para entenderlos y 
controlarlos sino para crear la aplicaciones o programas como procesadores de 
texto o datos, y demás programas con aplicaciones científicas, financieras o 
militares. 
El siguiente documento tiene como finalidad introducir un poco de historia de los 
lenguajes de programación mas destacados, mencionando algunas de sus 
características. También que y cuales son los paradigmas de programación. Y por 
último pero no menos importante los tipos de leguaje de programación, veremos 
todos los niveles así como los tipos de lenguaje interpretativos y compilados. Todo 
esto con el fin de comprender con mas claridad como se estructuran los algoritmos 
y diversos programas los cuales debemos ocupar para las distintas tareas que la 
ingeniería o actividad afín nos proponga para la solución de problemas o desarrollo 
de nuevas herramientas y conocimiento. 
 
 
 
 
6 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Historia de los lenguajes de programación 
 
La programación ha tomado un puesto importante en la vida moderna, todos los 
disipativos eléctricos o electrónicos, industriales o domésticos, además de las 
comunicaciones, dependen de componentes programables, además las 
aplicaciones que permiten el enviar y recibir mensajes de manera instantánea 
también son programadas, las redes sociales, programas computacionales, en fin, 
prácticamente toda la vida activa y tecnológica tiene como uno de sus pilares la 
programación. 
Y conseguir hacer dichos procesos o alcanzar estas tecnologías fueron el resultado 
de investigación y desarrollo exhaustivas por parte de personas de todo el mundo. 
La programación como tal tuvo sus inicios alrededor de 1950 pero desde mucho 
antes se tenia el concepto de código y algoritmo, tiempo después los lenguajes 
fueron evolucionando con base a las necesidades técnicas hasta lo que conocemos 
ahora a continuación se presenta una breve historia sobre la evolución de los 
lenguajes de programación. 
 
El primer lenguaje de programación nació en 1801 
Joseph Marie Jacquard fue el inventor del telar programable. Este inventor francés 
es el responsable de la programación. No es el inventor de esta, ya que las cosas 
han cambiado mucho desde entonces, pero está claro que creó el primer sistema 
de instrucciones para un ''computador''. Y es que, sus tarjetas programables se 
introducían en un telar que leía el código, las instrucciones, de dichas tarjetas y 
automatizaba procesos. Evidentemente, se trataba de crear diferentes diseños en 
tejidos, pero esto permitió que cualquiera con el telar y las tarjetas perforadas 
crearan estos diseños sin ser expertos en la materia. 
 
Imagen 1.- Telar 
de Jacquard desde 
diversos ángulos 
 
7 
 
Los lenguajes de programación | Antonio T. Herivia 
 
La máquina e Baddge y Ada Lovelace 
Entre 1842 y 1843, Ada Lovelace se 
propuso traducir las memorias del 
matemático italiano Luigi Menabrea y, 
mientras lo hacía, creó un lenguaje de 
programación a mano para calcular la 
serie de números de Bernoulli con la 
máquina de Babbage.La máquina de Turing 
En 1936 Alan Turing revolucionó la 
computación con su Máquina de Turing. Se 
trata de una máquina que demostraba que, 
con un algoritmo, podían resolver cualquier 
problema matemático. 
Si había un algoritmo, la máquina podía 
resolver el problema. 
 
 
 
 
 
 
 
 
Imagen 2.- Máquina de Babbage 
Imagen 3.- La máquina de Turing 
 
8 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Los lenguajes de programación como los conocemos hoy 
FORTRAN 
 Al comienzo de la década de los 50, John Backus estaba trabajando con SSEC 
(Selective Sequence Electronic Calculator), uno de los primeros ordenadores de 
IBM, y desarrolló el programa SPEEDCODING para Él. Tomando Este como base, 
se emprendió, en otoño de 1954, la creación de un lenguaje para añadirle más 
prestaciones al modelo IBM 704, que iba a salir pronto al mercado. 
Como su nombre indica, FORTRAN estaba (y está) destinado a la resolución de 
problemas científico - técnicos, resultando relativamente sencillo de aprender si se 
domina la notación matemática. 
 
 
 
 
 
 
 
 
 
 
 
Imagen 4.- Programa en FORTRAN 
 
9 
 
Los lenguajes de programación | Antonio T. Herivia 
 
COBOL 
A finales de los 50, el Departamento de Defensa USA estaba bastante preocupado 
con los lenguajes de programación existentes, especialmente por dos razones: los 
programas no podían llevarse de un ordenador a otro y resultaban bastante difíciles 
de leer y modificar. Para solventar estos inconvenientes, patrocinó una conferencia 
sobre lenguajes (CODASYL, COnference on DAta SYstems Languages), que tuvo 
lugar en 1959 y en la que participaron las grandes empresas del sector (IBM, Sperry 
Rand, Honey Well, etc.). Como era previsible, formaba parte del comité la gran 
dama de la informática, Grace Hopper. 
Fruto de aquella conferencia fueron las especificaciones para desarrollar COBOL 
(COmmon Business Oriented Language), un lenguaje orientado hacia funciones 
administrativas, de gran portabilidad y legibilidad. Su primera versión apareció al 
año siguiente y, con el paso de los años, surgieron nuevas actualizaciones: COBOL 
74, COBOL 85, etc. Ya que se buscaba su facilidad de lectura, COBOL tiene una 
sintaxis muy similar al inglés común, cuya terminología aparece continuamente: 
verbos, párrafos, frases, etc. Así, los programas se estructuran en cuatro divisiones 
(Identification, Enviroment, Data, Procedure), que se subdividen en secciones y 
éstas, a su vez, en párrafos, que constan de frases e instrucciones. 
 
Imagen 5.- Programa en COBOL 
 
10 
 
Los lenguajes de programación | Antonio T. Herivia 
 
BASIC 
John G. Kemeny y Thomas E. Kurtz eran profesores del Dartmouth College (New 
Hampshire) y, en 1964, diseñaron un nuevo lenguaje que permitiera introducirse a 
sus estudiantes en los sistemas de tiempo compartido. Ese lenguaje, al que 
llamaron BASIC por su sencillez, es, sin duda, el más difundido, aplicándose tanto 
en tareas de gestión como en aplicaciones científicas. 
¿Y a qué se debe la gran popularidad del BASIC? Lo cierto es que no era el mejor 
lenguaje ni el más potente, pero tenía dos ventajas a su favor: se trataba de un 
lenguaje sencillo de aprender y, además, su intérprete ocupaba poca memoria. Por 
estos motivos, cuando se creó el primer ordenador personal (Altair de MITS), no es 
extraño que se desarrollase un BASIC para él. Desarrollado y diseñado por 
Microsoft. 
Más tarde, Microsoft adaptó su BASIC a los productos de Apple, a los 
microordenadores y, lo más importante, al PC de IBM; de hecho, el sistema 
operativo MSDOS incluía la versión GW-BASIC. En resumen, mucha gente 
aprendió a programar en BASIC con su ZX-Spectrum o su primer PC y, una vez 
dominado un lenguaje, es comprensible una cierta reticencia al cambio. Además de 
GW-BASIC, hubo otras versiones que tuvieron cierta difusión en los 80, como Turbo 
BASIC (de Borland) y QuickBASIC (de Microsoft). De hecho, hasta Kemeny y Kurtz 
intentaron aprovechar el éxito de su creación y, en 1983, crearon True BASIC cuya 
comercialización no resultó muy 
fructífera. 
BASIC ha sabido adaptarse a las 
necesidades del mercado en el 
transcurso de los años. Así, las primeras 
versiones eran interpretadas y sus 
programas resultaban un tanto ilegibles; 
en cambio, las actuales incorporan 
bastante estructuración y son 
compiladas. El exponente máximo de los 
modernos BASIC es Visual BASIC de 
Microsoft 
 
 
 
 
 
11 
 
Los lenguajes de programación | Antonio T. Herivia 
 
 
LOGO 
En 1964, Seymour Papert se incorporó al MIT, tras haber permanecido cinco años 
en Suiza, colaborando con el pedagogo Jean Piaget (1896-1980). Tres años 
después, Papert comenzó a diseñar un lenguaje que sirviera para introducir en el 
mundo de la programación al alumnado de menor edad. 
¡Que los niños programen a los ordenadores y no los ordenadores a los niños! 
Poco a poco, LOGO fue poniéndose a punto y cuando, en 1980, Papert lo divulgó 
en todo el mundo con su libro Mindstorms: Children Computers and Powerful Ideas, 
fue muy bien acogido en los ámbitos educativos, especialmente en enseñanza 
primaria y secundaria. Teniendo en cuenta los pocos conocimientos matemáticos 
de sus potenciales usuarios, LOGO introduce al mundo de la programación de una 
forma gráfica, mediante la geometría de la tortuga. En los primeros tiempos, con 
LOGO se controlaba un pequeño robot con ruedas, motor y un lápiz retráctil, que 
admitía órdenes sencillas e intuitivas (Avanza, Retrocede, Gira a la derecha, etc.) y 
al desplazarse por el papel iba trazando el dibujo ordenado. Como el robot tenía 
forma abombada se le llamó tortuga (también influyó en el nombre 
el hecho de que era bastante lento). 
Sin embargo, tras un impulso inicial muy ilusionante, LOGO dejo 
de ser enseñado en las aulas. ¿Las causas? Por un lado, resulta 
que el lenguaje LOGO no es nada sencillo cuando se quiere ir más 
allá de la tortuga gráfica, ya que se basa en la utilización continua 
de listas y procedimientos recursivos, que no son fáciles de 
manejar. Por otra parte, la informática educativa ha ido perdiendo 
su componente formativa y creativa (la programación) y ha sido 
sustituida por una informática de usuario (manejo de aplicaciones 
ofimáticas). 
 
 
 
 
 
 
 
Imagen 6.- BASIC 
Imagen 7.- Papert con unos 
niños programadores 
(1984) 
Imagen 8.- Una de las tortugas 
de la primera época 
 
12 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Lenguaje C 
 
En los Laboratorios Bell (New Jersey) trabajaron 
dos de los investigadores más conocidos de la 
moderna informática, Kenneth Thompson y 
Dennis Ritchie, creadores del sistema operativo 
UNIX, en 1969. Como no depende de la 
arquitectura del hardware, C es uno de los 
lenguajes más portables del mercado y, como 
además ofrece amplias prestaciones, su difusión 
es amplísima. 
 
 
 
 
 
A principios de los 80, Bjarne Stroustrup diseñó una ampliación de C y, en 1984, la 
convirtió en un compilador que llamó C++, especialmente enfocado a la 
programación orientada a objetos. 
 
Imagen 9.- Kenneth Thompson y Dennis Ritchie 
Imagen 10.- Programa en C Imagen 11.- Programa en C++ 
 
13 
 
Los lenguajes de programación | Antonio T. Herivia 
 
PASCAL 
A principios de los 70, el profesor suizo Niklaus Wirth, del Instituto Politécnico 
Federal de Zurich, emprendió la creación de un nuevo lenguaje (PASCAL) que 
permitiera introducirse en la programación de una forma fácil pero a la vez potente 
y, sobre todo, siguiendo unas pautas estructuradas. De hecho, PASCAL es el 
lenguaje más sencillo que posibilita el acceso a la informática teórica: 
descomposición modular, recursividad, punteros, etc. PASCAL, que surgió como 
una derivación de ALGOL, fue definido en el libro. PASCAL - User Manual and 
Report. (1974), escrito por Kathleen Jensen y Niklaus Wirth. En 1980 sufrió la 
primera formalización y se estandarizó en 1983. Al poco tiempo, Borland lanzó al 
mercado su compiladorPASCAL, cuyo nombre se precedía con la palabra Turbo, 
para recalcar su rapidez. Su éxito fue tan grande que vendió casi medio millón de 
copias de su compilador sólo en 1985. 
 
Durante más de una década, Turbo PASCAL ha sido sinónimo de PASCAL, pero, 
por desgracia, en el año 2000, Borland dejó de darle soporte técnico y su presencia 
es cada día menor en el ámbito de la programación, sobreviviendo a duras penas 
en el mundo universitario. Sin embargo, en 1995 surgió una nueva versión, DELPHI, 
que amplía PASCAL a la programación visual e intenta hacerle la competencia a 
Visual BASIC. 
Imagen 12.- Programa en PASCAL 
 
14 
 
Los lenguajes de programación | Antonio T. Herivia 
 
PROLOG 
En 1972, Robert Kowalski (universidad de Edimburgo) y Alain Colmerauer y 
Phillippe Roussell (universidad de Aix-Marseille) expusieron la revolucionaria idea 
de que la lógica podía emplearse como lenguaje de programación. Siguiendo esta 
línea, al año siguiente, el grupo de inteligencia artificial de la universidad de 
Aix - Marseille comenzó a diseñar ese lenguaje, al que se llamó PROLOG 
(PROgramation LOGique). 
 
PROLOG es el prototipo de lenguaje declarativo por excelencia. ¿Y qué es eso de 
declarativo? Todos los lenguajes que hemos ido viendo hasta ahora son 
algorítmicos; es decir, los ordenadores se consideran máquinas de Turing a las que 
debemos indicar todos y cada uno de los pasos a seguir para realizar una cierta 
tarea. Frente a estos lenguajes imperativos, los declarativos no están basados en 
órdenes sino en descripciones. 
 
En otras palabras, en los programas PROLOG se proporcionan al ordenador una 
serie de conocimientos sobre un tema, junto con una serie de reglas, y el programa 
nos contestará todas aquellas preguntas que deseemos hacerle sobre el tema. 
siempre que las respuestas puedan deducir se lógicamente de los conocimientos 
dados al inicio. Como es fácil suponer, PROLOG no está destinado al cálculo 
científico. Su aplicación en el campo de la inteligencia artificial, definiendo objetos y 
estableciendo relaciones, permite resolver problemas lógicos, desarrollar sistemas 
expertos, investigar en la comprensión del lenguaje humano, etc. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Imagen 13.- Programa en PROLOG 
 
15 
 
Los lenguajes de programación | Antonio T. Herivia 
 
ADA 
Quince años después de intentar uniformizar los lenguajes con COBOL, el 
Departamento de Defensa USA percibió que su objetivo no se había cumplido. Por 
ese motivo, en 1975 formó un grupo de trabajo para evaluar los lenguajes existentes 
en aquel entonces y ver si alguno de ellos podía adaptarse a las necesidades del 
Departamento. ¿Y qué condiciones debía cumplir el lenguaje deseado? En 
principio, debía permitir el diseño de programas 
modulares y estructurados, de modo que fuesen fáciles de leer y de depurar. 
También era necesario que, como debía controlar instrumentos militares de todo 
tipo, gestionase sin problemas cualquier periférico. Además, tenía que aceptar el 
trabajo en paralelo, de modo que varios procesos se ejecutaran de forma simultánea 
o cuasi simultánea. 
 
Ninguno convenció al grupo y en su informe final propuso la creación de un nuevo 
lenguaje, recomendando que se basara en PASCAL, PL/I (ver último apartado) y 
ALGOL 68, ya que eran los más apropiados de los evaluados. Poco después, se 
convocó un concurso para desarrollar un nuevo lenguaje que se ajustara a los 
requerimientos del Departamento de Defensa. Se presentaron 17 propuestas que, 
tras una selección previa, quedaron reducidas a cuatro, a las que se asignó los 
nombres clave de Red, Green, Yellow y Blue, por aquello de preservar el anonimato. 
Finalmente, Green fue el lenguaje elegido. Propuesto por Honeywell-Bull (Francia), 
fue diseñado por un equipo encabezado por Jean Ichbiah. En un primer momento, 
se le dio el nombre de DoD-1 pero acabó cambiándose por ADA, en honor de Ada 
Lovelace. Sin embargo, a pesar de los años transcurridos desde entonces y a las 
mejoras que han ido introduciéndose en él, lo cierto es que ADA no es un lenguaje 
popular, salvo por su nombre. Se le reprocha ser un tanto complejo, bastante 
estricto y sólo apropiado para el desarrollo de grandes programas. 
 
 
Imagen 14.- Programa en ADA Imagen 14.-Programa en ADA 
 
16 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Python 
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en 
la legibilidad de su código. Se trata de un lenguaje de programación multiparadigma, 
ya que soporta orientación a objetos, programación imperativa y, en menor medida, 
programación funcional. Es un lenguaje interpretado, dinámico y multiplataforma. 
Es administrado por la Python Software Foundation. Posee una licencia de código 
abierto, denominada Python Software Foundation License. 
Python es un lenguaje de programación multiparadigma. Esto significa que más que 
forzar a los programadores a adoptar un estilo particular de programación, permite 
varios estilos: programación orientada a objetos, programación imperativa y 
programación funcional. Otros paradigmas están soportados mediante el uso de 
extensiones. 
Python fue creado a finales de los ochenta por Guido van Rossum en el Centro para 
las Matemáticas y la Informática (CWI, Centrum Wiskunde & Informatica), en los 
Países Bajos, como un sucesor del lenguaje de programación ABC, capaz de 
manejar excepciones e interactuar con el sistema operativo Amoeba. 
 
 
 
Imagen 15.- Programa en PYTHON 
 
17 
 
Los lenguajes de programación | Antonio T. Herivia 
 
JAVA 
Este lenguaje, hoy en día ampliamente utilizado en Internet, fue desarrollado en 
1990 por James Gosling, de Sun Microsystems, basándose en C y C++. ¿Un 
lenguaje para Internet cuando, en aquella época, la Red estaba casi circunscrita al 
ámbito universitario? En realidad, el objetivo de Sun no tenía nada que ver con 
Internet; era crear un interfaz atractivo e intuitivo para electrónica de consumo 
(calculadoras, televisión interactiva, etc.). 
Sin embargo, la electrónica de consumo no evolucionó como se esperaba y, durante 
unos años, el lenguaje de Gosling permaneció aparcado, hasta que Bill Joy 
(cofundador de Sun) consideró que podía ser interesante para Internet y propuso 
modificarlo para el nuevo medio. 
 En agosto de 1995, ya con el nombre de JAVA, se presentó en sociedad. A pesar 
de que JAVA resulta un tanto lento en su ejecución, cada día es más popular. Por 
un lado, es 
relativamente sencillo y bastante potente; además, es válido para cualquier 
plataforma y, sobre todo, muy fiable y seguro, manteniendo alejado a los virus. 
 
 
Imagen 16.- Programa en JAVA 
 
18 
 
Los lenguajes de programación | Antonio T. Herivia 
 
 
 
19 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Paradigmas de programación 
 
De acuerdo con Ambler (et ál., 1992), un paradigma de programación es una 
colección de patrones conceptuales que modelan el proceso de diseño para 
finalmente determinar la estructura de un programa. 
 Por su parte, Pérez y López (2007) señalan que un paradigma de programación 
“provee (y determina) la visión y métodos que un programador utiliza en la 
construcción de un programa o subprograma. Diferentes paradigmas resultan en 
diferentes estilos de programación y en diferentes formas de pensar la solución de 
los problemas”. 
Los paradigmas de programación se centran en la idea de que indica un método de 
realizar cómputos y la manera en que se deben estructurar y organizar las tareas 
que debe llevar a cabo un programa”. Los paradigmas fundamentales están 
asociados a determinados modelos de cómputo. También se asocian a un 
determinado estilo de programación. Los lenguajes de programación suelen 
implementar, a menudo de forma parcial, varios paradigmas. 
Existen una variedad de tipos de paradigmas de programación los cuales tiene 
características peculiares puesto se centran en formas diferentes a realizaro 
estructurar de forma diferentes los lenguajes de programación. Se clasifican de la 
siguiente manera: 
 
 
20 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Lenguaje imperativo 
Basado en una secuencia de comandos. describe la programación en términos del 
estado del programa y las sentencias que cambian dicho estado. 
Describe cómo debe realizarse el cálculo, no el porqué. Un cómputo consiste en 
una serie de sentencias, ejecutadas según un control de flujo explícito, que 
modifican el estado del programa. Las variables son celdas de memoria que 
contienen datos (o referencias), pueden ser modificadas, y representan el estado 
del programa. La sentencia principal es la asignación. 
El lenguaje representativo sería FORTRAN-77, junto con COBOL, BASIC, PASCAL, 
C, ADA. También lo implementan Java, C++, C#, Eiffel, Python 
Asociados al paradigma imperativo se encuentran los paradigmas de programación 
estructurada, modular y procedural. 
 
Estructurado 
Consiste en el uso de estructuras jerárquicas de flujo con el fin de mejorar la claridad 
de los programas y reducir el tiempo de desarrollo. 
 
Estructura secuencial 
 Las instrucciones se ejecutan una tras otra a modo de secuencia lineal. una 
instrucción no se ejecuta hasta que finaliza la anterior ni se bifurca el flujo del 
programa 
 
Estructura selectiva 
La ejecución del programa se bifurca a una instrucción (o conjunto) u otra(s) 
según un criterio o condición lógica establecida. Sólo uno de los caminos en 
la bifurcación será el tomado para ejecutarse. 
 
Estructura iterativa 
Dada una secuencia de instrucciones un bucle iterativo o iteración hace que 
se repita su ejecución mientras se cumpla una condición. El número de 
iteraciones normalmente está determinado por el cambio en la condición 
dentro del mismo bucle aunque puede ser forjado o explicito por otra 
condición. 
 
 
 
21 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Modular 
Consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo 
más legible y manejable. 
 
Entrada–Proceso-Salida 
Cada módulo puede o no aceptar valores de entrada y retornar valores de 
salida. el proceso interno puede o no estar relacionado con dichos valores. 
Los valores de entrada se denominan parámetros 
 
Divide y vencerás (top down) 
 técnica de refinamiento sucesivo o análisis descendente donde un problema 
complejo debe ser dividido en varios subproblemas más simples y estos a su 
vez en otros subproblemas más simples. Esto debe hacerse hasta obtener 
subproblemas lo suficientemente simples como para poder ser resueltos 
fácilmente con algún lenguaje de programación. 
 
Procedimientos y funciones 
Son subprogramas también denominados submódulos ya que en algunos 
lenguajes como por ejemplo Python se considera como módulo aun conjunto 
de subprogramas. 
 
22 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Paradigma declarativo 
Expresa la lógica de la computación sin describir su flujo de control. Está basado en 
el desarrollo de programas especializando o declarando un conjunto de condiciones 
proposiciones afirmaciones restricciones ecuaciones o transformaciones que 
describen el problema y detallan su solución. 
La programación declarativa se puede definir como la programación que no es 
imperativa. Un programa declarativo es aquel que describe lo que se debe realizar 
y no la forma de realizarlo. Los lenguajes declarativos no basan su funcionamiento 
en efectos secundarios y tienen una clara correspondencia con la lógica 
matemática. Las variables son nombres asociados a definiciones, y una vez 
instanciadas son inmutables. 
El término “programación declarativa” es en realidad un término general que 
engloba una serie de paradigmas de programación más conocidos. Los siguientes 
son sub-paradigmas derivados del declarativo. 
Funcional: basado en la evaluación de funciones matemáticas. 
Lógico: basado en el uso de sentencias lógicas para representar y evaluar 
programas 
 
 
23 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Paradigma orientado a objetos 
Los datos se incluyendo los métodos que los usan en entidades denominadas 
objetos que son instancias de una clase la cual está compuesta de datos y los todos 
métodos correspondientes para acceder a ellos y manipularlos. 
Los objetos manipulan los datos de entrada para la obtención de datos de salida 
específicos, donde cada objeto ofrece una funcionalidad especial. Muchos de los 
objetos prediseñados de los lenguajes de programación actuales permiten la 
agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes 
permiten al usuario la creación de sus propias bibliotecas. 
Los objetos son entidades que tienen un determinado "estado", 
"comportamiento (método)" e "identidad": 
La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con 
otras palabras, es su identificador (concepto análogo al de identificador de una 
variable o una constante). 
Los métodos (comportamiento) y atributos (estado) están estrechamente 
relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase 
requiere de métodos para poder tratar los atributos con los que cuenta. El 
programador debe pensar indistintamente en ambos conceptos, sin separar ni darle 
mayor importancia a alguno de ellos. Hacerlo podría producir el hábito erróneo de 
crear clases contenedoras de información por un lado y clases con métodos que 
manejen a las primeras por el otro. De esta manera se estaría realizando una 
"programación estructurada camuflada" en un lenguaje de POO. 
La programación orientada a objetos difiere de la programación estructurada 
tradicional, en la que los datos y los procedimientos están separados y sin relación, 
ya que lo único que se busca es el procesamiento de unos datos de entrada para 
obtener otros de salida. La programación estructurada anima al programador a 
pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar 
en las estructuras de datos que esos procedimientos manejan. En la programación 
estructurada solo se escriben funciones que procesan datos. Los programadores 
que emplean POO, en cambio, primero definen objetos para luego enviarles 
mensajes solicitándoles que realicen sus métodos por sí mismos. 
 
 
 
 
24 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Clasificación de los lenguajes de programación 
Un lenguaje de programación permite especificar de manera precisa sobre qué 
datos debe operar una computadora, cómo estos datos deben ser almacenados o 
transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. 
Todo esto, a través de un lenguaje que intenta estar relativamente próximo al 
lenguaje humano o natural, tal como sucede con el lenguaje Léxico. 
 
Existen dos clasificaciones de los lenguajes de programación: 
• Por su nivel de abstracción 
• Por su forma de ejecución 
 
Según el nivel de abstracción 
Lenguaje máquina 
Los lenguajes de máquina están escritos en códigos (código máquina) directamente 
inteligibles por la máquina (computadora), siendo sus instrucciones cadenas 
binarias (0 y 1). 
“Lenguaje de máquina” hace referencia al lenguaje específico de una computadora, 
mientras que “código máquina” hace referencia al modo en que se escriben los 
diferentes lenguajes de máquina. 
 
Ventajas y desventajas del lenguaje máquina 
El lenguaje de máquina cuenta con una serie de factores que debemos conocer 
para poder utilizarlo de forma conveniente. La principal ventaja se encuentra en que 
vamos a disfrutar de una gran velocidad en lo vinculado a la ejecución cuando 
traslademos un programa a otro lenguaje distinto. El motivo de ello es que podemos 
cargar el programa en la memoria de la máquina y que desde aquí actúe de forma 
independiente. Pero hay algunos inconvenientes que están en contraposición 
directa con esto. 
 
Por ejemplo, la codificación podría ser mucho más rápiday los procesos pueden 
llegar a ser demasiado complicados si no hemos recibido una buena formación. El 
índice de fiabilidad de este lenguaje tiene ciertas lagunas y la verificación de los 
programas requiere que seamos detallistas de una forma notable para que no haya 
nada que se nos pase. Además, los procesos que hayamos transmitido se podrán 
ejecutar en la CPU donde los hayamos configurado, pero no tendrán soporte más 
allá de este equipo, requiriendo ajustes para ello. 
 
 
 
 
25 
 
Los lenguajes de programación | Antonio T. Herivia 
 
 
Los lenguajes de bajo nivel 
Son lenguajes de programación que se acercan al funcionamiento de una 
computadora. Los lenguajes de más bajo nivel son los lenguajes de máquinas. A 
este nivel le sigue el lenguaje ensamblador, ya que al programar en ensamblador 
se trabajan con los registros de memoria de la computadora de forma directa. 
 
Ventajas y desventajas del lenguaje de bajo nivel 
 La programación en un lenguaje de bajo nivel tiene como ventajas una mayor 
adaptación al equipo, además de la posibilidad de obtener la máxima velocidad con 
el mínimo uso de memoria. Sin embargo tiene importantes inconvenientes, como la 
imposibilidad de escribir código independiente de la máquina y la mayor dificultad 
en la programación y en la comprensión de los programas. 
 
 Lenguajes de medio nivel 
Minoritariamente en algunos textos se diferencian algunos lenguajes como de 
medio nivel, como el lenguaje C, ya que tienen ciertas características que los 
acercan a los lenguajes de bajo nivel, como gestión de punteros de memoria y 
registros, pero con sintaxis, vocabulario y gramática de alto nivel. 
 
Ventajas y desventajas del lenguaje de medio nivel 
Por el tipo de estructura que utiliza ha sido diseñado para ser altamente 
transportable. Es un lenguaje relativamente sencillo y de gran flexibilidad y usa 
funciones matemáticas propias del lenguaje y funciones suministradas por 
bibliotecas para el manejo de archivos. 
En el uso eficiente de la memoria pues utiliza punteros para direccionar el acceso a 
la memoria. Funciones y variables estáticas, son direccionadas en memoria 
mediante el uso de punteros. 
En la forma de procesar puesto que ejecuta interrupciones al procesador con 
uniones. El paso de parámetros a una función lo realiza por valores. El paso por 
referencia lo hace enviando explícitamente las direcciones de memoria de los 
parámetros y es un lenguaje multiplataforma. 
 
Pero por otro lado por el tipo de estructura no es un lenguaje visual, no puede ser 
deducido de forma intuitiva, como por ejemplo el Visual Basic. Para el uso de 
funciones anidadas necesita de extensiones y no tiene instrucciones de entrada y 
salida, ni para el manejo de cadenas de caracteres. 
Por la forma de procesamiento carece de instrucciones que faciliten a los 
desarrolladores la programación multihilo y no cuenta con instrucciones para 
programación dirigida a objetos. 
 
 
 
26 
 
Los lenguajes de programación | Antonio T. Herivia 
 
 
 
Los lenguajes de programación de alto nivel 
Se caracterizan por expresar los algoritmos de una manera adecuada a la 
capacidad cognitiva humana, en lugar de estar orientados a su ejecución en las 
máquinas. Los lenguajes de alto y bajo nivel requieren de conocimientos específicos 
de programación y del lenguaje concreto (vocabulario, gramática y sintaxis) para 
realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se 
crearon para que el usuario común pudiese solucionar ciertos problemas sencillos 
de procesamiento de datos de una manera más fácil y rápida. 
 
Ventajas y desventajas de los lenguajes de alto nivel 
El tiempo de formación de los programadores es relativamente corto comparado 
con otros lenguajes. La escritura de programas se basa en reglas sintácticas 
similares a los lenguajes humanos. Nombres de las instrucciones tales como READ, 
WRITE, PRINT, OPEN, etc. Las modificaciones y puestas a punto de los programas 
son más fáciles. Reducción del coste de los programas y su transportabilidad. 
 
Por otro lado sus desventajas son Incremento del tiempo de puesta a punto al 
necesitarse diferentes traducciones del programa fuente para conseguir el 
programa definitivo. No se aprovechan los recursos internos de la máquina que se 
explotan mucho mejor en lenguajes máquina y ensambladores. Aumento de la 
ocupación de memoria y el tiempo de ejecución de los programas es mucho mayor 
Según la forma de ejecución 
Los procesadores usados en las computadoras son capaces de entender y actuar 
según lo indican programas escritos en un lenguaje fijo para cada arquitectura, 
llamado lenguaje de máquina. Todo programa escrito en un lenguaje de alto nivel 
puede ser ejecutado de dos maneras: 
 
Lenguajes compilados: Antes de poder utilizarse el programa debe utilizarse un 
traductor llamado “compilador” que se encarga de traducir (“compilar”) el programa 
original (“código fuente”) al programa equivalente escrito en lenguaje de máquina o 
ensamblador (“binario”). Los binarios son los programas ejecutables y los únicos 
necesarios para el funcionamiento del programa. 
 
Ventajas de los lenguajes compilados 
• Ejecución rápida. 
• El código compilado no puede ser "abierto" por otras personas. 
• No es necesario transmitir el código fuente. 
• El código compilándose compacta en un solo archivo. 
 
 
27 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Desventajas de los lenguajes compilados 
• El código compilado suele ocupar bastante en disco, ya que incorpora en el 
• propio código algunas librerías del sistema. 
• Depurar un programa implica volver a compilar tras los cambios. 
 
Lenguajes interpretados: Cada vez que se usa el programa debe utilizarse un 
traductor llamado “intérprete” que se encarga de traducir (“interpretar”) las 
instrucciones del programa original (“código fuente”) a código máquina según van 
siendo utilizadas. Para el funcionamiento del programa siempre es necesario 
disponer del código original y del intérprete. Diferencias entre lenguajes compilados 
e interpretados 
 
Ventajas de los lenguajes interpretados 
La principal ventaja de un lenguaje interpretado es que es independiente de la 
máquina y del sistema operativo ya que no contiene instrucciones propias de un 
procesador sino que contiene llamadas a funciones que el intérprete deberá 
reconocer. Basta que exista un intérprete de un lenguaje para dicho sistema y todos 
los programas escrito en ese lenguaje funcionaran. 
Además un lenguaje interpretado permite modificar en tiempo de ejecución el código 
que se está ejecutando así como añadirle nuevo, algo que resulta idóneo cuando 
queremos hacer pequeñas modificaciones en una aplicación y no queremos tener 
que recompilarla toda cada vez. 
 
Desventajas de los lenguajes interpretados 
Velocidad: Es el aspecto más notable y el cual se debe evaluar a fondo al crear 
software con este tipo lenguajes, pues se debe equilibrar la portabilidad con la 
velocidad que se está sacrificando. A menos que las prestaciones de los equipos 
informáticos sean bastante altas, en el caso cual, se podría despreciar este aspecto. 
Portabilidad: El problema radica en que en la actualidad, casi todos los lenguajes 
compilados, existen para todas las plataformas, no así las máquinas virtuales o 
frameworks, aunque en el caso de Java, se ha hecho un excelente trabajo en cuanto 
a eso. 
 
 
 
 
 
 
 
 
 
 
 
28 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Diferencias entre un lenguaje compilado y uno interpretado: 
o Los lenguajes compilados se compilan una vez y se utilizan cuantas 
veces se desee sin necesidad de volver a utilizar el compilador. Los 
lenguajes interpretados son interpretados, valga la redundancia, cada 
vez que se ejecutan y necesitan siempre del intérprete. 
 
o Los compiladores analizan todo el programa y no generan resultados 
si no es correcto todo el código. Los intérpretes analizan las 
instruccionessegún las necesitan y pueden iniciar la ejecución de un 
programa con errores e incluso terminar correctamente una ejecución 
de un programa con errores siempre que no haya sido necesario el 
uso de las instrucciones que contienen dichos errores. 
 
o Un compilador traduce cada instrucción una sola vez. Un intérprete 
debe traducir una instrucción cada vez que la encuentra. 
 
o Los binarios son compilados para una arquitectura específica y no 
pueden ser utilizados en otras arquitecturas no compatibles (aunque 
pueden existir distintos compiladores para generar binarios para 
diferentes arquitecturas). Un lenguaje interpretado puede ser utilizado 
en cualquier arquitectura que disponga de un intérprete sin necesidad 
de cambios. 
 
o Los lenguajes compilados son más eficientes que los interpretados y 
además permiten distribuir el programa en forma confidencial 
mediante binarios 
 
o Es más sencillo empaquetar lenguajes interpretados dentro de otros 
lenguajes, como JavaScript dentro de HTML. 
 
Para obtener las ventajas de ambos tipos de lenguajes algunos utilizan una 
aproximación en dos fases. Primero el programa original (código fuente) es 
precompilado a un binario confidencial, portable e interpretable. En una segunda 
fase el binario precompilado es interpretado en cada arquitectura. Esta 
aproximación es la que realiza por ejemplo Java. Hay que hacer notar que algunas 
aplicaciones permiten ser programadas con lenguajes. 
Estos lenguajes no tienen por objeto solicitar acciones a la computadora sino 
solicitar acciones a la aplicación sobre la que se ejecutan. Por tanto aunque algunos 
de estos lenguajes son lenguajes de programación, no son lenguajes de 
programación de computadoras y por tanto no necesitan ser traducidos a código 
máquina. 
 
29 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Conclusiones 
 
Durante el desarrollo de esta investigación se ha podido denotar la importancia de 
la programación y la relevancia de esta a través de su evolución puesto que trajo un 
sin numero de beneficio y desarrollo de nuevas tecnologías. 
Además de estudiar al estudiar la diversidad de los lenguajes y sus características 
hemos podido observar la relación que guardan uno con otros y ciertas 
características propias de su clasificación ya sea por niveles o por ejecución, lo cual 
nos da una idea de cuales son los lenguajes que nos pueden servir mejor a la 
practica en el área en la que nos especializamos, ya sea desde programar un 
microcontrolador hasta una pagina web. Con esto al observar la complejidad de los 
lenguajes y observar todo lo que implica paradigmáticamente hablando nos damos 
una idea de la potencia que tienen además de su importancia para el desarrollo 
tecnológico y la investigación, ya que, también hemos observado lenguajes usado 
para cálculos matemáticos extensos, esto habla igual de los diversos usos de la 
programación. 
Con esto dicho termino esta investigación con conocimiento que me hará entender 
mejor los lenguajes y sus características además de alentarme a estudiar nuevos 
lenguajes y profundizar en los que ya tengo conocimiento para así mejor mi 
rendimiento académico y estar mejor preparado para próximas experiencias 
educativas y mundo laboral.
 
30 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Bibliografía 
Alcolea Huertos, A. (25 de 08 de 2019). La historia de los lenguajes de 
programación. Obtenido de Computer Hoy: 
https://computerhoy.com/reportajes/tecnologia/historia-lenguajes-
programacion-428041 
Ambler, A., Burnett, M., & Zimmerman, B. (1992). Operational versus definitional: A 
perspective on programming paradigms. Computer. Obtenido de 
ftp://ftp.engr.orst.edu/pub/burnett/Computer-paradigms-1992.pdf 
Coad, P., & Yourdon, E. (1991). Object-oriented Design. Prentice-Hall International 
editions. 
ECURED. (s.f.). Lenguaje Interpretado. Obtenido de ECURED: 
https://www.ecured.cu/Lenguaje_interpretado 
Equipo de Expertos. (s.f.). Conociendo el lenguaje de máquina. Universidad 
Internacional de Valencia. Obtenido de 
https://www.universidadviu.com/conociendo-lenguaje-maquina/ 
Güimi. (2008). Lenguajes de programación. Obtenido de 
https://guimi.net/descargas/Monograficos/G-
Lenguajes_de_programacion.pdf 
Informatica segundo y tercero blog. (6 de Octubre de 2009). Obtenido de 
http://jessicajaime.blogspot.com/2009/10/ventajas-y-desventajas-de-
programar.html 
Pérez, P., & López, M. (s.f.). Multiparadigma en la enseñanza de la programación. 
Buenos Aires, Argentina: Universidad Nacional del Comahue. Obtenido de 
http://sedici.unlp.edu.ar/bitstream/handle/10915/20499/Documento_complet
o.pdf?sequence=1 
Tapia Rangel, E. (2016). Informatica IV. Ciudad de México, México: Universidad 
Nacional Autonoma de México. doi:978-607-02-7874-7 
Trigo Aranda, V. (2004). Historia y evolución de los lenguajes de programacion. 
Revista Digital de Acta(034), 85-95. Obtenido de 
https://www.acta.es/medios/articulos/informatica_y_computacion/034083.pd
f 
 
 
 
 
31 
 
Los lenguajes de programación | Antonio T. Herivia 
 
Vaca Rodríguez, C. (11 de Febrero de 2011). Paradigmad de programación. 
Valladolid, España: Departamento de Informatica de la Universidad de 
Valladolid. 
Zayas Guggiari, Carlos Augusto. (2012). Introducción a los Paradigmas de 
Programación. Obtenido de 
https://www.academia.edu/14859188/Introducci%C3%B3n_a_los_Paradigm
as_de_la_Programaci%C3%B3n

Continuar navegando