+1300042774
 +1400593419
 +1200274027

 

La programación en lenguaje máquina era demasiado lenta y tediosa para la mayoría de los programadores. 

En vez de utilizar las cadenas de números que las computadoras podían entender directamente, los programadores
empezaron a utilizar abreviaturas del inglés para representar las operaciones elementales. Estas abreviaturas for-
maron la base de los 

lenguajes ensambladores

. Los 

programas traductores

 conocidos como 

ensambladores

 

se desarrollaron para convertir los primeros programas en lenguaje ensamblador a lenguaje máquina, a la velo-
cidad de la computadora. A continuación se muestra un ejemplo de un programa en lenguaje ensamblador, que 
también suma el pago de las horas extras al sueldo base y almacena el resultado en el sueldo bruto:

 load 

sueldobase

 add 

sueldoextra

 store 

sueldobruto

Aunque este código es más claro para los humanos, las computadoras no lo pueden entender sino hasta que se 
traduce en lenguaje máquina.
 

El uso de las computadoras se incrementó rápidamente con la llegada de los lenguajes ensambladores, pero 

los programadores aún requerían de muchas instrucciones para llevar a cabo incluso hasta las tareas más simples. 
Para agilizar el proceso de programación se desarrollaron los 

lenguajes de alto nivel

, en donde podían escribirse 

instrucciones individuales para realizar tareas importantes. Los programas traductores, denominados 

compilado-

res

, convierten, a lenguaje máquina, los programas que están en lenguaje de alto nivel. Estos últimos permiten a 

los programadores escribir instrucciones que son muy similares al inglés común, y contienen la notación matemá-
tica común. Un programa de nómina escrito en un lenguaje de alto nivel podría contener una instrucción como 
la siguiente:

 

sueldoBruto = sueldoBase + sueldoExtra

 

Obviamente, desde el punto de vista del programador, los lenguajes de alto nivel son mucho más recomen-

dables que los lenguajes máquina o ensamblador. C, C++ y los lenguajes .NET de Microsoft (por ejemplo, Visual 
Basic .NET, Visual C++ .NET y C#) son algunos de los lenguajes de programación de alto nivel que más se 
utilizan; sin embargo, Java es 

el más utilizado.

 

El proceso de compilación de un programa escrito en lenguaje de alto nivel a un lenguaje máquina puede 

tardar un tiempo considerable en la computadora. Los programas 

intérpretes

 se desarrollaron para ejecutar 

programas en lenguaje de alto nivel directamente, aunque con más lentitud. Los intérpretes son populares en los 
entornos de desarrollo de programas, en los cuales se agregan nuevas características y se corrigen los errores. Una 
vez que se desarrolla un programa por completo, se puede producir una versión compilada para ejecutarse con la 
mayor efi ciencia.
 

Actualmente se sabe que existen dos formas de traducir un programa en lenguaje de alto nivel a un formato 

que la computadora pueda entender: compilación e interpretación. Como veremos en la sección 1.13, Java utiliza 
una mezcla inteligente de estas tecnologías.

1.8 Historia de C y C++

Java evolucionó de C++, el cual evolucionó de C, que a su vez evolucionó de BCPL y B. En 1967, Martin 
Richards desarrolló BCPL como un lenguaje para escribir software para sistemas operativos y compiladores. Ken 
Th

 ompson modeló muchas características en su lenguaje B a partir del trabajo de sus contrapartes en BCPL, y 

utilizó a B para crear las primeras versiones del sistema operativo UNIX, en los laboratorios Bell en 1970.
 

El lenguaje C evolucionó a partir de B, gracias al trabajo de Dennis Ritchie en los laboratorios Bell, y se 

implementó originalmente en 1972. Inicialmente, se hizo muy popular como lenguaje de desarrollo para el sis-
tema operativo UNIX. En la actualidad, la mayoría del código para los sistemas operativos de propósito general 
(por ejemplo, los que se encuentran en las computadoras portátiles, de escritorio, estaciones de trabajo y pequeños 
servidores) se escribe en C o C++.
 

A principios de la década de los ochenta, Bjarne Stroustrup desarrolló una extensión de C en los laboratorios 

Bell: C++. Este lenguaje proporciona un conjunto de características que “pulen” al lenguaje C pero, lo más impor-

1.8 Historia de C y C++ 

7

01_MAQ_CAP_01.indd7

4/19/081:18:11AM