You are on page 1of 18

Generacin de la Computadora

Primera Generacin
En esta generacin haba una gran desconocimiento de las capacidades de las
computadoras, puesto que se realiz un estudio en esta poca que determin que con
veinte computadoras se saturara el mercado de los Estados Unidos en el campo de
procesamiento de datos.
Esta generacin abarco la dcada de los cincuenta. Y se conoce como la primera
generacin. Estas mquinas tenan las siguientes caractersticas:
Estas mquinas estaban construidas por medio de tubos de vaco.
Eran programadas en lenguaje de mquina.
En esta generacin las mquinas son grandes y costosas (de un costo aproximado de
ciento de miles de dlares).
En 1951 aparece la UNIVAC (NIVersAl Computer), fue la primera computadora comercial,
que dispona de mil palabras de memoria central y podan leer cintas magnticas, se utiliz
para procesar el censo de 1950 en los Estados Unidos.
En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas perforadas,
retomadas por Herman Hollerith (1860 - 1929), quien adems fund una compaa que
con el paso del tiempo se conocera como IBM (International Bussines Machines).
Despus se desarroll por IBM la IBM 701 de la cual se entregaron 18 unidades entre
1953 y 1957.
Posteriormente, la compaa Remington Rand fabric el modelo 1103, que competa con
la 701 en el campo cientfico, por lo que la IBM desarrollo la 702, la cual present
problemas en memoria, debido a esto no dur en el mercado.
La computadora ms exitosa de la primera generacin fue la IBM 650, de la cual se
produjeron varios cientos. Esta computadora que usaba un esquema de memoria
secundaria llamado tambor magntico, que es el antecesor de los discos actuales.
Otros modelos de computadora que se pueden situar en los inicios de la segunda
generacin son: la UNIVAC 80 y 90, las IBM 704 y 709, Burroughs 220 y UNIVAC 1105.
Segunda Generacin
Cerca de la dcada de 1960, las computadoras seguan evolucionando, se reduca su
tamao y creca su capacidad de procesamiento. Tambin en esta poca se empez a
definir la forma de comunicarse con las computadoras, que reciba el nombre
de programacin de sistemas.
Las caractersticas de la segunda generacin son las siguientes:
Estn construidas con circuitos de transistores.
Se programan en nuevos lenguajes llamados lenguajes de alto nivel.
En esta generacin las computadoras se reducen de tamao y son de menor costo.
Aparecen muchas compaas y las computadoras eran bastante avanzadas para su poca
como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester.
Algunas de estas computadoras se programaban con cintas perforadas y otras ms por
medio de cableado en un tablero. Los programas eran hechos a la medida por un equipo
de expertos: analistas, diseadores, programadores y operadores que se manejaban como
una orquesta para resolver los problemas y clculos solicitados por la administracin. El
usuario final de la informacin no tena contacto directo con las computadoras. Esta
situacin en un principio se produjo en las primeras computadoras personales, pues se
requera saberlas "programar" (alimentarle instrucciones) para obtener resultados; por lo
tanto su uso estaba limitado a aquellos audaces pioneros que gustaran de pasar un buen
nmero de horas escribiendo instrucciones, "corriendo" el programa resultante y
verificando y corrigiendo los errores o bugs que aparecieran. Adems, para no perder el
"programa" resultante haba que "guardarlo" (almacenarlo) en una grabadora de astte,
pues en esa poca no haba discos flexibles y mucho menosdiscos duros para las PC;
este procedimiento poda tomar de 10 a 45 minutos, segn el programa. El panorama se
modific totalmente con la aparicin de las computadoras personales con mejore circuitos,
ms memoria, unidades de disco flexible y sobre todo con la aparicin de programas de
aplicacin general en donde el usuario compra el programa y se pone a trabajar. Aparecen
los programas procesadores de palabras como el clebreWord Star, la impresionante hoja
de clculo (spreadsheet) Visicalc y otros ms que de la noche a la maana cambian
la imagen de la PC. El sortware empieza a tratar de alcanzar el paso del hardware. Pero
aqu aparece un nuevo elemento: el usuario.
El usuario de las computadoras va cambiando y evolucionando con el tiempo. De estar
totalmente desconectado a ellas en las mquinas grandes pasa la PC a ser pieza clave en
el diseo tanto del hardware como del software. Aparece el concepto de human interface
que es la relacin entre el usuario y su computadora. Se habla entonces de hardware
ergonmico (adaptado a las dimensiones humanas para reducir el cansancio), diseos de
pantallas antirreflejos y teclados que descansen la mueca. Con respecto al software se
inicia una verdadera carrera para encontrar la manera en que el usuario pase menos
tiempo capacitndose y entrenndose y ms tiempo produciendo. Se ponen al alcance
programas con mens (listas de opciones) que orientan en todo momento al usuario (con
el consiguiente aburrimiento de los usuarios expertos); otros programas ofrecen toda una
artillera de teclas de control y teclas de funciones (atajos) para efectuar toda suerte de
efectos en el trabajo (con la consiguiente desorientacin de los usuarios novatos). Se
ofrecen un sinnmero de cursos prometiendo que en pocas semanas hacen de
cualquier persona un experto en los programas comerciales. Pero el problema "constante"
es que ninguna solucin para el uso de los programas es "constante". Cada nuevo
programa requiere aprender nuevos controles, nuevos trucos, nuevos mens. Se empieza
a sentir que la relacin usuario-PC no est acorde con los desarrollos del equipo y de
la potencia de los programas. Hace falta una relacin amistosa entre el usuario y la PC.
Las computadoras de esta generacin fueron: la Philco 212 (esta compaa se retir del
mercado en 1964) y la UNIVAC M460, la Control Data Corporation modelo 1604, seguida
por la serie 3000, la IBM mejor la 709 y sac al mercado la 7090, la National Cash
Register empez a producir mquinas para proceso de datos de tipo comercial, introdujo el
modelo NCR 315.
La Radio Corporation of America introdujo el modelo 501, que manejaba el
lenguaje COBOL, para procesos administrativos y comerciales. Despus sali al mercado
la RCA 601.
Tercera generacin
Con los progresos de la electrnica y los avances de comunicacin con las computadoras
en la dcada de los 1960, surge la tercera generacin de las computadoras. Se inaugura
con la IBM 360 en abril de 1964.3
Las caractersticas de esta generacin fueron las siguientes:
Su fabricacin electrnica esta basada en circuitos integrados.
Su manejo es por medio de los lenguajes de control de los sistemas operativos.
La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75, 85, 90, 195
que utilizaban tcnicas especiales del procesador, unidades de cinta de nueve canales,
paquetes de discos magnticos y otras caractersticas que ahora son estndares (no todos
los modelos usaban estas tcnicas, sino que estaba dividido por aplicaciones).
El sistema operativo de la serie 360, se llam OS que contaba con varias configuraciones,
inclua un conjunto de tcnicas de manejo de memoria y del procesador que pronto se
convirtieron en estndares.
En 1964 CDC introdujo la serie 6000 con la computadora 6600 que se consider durante
algunos aos como la ms rpida.
En la dcada de 1970, la IBM produce la serie 370 (modelos 115, 125, 135, 145, 158,
168). UNIVAC compite son los modelos 1108 y 1110, mquinas en gran escala; mientras
que CDC produce su serie 7000 con el modelo 7600. Estas computadoras se caracterizan
por ser muy potentes y veloces.
A finales de esta dcada la IBM de su serie 370 produce los modelos 3031, 3033, 4341.
Burroughs con su serie 6000 produce los modelos 6500 y 6700 de avanzado diseo, que
se reemplazaron por su serie 7000. Honey - Well participa con su computadora DPS con
varios modelos.
A mediados de la dcada de 1970, aparecen en el mercado las computadoras de tamao
mediano, o minicomputadoras que no son tan costosas como las grandes (llamadas
tambin como mainframes que significa tambin, gran sistema), pero disponen de gran
capacidad de procesamiento. Algunas minicomputadoras fueron las siguientes: la PDP - 8
y la PDP - 11 de Digital Equipment Corporation, la VAX (Virtual Address eXtended) de la
misma compaa, los modelos NOVA y ECLIPSE de Data General, la serie 3000 y 9000 de
Hewlett - Packard con varios modelos el 36 y el 34, la Wang y Honey - Well -Bull, Siemens
de origen alemn, la ICL fabricada en Inglaterra. En la Unin Sovitica se utiliz la US
(Sistema Unificado, Ryad) que ha pasado por varias generaciones.
Cuarta Generacin
Aqu aparecen los microprocesadores que es un gran adelanto de la microelectrnica,
son circuitos integrados de alta densidad y con una velocidadimpresionante. Las
microcomputadoras con base en estos circuitos son extremadamente pequeas y baratas,
por lo que su uso se extiende al mercado industrial. Aqu nacen las computadoras
personales que han adquirido proporciones enormes y que han influido en la sociedad en
general sobre la llamada "revolucin informtica".
En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso
masivo y ms tarde forman la compaa conocida como la Apple que fue la segunda
compaa ms grande del mundo, antecedida tan solo por IBM; y esta por su parte es an
de las cinco compaas ms grandes del mundo.
En 1981 se vendieron 800 00 computadoras personales, al siguiente subi a 1 400 000.
Entre 1984 y 1987 se vendieron alrededor de 60 millones de computadoras personales,
por lo que no queda duda que su impacto y penetracin han sido enormes.
Con el surgimiento de las computadoras personales, el software y los sistemas que con
ellas de manejan han tenido un considerable avance, porque han hecho ms interactiva la
comunicacin con el usuario. Surgen otras aplicaciones como los procesadores de
palabra, las hojas electrnicas de clculo, paquetes grficos, etc. Tambin
las industrias del Software de las computadoras personales crece con gran rapidez, Gary
Kildall y William Gates se dedicaron durante aos a la creacin de sistemas operativos
y mtodos para lograr una utilizacin sencilla de las microcomputadoras (son los creadores
de CP/M y de los productos de Microsoft).
No todo son microcomputadoras, por su puesto, las minicomputadoras y los grandes
sistemas continan en desarrollo. De hecho las mquinas pequeas rebasaban por mucho
la capacidad de los grandes sistemas de 10 o 15 aos antes, que requeran de
instalaciones costosas y especiales, pero sera equivocado suponer que las grandes
computadoras han desaparecido; por el contrario, su presencia era ya ineludible en
prcticamente todas las esferas de control gubernamental, militar y de la gran industria.
Las enormes computadoras de las series CDC, CRAY, Hitachi o IBM por ejemplo, eran
capaces de atender a varios cientos de millones de operaciones por segundo.
Quinta Generacin
En vista de la acelerada marcha de la microelectrnica, la sociedad industrial se ha dado a
la tarea de poner tambin a esa altura el desarrollo del software y los sistemas con que se
manejan las computadoras. Surge la competencia internacional por el dominio del
mercado de la computacin, en la que se perfilan dos lderes que, sin embargo, no han
podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora
en un lenguaje ms cotidiano y no a travs de cdigos o lenguajes de control
especializados.
Japn lanz en 1983 el llamado "programa de la quinta generacin de computadoras", con
los objetivos explcitos de producir mquinas con innovaciones reales en los criterios
mencionados. Y en los Estados Unidos ya est en actividad un programa en desarrollo que
persigue objetivos semejantes, que pueden resumirse de la siguiente manera:
Procesamiento en paralelo mediante arquitecturas y diseos especiales y circuitos de
gran velocidad.
Manejo de lenguaje natural y sistemas de inteligencia artificial.
El futuro previsible de la computacin es muy interesante, y se puede esperar que
esta ciencia siga siendo objeto de atencin prioritaria de gobiernos y de la sociedad en
conjunto.
MODELO DE VON NEUMANN
Las computadoras digitales actuales se ajustan al modelo propuesto por el matemtico
John Von Neumann. De acuerdo con el, una caracterstica importante de este modelo es
que tanto los datos como los programas, se almacenan en la memoria antes de ser
utilizados.
Von Neuman
Matemtico Hngaro-estadounidense, de grandes contribuciones en la fsica cuntica, anlisis funcional,
teora de conjuntos, informtica, economa, etc. Recibi su doctorado en matemticas de la Universidad
de Budapest a los 23 aos. Tambin trabajo en el Proyecto Manhattan. Es considerado el padre de
la Teora de juegos y public el clsico libro, Theory of games and economic behavior (Teora de juegos
y comportamiento econmico).
Fue pionero de la computadora digital moderna. En la Universidad de Pennsylvania, public un artculo
acerca del almacenamiento de programas. El concepto de programa almacenado permiti la lectura de un
programa dentro de la memoria de la computadora, y despus la ejecucin de las instrucciones del mismo
sin tener que volverlas a escribir. La primera computadora en usar el citado concepto fue la famosa
EDVAC (Electronic Discrete-Variable Automatic Computer, es decir computadora automtica electrnica
de variable discreta, desarrollada por Von Neumann, Eckert y Mauchly. Los programas almacenados
dieron a las computadoras flexibilidad y confiabilidad, hacindolas ms rpidas y menos sujetas a errores
que los programas mecnicos.
Este tipo de arquitectura presenta a una computadora divida en 4 secciones principales: Unidad Lgica
Aritmtica (ALU), la Unidad de Control, La Memoria y los dispositivos de Entrada y Salida (E/S), las cuales
estn conectadas por cables llamados BUSES.
La Memoria
Es una secuencia de celdas de almacenamiento enumeradas, donde cada una es una unidad de
informacin. Las celdas contienen datos que se necesitan para llevar a cabo las instrucciones. El tamao
de la memoria vara mucho de computadora a computadora.
LA Unidad Lgica Aritmtica
La ALU, es el dispositivo diseado para llevar a cabo las operaciones elementales como las operaciones
aritmticas (suma, resta) , operaciones lgicas (Y,O,NO). Aqu se lleva acabo el trabajo computacional.
La Unidad de Control
Sigue las direcciones de las posiciones en memoria que contienen la instruccin que va a realizar en ese
momento la computadora. Transfiere el resultado luego de haber pasado por la ALU. Luego de haber
realizado toda la instruccin prosigue con la siguiente (q generalmente esta en la siguiente posicin de
memoria, a menos que la instruccin sea un salto de memoria)
Los Dispositivos de Entrada y Salida (E/S)
Sirven a la computadora para obtener informacin del mundo exterior y devolvernos el resultado de dicha
informacin. Entre estos tenemos: teclados, monitores, camaras web y dems.
Bien por ahora solo les doy la presentacin al mundo interno del computador, dentro de unos das seguir
publicando ms informes acerca de cmo trabajan las computadoras.
Historia de la Computacin
Uno de los primeros dispositivos mecnicos para contar fue el baco, cuya historia se remonta
a las antiguas civilizaciones griega y romana. Este dispositivo es muy sencillo, consta de
cuentas ensartadas en varillas que a su vez estn montadas en un marco rectangular.
Otro de los inventos mecnicos fue la Pascalinainventada por Blaise Pascal (1623 - 1662) de
Francia y la de Gottfried Wilhelm von Leibniz (1646 - 1716) de Alemania. Con estas mquinas,
los datos se representaban mediante las posiciones de los engranajes, y los datos se
introducan manualmente estableciendo dichas posiciones finales de las ruedas, de manera
similar a como leemos los nmeros en el cuentakilmetros de un automvil.


La primera computadora fue la mquina analtica creada por Charles Babbage, profesor
matemtico de la Universidad de Cambridge e Ingeniero Ingles en el siglo XIX. En 1823 el
gobierno Britnico lo apoyo para crear el proyecto de una mquina de diferencias, un
dispositivo mecnico para efectuar sumas repetidas. La idea que tuvo Charles Babbage sobre
un computador naci debido a que la elaboracin de las tablas matemticas era un proceso
tedioso y propenso a errores. Las caractersticas de est maquina incluye una memora que
puede almacenar hasta 1000 nmeros de hasta 50 dgitos cada uno. Las operaciones a
ejecutar por la unidad aritmtica son almacenados en una tarjeta perforadora. Se estima que la
maquina tardara un segundo en realizar una suma y un minuto en una multiplicacin.

La maquina de Hollerith. En la dcada de 1880 , la oficina del Censo de los Estados Unidos ,
deseaba agilizar el proceso del censo de 1890. Para llevar a cabo esta labor , se contrato
a Herman Hollerith, un experto en estadstica para que diseara alguna tcnica que pudiera
acelerar el levantamiento y anlisis de los datos obtenidos en el censo. Entre muchas cosas,
Hollerith propuso la utilizacin de tarjetas en las que se perforaran los datos , segn un
formato preestablecido. una vez perforadas las tarjetas , estas serian tabuladas y clasificadas
por maquinas especiales. La idea de las tarjetas perforadas no fue original de Hollerith. l se
baso en el trabajo hecho en el telar de Joseph Jacquard que ingenio un sistema donde la trama
de un diseo de una tela as como la informacin necesaria para realizar su confeccin era
almacenada en tarjetas perforadas. El telar realizaba el diseo leyendo la informacin
contenida en las tarjetas. De esta forma , se podan obtener varios diseos , cambiando
solamente las tarjetas.

En 1944 se construy en la Universidad de Harvard, la Mark I, diseada por un equipo
encabezado por Howard H. Aiken. Este computador tomaba seis segundos para efectuar una
multiplicacin y doce para una divisin. Computadora basada en rieles (tena aprox. 3000),
con 800 kilmetros de cable, con dimensiones de 17 metros de largo, 3 metros de alto y 1 de
profundidad. Al Mark I se le hiciern mejoras sucesivas, obteniendo as el Mark II, Mark III y
Mark IV.

En 1947 se construy en la Universidad de Pennsylvania la ENIAC (Electronic Numerical
Integrator And Calculator) que fue la primera computadora electrnica que funcionaba con
tubos al vaco, el equipo de diseo lo encabezaron los ingenieros John Mauchly y John Eckert.
Este computador superaba ampliamente al Mark I, ya que llego hacer 1500 veces mas potente.
En el diseo de este computador fueron incluidas nuevas tcnicas de la electrnica que
permitan minimizar el uso de partes mecnicas. Esto trajo como consecuencia un incremento
significativo en la velocidad de procesamiento. As , poda efectuar 5000 sumas o 500
multiplicaciones en un segundo y permita el uso de aplicaciones cientficas en astronoma ,
meteorologa, etc.
Durante el desarrollo del proyecto Eniac , el matemtico Von Neumann propuso unas mejoras
que ayudaron a llegar a los modelos actuales de computadoras:
1.- Utilizar un sistema de numeracin de base dos (Binario) en vez del sistema decimal
tradicional.
2.- Hacer que las instrucciones de operacin estn en la memoria , al igual que los datos. De
esta forma , memoria y programa residirn en un mismo sitio.

La EDVAC (Electronic Discrete Variable Automatic Computer), construida en la Universidad de
Manchester, en Connecticut (EE.UU), en 1949 fue el primer equipo con capacidad de
almacenamiento de memoria e hizo desechar a los otros equipos que tenan que ser
intercambios o reconfigurados cada vez que se usaban. Tena aproximadamente cuatro mil
bulbos y usaba un tipo de memoria basado en tubos llenos de mercurio por donde circulaban
seales elctricas sujetas a retardos. EDCAV pesaba aproximadamente 7850 kg y tena una
superficie de 150 m2.
En realidad EDVAC fue la primera verdadera computadora electrnica digital de la historia, tal
como se le concibe en estos tiempos y a partir de ella se empezaron a fabricar arquitecturas
ms completas.

El UNIVAC fue la primera computadora diseada y construida para un prposito no militar.
Desarrollada para la oficina de CENSO en 1951, por los ingenieros John Mauchly y John
Presper Eckert, que empezaron a disearla y construirla en 1946.
La computadora pesaba 7257 kg. aproximadamente, estaba compuesta por 5000 tubos de
vaco, y poda ejecutar unos 1000 clculos por segundo. Era una computadora que procesaba
los dgitos en serie. Poda hacer sumas de dos nmeros de diez dgitos cada uno, unas 100000
por segundo.
As Von Neumann, junto con Babbage se consideran hoy como los padres de la Computacin.

El Inicio de la Era de la Computacin

En 1890, poca del censo de los EUA, Hermann Hollerith percibi que slo conseguira
terminar de procesar los datos del censo cuando ya fuera tiempo de comenzar con el
nuevo censo (1900). Entonces perfeccion el sistemas de las tarjetas perforadas (aquellas
utilizados por Jacquard) e invent mquinas para procesarlas, consiguiendo con eso
obtener los resultados en tiempo rcord, es decir, 3 aos despus.

En funcin de los resultados obtenidos, Hollerith, en 1896, fund una compaa llamada
TMC - Tabulation Machine Company, viniendo esta a asociarse, en 1914 con dos otras
pequeas empresas, formando la Computing Tabulation Recording Company la cual fuese
a convertirse, en 1924, en la tan conocida IBM - Internacional Business Machine.

En 1930, los cientficos comenzaron a progresar en las invenciones de mquinas
complejas, siendo el Analizador Diferencial de Vannevar Bush el que anuncia la moderna
era de la computadora. En 1936, Allan Turing publica un artculo sobre "Numeros
Computables" y Claude Shannon escribe en una tesis la conexin entre lgica simblica y
circutos elctricos. En 1937, George Stibitz construye en su mesa de cocina la famosa
"Model K", una maquina digital basada en rels y cables.

Mark I
Con la llegada de la Segunda Guerra Mundial se plante la necesidad de proyectarse
mquinas capaces de ejecutar clculos balsticos con rapidez y precisin para que sean
utilizadas en la industria blica.
I
Con eso surgi, en 1944, la primera computadora electromecnica (construida en la
Universidad de Harvard, por el equipo del profesor H. Aiken y con la ayuda financiera de
IBM, que invirti US$ 500.000,00 en el proyecto), posea el nombre de MARK I, era
controlado por programas y usaba el sistema decimal.
Tena cerca de 15 metros de largo y 2,5 metros de alto, estaba envuelta por una caja de
vidrio y de acero inoxidable brillante y tena las siguientes caractersticas:

760.000 piezas
800 km de cables
420 interruptores de control
realizaba una suma en 0,3 s
realizaba una multiplicacin en 0,4 s
y una divisin en cerca de 10 s

MARK I prest sus servicios de matemtica en la Universidad de Harvard durante 16 aos
completos, a pesar de no haber tenido mucho xito, pues ya era obsoleta antes de haber
sido construida, debido a que en 1941, Konrad Zuse, en Alemania, ya estaba creando
modelos de prueba: Z1 y Z2, e inmediatamente despus de complet una computadora
operacional (Z3), que consista de un dispositivo controlado por programa y basado en el
sistema binario y era mucho mas pequea y de construccin mucho mas barata que
MARK I.

Las computadoras Z3 y las que a continuacin siguieron, las Z4, eran utilizadas en la
solucin de problemas de ingeniera de aeronaves y proyectos de misiles. Zuze tambin
construy otras varias computadoras para fines especiales, pero no tuvo mucho apoyo del
gobierno Alemn, pues Hitler, en esa poca mand detener todas las investigaciones
cientficas, excepto las de corto plazo, y siendo que el proyecto de Zuze llevara cerca de 2
aos para ser concluido, no tuvo apoyo. Unas de las principales aplicaciones de la
mquina de Zuze era descifrar los cdigos secretos que los ingleses usaban para
comunicarse con los comandantes en el campo
Evolucin de Hardware
La clasificacin evolutiva del hardware del computador electrnico est dividida en
generaciones, donde cada una supone un cambio tecnolgico muy notable. El origen de las
primeras es sencillo de establecer, ya que en ellas el hardware fue sufriendo cambios
radicales.
5
Los componentes esenciales que constituyen la electrnica del computador fueron
totalmente reemplazados en las primeras tres generaciones, originando cambios que resultaron
trascendentales. En las ltimas dcadas es ms difcil distinguir las nuevas generaciones, ya
que los cambios han sido graduales y existe cierta continuidad en las tecnologas usadas. En
principio, se pueden distinguir:
1 Generacin (1945-1956): electrnica implementada con tubos de vaco. Fueron las
primeras mquinas que desplazaron los componentes electromecnicos (rels).
2 Generacin (1957-1963): electrnica desarrollada con transistores. La lgica discreta era
muy parecida a la anterior, pero la implementacin result mucho ms pequea,
reduciendo, entre otros factores, el tamao de un computador en notable escala.
3 Generacin (1964-hoy): electrnica basada en circuitos integrados. Esta tecnologa
permiti integrar cientos de transistores y otros componentes electrnicos en un nico
circuito integrado impreso en una pastilla de silicio. Las computadoras redujeron as
considerablemente su costo, consumo y tamao, incrementndose su capacidad, velocidad
y fiabilidad, hasta producir mquinas como las que existen en la actualidad.
4 Generacin (futuro): probablemente se originar cuando los circuitos de silicio,
integrados a alta escala, sean reemplazados por un nuevo tipo de material o tecnologa.
6

La aparicin del microprocesador marca un hito de relevancia, y para muchos autores
constituye el inicio de la cuarta generacin.
7
A diferencia de los cambios tecnolgicos
anteriores, su invencin no supuso la desaparicin radical de los computadores que no lo
utilizaban. As, aunque el microprocesador 4004 fue lanzado al mercado en 1971, todava a
comienzo de los 80's haba computadores, como el PDP-11/44,
8
con lgica carente de
microprocesador que continuaban exitosamente en el mercado; es decir, en este caso el
desplazamiento ha sido muy gradual.
Otro hito tecnolgico usado con frecuencia para definir el inicio de la cuarta generacin es la
aparicin de los circuitos integrados VLSI (Very Large Scale Integration), a principios de los
ochenta. Al igual que el microprocesador, no supuso el cambio inmediato y la rpida
desaparicin de los computadores basados en circuitos integrados en ms bajas escalas de
integracin. Muchos equipos implementados con tecnologas VLSI y MSI (Medium Scale
Integration) an coexistan exitosamente hasta bien entrados los 90.


Evolucin del Software:
El trmino evolucin del software se utiliza desde los sesenta para denominar la dinmica de
crecimiento del software.
Una definicin atribuida a Lehman y Ramil dice que la evolucin del software es todas las actividades de
programacin que se orientan a generar una nueva versin de un software a partir de una versin anterior
operativa.
Ned Chapin 1(1999) lo defini como la aplicacin de las actividades y procesos de mantenimiento del
software que generan una nueva versin operative de un software con una funcionalidad de usuario o
propiedades cambiadas a partir de una versin anterior [] junto con los procesos y actividades de
garanta de calidad y con la gestin de esos procesos. De estas definiciones se desprende que la
evolucin cubre el ajuste a funcionalidades adicionales.
La gua SWEBOK2 considera que la causa del mantenimiento est tanto en la necesidad de cambios
como de evolucin en el software.
Historia de la Evolucin del software.
Durante los primeros aos de la era de la computadora, el software se contemplaba como un aadido. La
programacin de computadoras era un "arte de andar por casa" para el que existan pocos mtodos
sistemticos. El desarrollo del software se realizaba virtualmente sin ninguna planificacin, hasta que los
planes comenzaron a descalabrarse y los costes a correr. Los programadores trataban de hacer las cosas
bien, y con un esfuerzo heroico, a menudo salan con xito. El software se diseaba a medida para cada
aplicacin y tenia una distribucin relativamente pequea.
La mayora del software se desarrollaba y era utilizado por la misma persona u organizacin. La misma
persona lo escriba, lo ejecutaba y, si fallaba, lo depuraba. El diseo era un proceso implcito, realizado en
la mente de alguien y, la documentacin normalmente no exista.
La segunda era en la evolucin de los sistemas de computadora se extienden desde la mitad de la
dcada de los sesenta hasta finales de los setenta. La multiprogramacin y los sistemas multiusuario
introdujeron nuevos conceptos de interaccin hombre - maquina. Tambin se caracterizo por el
establecimiento del software como producto y la llegada de las "casas del software". Los patronos de la
industria, del gobierno y de la universidad se aprestaban a "desarrollar el mejor paquete de software" y
ganar as mucho dinero.
La tercera era en la evolucin de los sistemas de computadora comenz a mediados de los aos setenta
y contino ms all de una dcada. El sistema distribuido, mltiples computadoras, cada una ejecutando
funciones concurrentes y comunicndose con alguna otra, increment notablemente la complejidad de los
sistemas informticos. Las redes de rea local y de rea global, las comunicaciones digitales de alto
ancho de banda y la creciente demanda de acceso "instantneo" a los datos, supusieron una fuerte
presin sobre los desarrolladores del software. La conclusin de la tercera era se caracterizo por la
llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de
productos inteligentes, desde automviles hasta hornos microondas, desde robots industriales a equipos
de diagnsticos de suero sanguneo.
La cuarta era de la evolucin de los sistemas informticos se aleja de las computadoras individuales y de
los programas de computadoras, dirigindose al impacto colectivo de las computadoras y del software.
Potentes mquinas personales controladas por sistemas operativos sofisticados, en redes globales y
locales, acompaadas por aplicaciones de software avanzadas se han convertido en la norma.
La industria del software ya es la cuna de la economa del mundo. Las tcnicas de la cuarta generacin
para el desarrollo del software estn cambiando en la forma en que la comunidad del software construye
programas informticos. Las tecnologas orientadas a objetos estn desplazando rpidamente los
enfoques de desarrollo de software ms convencionales en muchas reas de aplicaciones.
Sin embargo, un conjunto de problemas relacionados con el software ha persistido a travs de la
evolucin de los sistemas basados en computadora, y estos problemas continan aumentando:
1. Los avances del software continan dejando atrs nuestra habilidad de construir software para
alcanzar el potencial del hardware.
2. Nuestra habilidad de construir nuevos programas no pueden ir al mismo ritmo de la demanda de
nuevos programas, ni podemos construir programas lo suficientemente rpido como para cumplir
las necesidades del mercado y de los negocios.
3. El uso extenso de computadoras ha hecho de la sociedad cada vez ms dependiente de la
operacin fiable del software. Cuando el software falla, pueden ocurrir daos econmicos
enormes y ocasionar sufrimiento humano.
4. Luchamos por construir software informtico que tengan fiabilidad y alta calidad.
5. Nuestra habilidad de soportar y mejorar los programas existentes se ve amenazada por diseos
pobres y recursos inadecuados.
En respuesta a estos problemas, las prcticas de la Ingeniera del Software se estn adoptando en toda la
industria.
Software:
Se conoce como software al equipamiento lgico o soporte lgico de un sistema informtico;
comprende el conjunto de los componentes lgicos necesarios que hacen posible la
realizacin de tareas especficas, en contraposicin a los componentes fsicos, que son
llamados hardware.
Los componentes lgicos incluyen, entre muchos otros, las aplicaciones informticas; tales
como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la
edicin de textos; elsoftware de sistema, tal como el sistema operativo, que, bsicamente,
permite al resto de los programas funcionar adecuadamente, facilitando tambin la interaccin
entre los componentes fsicos y el resto de las aplicaciones, y proporcionando una interfaz con
el usuario.

Clasificacin Del Software:
Si bien esta distincin es, en cierto modo, arbitraria, y a veces confusa, a los fines prcticos se
puede clasificar al software en tres grandes tipos:
Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al
programador de los detalles del sistema informtico en particular que se use, aislndolo
especialmente del procesamiento referido a las caractersticas internas de: memoria,
discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El
software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel,
herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
Sistemas operativos
Controladores de dispositivos
Herramientas de diagnstico
Herramientas de Correccin y Optimizacin
Servidores
Utilidades
Software de programacin: Es el conjunto de herramientas que permiten
al programador desarrollar programas informticos, usando diferentes alternativas
y lenguajes de programacin, de una manera prctica. Incluye entre otros:
Editores de texto
Compiladores
Intrpretes
Enlazadores
Depuradores
Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas,
usualmente en un entorno visual, de forma tal que el programador no necesite
introducir mltiples comandos para compilar, interpretar, depurar, etc. Habitualmente
cuentan con una avanzada interfaz grfica de usuario (GUI).
Software de aplicacin: Es aquel que permite a los usuarios llevar a cabo una o varias
tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o
asistido, con especial nfasis en los negocios. Incluye entre otros:
Aplicaciones para Control de sistemas y automatizacin industrial
Aplicaciones ofimticas
Software educativo
Software empresarial
Bases de datos
Telecomunicaciones (por ejemplo Internet y toda su estructura lgica)
Videojuegos
Software mdico
Software de Clculo Numrico y simblico.
Software de Diseo Asistido (CAD)
Software de Control Numrico (CAM)

Lenguaje de Programacin
Un lenguaje de programacin es un idioma artificial diseado para
expresar computaciones que pueden ser llevadas a cabo por mquinas como
lascomputadoras. Pueden usarse para crear programas que controlen el comportamiento fsico
y lgico de una mquina, para expresar algoritmos con precisin, o como modo de
comunicacin humana.
1
Est formado por un conjunto de smbolos y
reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y
expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene
el cdigo fuente de un programa informtico se le llama programacin.
Tambin la palabra programacin se define como el proceso de creacin de
un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de
los siguientes pasos:
El desarrollo lgico del programa para resolver un problema en particular.
Escritura de la lgica del programa empleando un lenguaje de programacin especfico
(codificacin del programa).
Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin.

CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIN
LENGUAJE MQUINA:
El lenguaje mquina es el nico que entiende directamente la computadora, ya que esta escrito en
lenguajes directamente inteligibles por la mquina (computadora), utiliza el alfabeto binario, que consta de
los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de dgitos binarios). Sus
instrucciones son cadenas binarias (cadenas o series de caracteres de dgitos 0 y 1) que especifican una
operacin y, las posiciones (direccin) de memoria implicadas en la operacin se denominan
instrucciones de mquina o cdigo maquina. Fue el primer lenguaje utilizado en la programacin de
computadoras, pero dejo de utilizarse por su dificultad y complicacin, siendo sustituido por otros
lenguajes ms fciles de aprender y utilizar, que adems reducen la posibilidad de cometer errores. El
lenguaje mquina es el conocido cdigo binario. Generalmente, en la codificacin de los programas se
empleaba el sistema hexadecimal para simplificar el trabajo de escritura. Todas las instrucciones
preparadas en cualquier lenguaje mquina tienen por lo menos dos partes. La primera es el comando u
operacin, que dice a las computadoras cual es la funcin que va a realizar. Todas las computadoras
tienen un cdigo de operacin para cada una de las funciones. La segunda parte de la instruccin es el
operando, que indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se
van a manipular, el nmero de operndoos de una instruccin varia en distintas computadoras.
Ventajas del lenguaje mquina: posibilidad de cargar (transferir un programa a la memoria) sin necesidad
de traduccin posterior, lo que supone una velocidad de ejecucin superior a cualquier otro lenguaje de
programacin.
Desventajas del lenguaje mquina: dificultad y lentitud en la codificacin. Poca fiabilidad. Gran dificultad
para verificar y poner a punto los programas. Los programas solo son ejecutables en el mismo procesador
(CPU). En la actualidad, las desventajas superan a las ventajas, lo que hace prcticamente no
recomendables a los lenguajes mquina.
LENGUAJES DE BAJO NIVEL:
Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos, dependen de la mquina en
particular. El lenguaje de bajo nivel por excelencia es el ensamblador. El lenguaje ensamblador es el
primer intento de sustituir el lenguaje maquina por otro ms similar a los utilizados por las personas. Este
intenta desflexibilizar la representacin de los diferentes campos. Esa flexibilidad se consigue no
escribiendo los campos en binario y aproximando la escritura al lenguaje. A principios de la dcada de los
50 y con el fin de facilitar la labor de los programadores, se desarrollaron cdigos mnemotcnicos para las
operaciones y direcciones simblicas. Los cdigos mnemotcnicas son los smbolos alfabticos del
lenguaje maquina. La computadora sigue utilizando el lenguaje maquina para procesar los datos, pero los
programas ensambladores traducen antes los smbolos de cdigo de operacin especificados a sus
equivalentes en el lenguaje maquina. En la actualidad los programadores no asignan nmeros de
direccin reales a los datos simblicos, simplemente especifican donde quieren que se coloque la primera
localidad del programa y el programa ensamblador se encarga de lo dems, asigna localidades tanto para
las instrucciones como los datos. Estos programas de ensamble o ensambladores tambin permiten a la
computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio cdigo
maquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama
programa fuente. Despus de que el ensamblador convierte el programa fuente en cdigo maquina a este
se le denomina programa objeto. Para los programadores es ms fcil escribir instrucciones en un
lenguaje ensamblador que en cdigo de lenguaje maquina pero es posible que se requieran dos corridas
de computadora antes de que se puedan utilizar las instrucciones del programa fuente para producir las
salidas deseadas.
El lenguaje de bajo nivel es el lenguaje de programacin que el ordenador puede entender a la hora de
ejecutar programas, lo que aumenta su velocidad de ejecucin, pues no necesita un intrprete que
traduzca cada lnea de instrucciones.
Visto a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas binarias. Dar
una instruccin a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el
tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo mquina. El cdigo
representa normalmente datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de
comprender el cdigo mquina es dando a cada instruccin un mnemnico, como por ejemplo STORE,
ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje de muy bajo nivel que es
especfico de cada microprocesador.
Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son, a menudo, difciles de
aprender. Ms importante es el hecho de que los programas escritos en un bajo nivel sean altamente
especficos de cada procesador. Si se lleva el programa a otra maquina se debe reescribir el programa
desde el principio.
Ventajas del lenguaje ensamblador frente al lenguaje mquina: mayor facilidad de codificacin y, en
general, su velocidad de calculo, ahorran tiempo y requieren menos atencin a detalles. Se incurren en
menos errores y los que se cometen son ms fciles de localizar. Tanto el lenguaje maquina como el
ensamblador gozan de la ventaja de mnima ocupacin de memoria y mnimo tiempo de ejecucin en
comparacin con el resultado de la compilacin del programa equivalente escrito en otros lenguajes. Los
programas en lenguaje ensamblador son ms fciles de modificar que los programas en lenguaje
mquina.
Desventajas del lenguaje ensamblador: dependencia total de la maquina lo que impide la transportabilidad
de los programas (posibilidad de ejecutar un programa en diferentes mquinas). El lenguaje ensamblador
del PC es distinto del lenguaje ensamblador del Apple Machintosh. La formacin de los programadores es
ms compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las tcnicas
de programacin, sino tambin el conocimiento del interior de la maquina El programador ha de conocer
perfectamente el hardware del equipo, ya que maneja directamente las posiciones de memoria, registros
del procesador y dems elementos fsicos. Todas las instrucciones son elementales, es decir, en el
programa se deben describir con el mximo detalle todas las operaciones que se han de efectuar en la
maquina para la realizacin de cualquier proceso.
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran bsicamente en
aplicaciones de tiempo real, control de procesos y de dispositivos electrnicos.
Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas binarias.
Dar una instruccin a un microprocesador supone en realidad enviar series de unos y ceros espaciadas
en el tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo mquina. El
cdigo representa normalmente datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de
comprender el cdigo mquina es dando a cada instruccin un mnemnico, como por ejemplo STORE,
ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje de muy bajo nivel que es
especfico de cada microprocesador.
Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son a menudo difciles de
aprender. Ms importante es el hecho de que los programas escritos en un bajo nivel sean altamente
especficos de cada procesador. Si se lleva el programa a otra mquina se debe reescribir el programa
desde el principio.
Lenguaje ensamblador (le):
Este intenta deflexibilizar la representacin de los diferentes campos, esa flexibilidad se consigue no
escribiendo los campos en binario y aproximando la escritura al lenguaje
LENGUAJES DE ALTO NIVEL:
Estos lenguajes son los mas utilizado por los programadores. Estn diseados para que las personas
escriban y entiendan los programas de un modo mucho mas fcil que los lenguajes mquina y
ensamblador. Un programa escrito en lenguaje de alto nivel es independiente de la mquina (las
instrucciones no dependen del diseo del hardware o de una computadora en particular), por lo que estos
programas son portables o transportables. Los programas escritos en lenguaje de alto nivel pueden ser
ejecutados con poca o ninguna modificacin en diferentes tipos de computadoras. Son lenguajes de
programacin en los que las instrucciones enviadas para que el ordenador ejecute ciertas rdenes son
similares al lenguaje humano. Dado que el ordenador no es capaz de reconocer estas ordenes, es
necesario el uso de un intrprete que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el
sistema pueda entender.
Por lo general se piensa que los ordenadores son mquinas que realizan tareas de clculos o
procesamiento de texto. La descripcin anterior es slo una forma muy esquemtica de ver una
computadora. Hay un alto nivel de abstraccin entre lo que se pide a la computadora y lo que realmente
comprende. Existe tambin una relacin compleja entre los lenguajes de alto nivel y el cdigo mquina.
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por elementos de
lenguajes naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms conocido, los comandos
como IF CONTADOR=10 THEN STOP pueden utilizarse para pedir a la computadora que pare si
CONTADOR es igual a diez. Por desgracia para muchas personas esta forma de trabajar es un poco
frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen
en realidad de una forma rgida y sistemtica.
Los lenguajes de alto nivel, tambin denominados lenguajes evolucionados, surgen con posterioridad a
los anteriores (lenguaje mquina, lenguajes de bajo nivel o ensamblador) con los siguientes objetivos,
entre otros:
Lograr independencia de la maquina, pudiendo utilizar un mismo programa en diferentes equipos con la
nica condicin de disponer de un programa traductor o compilador, que es suministrado por el fabricante,
para obtener el programa ejecutable en lenguaje binario de la maquina que se trate. Adems, no se
necesita conocer el hardware especifico de dicha maquina. Aproximarse al lenguaje natural, para que el
programa se pueda escribir y leer de una forma ms sencilla, eliminando muchas de las posibilidades de
cometer errores que se daban en el lenguaje maquina, ya que se utilizan palabras (en ingles) en lugar de
cadenas de smbolos sin ningn significado aparente.
Incluir rutinas de uso frecuente, como las de entrada / salida, funciones matemticas, manejo de tablas,
etc., que figuran en una especie de librera del lenguaje, de manera que se puedan utilizar siempre que se
quiera sin necesidad de programarlas cada vez.
Ventajas de los lenguajes de alto nivel: el tiempo de formacin de los programadores es relativamente
corto comparado con otros lenguajes. La escritura de programas se basa en reglas sintcticas 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 ms fciles. Reduccin del costo de los
programas. Transportabilidad. Permiten tener una mejor documentacin. Son ms fciles de mantener.
Por lo general se piensa que los ordenadores son mquinas que realizan tareas de clculos o
procesamiento de textos. La descripcin anterior es slo una forma muy esquemtica de ver una
computadora. Hay un alto nivel de abstraccin entre lo que se pide a la computadora y lo que realmente
comprende. Existe tambin una relacin compleja entre los lenguajes de alto nivel y el cdigo mquina.
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por elementos de
lenguajes naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms conocido, los comandos
como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si
CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco
frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen
en realidad de una forma rgida y sistemtica.
Desventajas de los lenguajes de alto nivel: 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 maquina que se explotan mucho mejor en lenguajes mquina y ensambladores.
Aumento de la ocupacin de memoria. El tiempo de ejecucin de los programas es mucho mayor.
Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la gran cantidad de
ellos que existen actualmente en uso, adems de las diferentes versiones o dialectos que se han
desarrollado de algunos de ellos. Es difcil establecer una clasificacin general de los mismos, ya que en
cualquiera que se realice habr lenguajes que pertenezcan a mas de uno de los grupos establecidos. Una
clasificacin muy extendida, atendiendo a la forma de trabajar de los programas y a la filosofa con que
fueron concebidos, es la siguiente:
Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los programas (Cobol,
Pascal, C, Ada).
Lenguajes declarativos. Los programas se construyen mediante descripciones de funciones o
expresiones lgicas (Lisp, Prolog).
Lenguajes orientados a objetos. El diseo de los programas se basa mas en los datos y su
estructura. La unidad de proceso es el objeto y en el se incluyen los datos (variables) y las
operaciones que actan sobre ellos (Smalltalk, C++).
Lenguajes orientados al problema. Diseados para problemas especficos, principalmente de
gestin, suelen ser generadores de aplicaciones.
Lenguajes naturales. Estn desarrollndose nuevos lenguajes con el principal objetivo de
aproximar el diseo y construccin de programas al lenguaje de las personas.
Otra clasificacin que se puede hacer es la de atendiendo al desarrollo de los lenguajes desde la
aparicin de las computadoras, que sigue un cierto paralelismo con las generaciones establecidas en la
evolucin de las mismas:
Primera generacin. Lenguajes maquina y ensambladores.
Segunda generacin. Primeros lenguajes de alto nivel imperativo (FROTRAN, COBOL).
Tercera generacin. Lenguajes de alto nivel imperativo. Son los mas utilizados y siguen
vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
Cuarta generacin. Orientados bsicamente a las aplicaciones de gestin y al manejo de bases
de datos (NATURAL, SQL).
Quinta generacin. Orientados a la inteligencia artificial y al procesamiento de los lenguajes
naturales (LISP, PROLOG).
Para la mejor compresin se harn unas definiciones:
Programa: es un conjunto de instrucciones escritas en un lenguaje de programacin que indican a la
computadora la secuencia de pasos, para resolver un problema.
Cdigo fuente: esta creado en algn lenguaje de alto nivel, por lo que es entendido 100% por el ser
humano. Este debe estar complementado por su documentacin o manuales donde se indica el desarrollo
lgico del mismo.
Cdigo objeto: es creado por los compiladores y nos sirve como enlace entre el programa fuente y el
ejecutable.
Un compilador es un programa informtico que traduce un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin, generando un programa equivalente que la
mquina ser capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de mquina,
pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este proceso de
traduccin se conoce como compilacin.
1

Un compilador es un programa que permite traducir el cdigo fuente de un programa
en lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamentelenguaje de mquina). De
esta manera un programador puede disear un programa en un lenguaje mucho ms cercano a
como piensa un ser humano, para luego compilarlo a un programa ms manejable por una
computadora.

Intrprete o interpretador es un programa informtico capaz de analizar y ejecutar otros
programas, escritos en un lenguaje de alto nivel. Los intrpretes se diferencian de
loscompiladores en que mientras estos traducen un programa desde su descripcin en
un lenguaje de programacin al cdigo de mquina del sistema, los intrpretes slo realizan
la traduccin a medida que sea necesaria, tpicamente, instruccin por instruccin, y
normalmente no guardan el resultado de dicha traduccin.
Usando un intrprete, un solo archivo fuente puede producir resultados iguales incluso en
sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo
archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables
especficos a cada sistema.

Traductores
Los procesadores de lenguajes son aquellos programas destinados a trabajar sobre una entrada, por la
forma como ha sido elaborada, pertenece a un lenguaje particular. Los procesadores de lenguajes se
clasifican como traductores o interpretes. El traductor es un programa que recibe una entrada escrita en
un lenguaje (el lenguaje fuente) a una salida perteneciente a otro lenguaje (el lenguaje objeto).
Un intrprete, no lleva a cabo tal transformacin, en su lugar obtiene los resultados conforme se van
analizando las entradas. Los traductores son clasificados en compiladores, ensambladores y
preprocesadotes.
C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne
Stroustrup. La intencin de su creacin fue el extender al exitoso lenguaje de
programacin C con mecanismos que permitan la manipulacin de objetos. En ese sentido,
desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje hbrido.
Posteriormente se aadieron facilidades de programacin genrica, que se sum a los otros
dos paradigmas que ya estaban admitidos (programacin estructurada y la programacin
orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programacin
multiparadigma.
Actualmente existe un estndar, denominado ISO C++, al que se han adherido la mayora de
los fabricantes de compiladores ms modernos. Existen tambin algunos intrpretes, tales
como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de
operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el lenguaje fue utilizado
por primera vez fuera de un laboratorio cientfico. Antes se haba usado el nombre "C con
clases". En C++, la expresin "C++" significa "incremento de C" y se refiere a que C++ es una
extensin de C.

C es un lenguaje de programacin de propsito general de programacin
desarrollado entre 1969 y 1973 por Dennis Ritchie en los Laboratorios Bell
Telephone para su uso con el sistema operativo Unix.
A pesar de C fue diseado para la aplicacin de software del sistema , es tambin
ampliamente utilizado para el desarrollo de software de aplicacin porttil.
C es uno de los lenguajes de programacin ms utilizado de todos los tiempos y
hay muy pocas arquitecturas de computadora para que un compilador de C no
existe. C ha influido enormemente en muchos otros lenguajes de programacin ms
utilizados, sobre todo C + +, que comenz como una extensin de C.

You might also like