Sie sind auf Seite 1von 9

ESCUELA MILITAR DE INGENIERIA

UNIDAD ACADEMICA
COCHABAMBA

TRABAJO N. 1
La Historia de C++
PARALELO:
PARALELO G

NOMBRE:
Luis Enrique Angulo Garcia
CODIGO:
C5840-8
CARNET DE IDENTIDAD:
9416037 CBBA

12/03/2015

Ms Historia
Despus de la versin TMG de B estaba trabajando, Thompson
reescribi B en s mismo (un paso bootstrapping). Durante el
desarrollo, que segua luchando contra las limitaciones de memoria:
cada adicin idioma infla el compilador por lo que poda apenas
caba, pero cada reescribir aprovechando la caracterstica reducido
su tamao. Por ejemplo, B introdujo operadores de asignacin
generalizadas, con x = + y aadir ya x. La notacin vino de Algol 68
[Wijngaarden 75] a travs de McIlroy, que se haba incorporado en su
versin de TMG. (En B y C temprano, el operador se escriba = + en
lugar de + =;. Este error, reparado en 1976, fue inducido por una
forma seductora fcil de manejar la primera forma de analizador
lxico de B)
Thompson dio un paso ms con la invencin de la operadores ++ y -,
que aumentar o disminuir; su posicin previa o posteriormente
determina si la alteracin se produce antes o despus de observar el
valor del operando. No estaban en las primeras versiones de B, pero
apareci en el camino. La gente a menudo adivinar que fueron
creados para usar el auto-incremento y modos de direccionamiento
auto-decremento proporcionada por el diciembre PDP-11 en la que C
y Unix se hizo popular. Esto es histricamente imposible, ya que no
haba PDP-11 cuando B fue desarrollado. El PDP-7, sin embargo,
tena unas pocas clulas de incremento automtico de memoria '`,
con la propiedad de que una referencia de memoria indirecta a travs
de ellos incrementa la clula. Esta caracterstica probablemente
sugiri dichos operadores a Thompson; la generalizacin de hacer los
dos prefijo y postfix era la suya. De hecho, las clulas de incremento
automtico no se utilizaron directamente en la ejecucin de los

operadores, y una motivacin ms fuerte para la innovacin fue


probablemente su observacin de que la traduccin de ++ x era ms
pequea que la de x = x + 1.

El compilador B en el PDP-7 no gener instrucciones de la mquina,


pero en lugar `cdigo roscada '[de Bell 72], un esquema interpretativo
en el que la salida del compilador consiste en una secuencia de
direcciones de fragmentos de cdigo que realizan las operaciones
elementales. Las operaciones tpicamente en particular para B-acto
en una mquina de pila simple.
En el sistema Unix PDP-7, a pocos cosas que se escribieron en B
excepto B en s, ya que la mquina era demasiado pequeo y
demasiado lento para hacer algo ms que experimento; reescribir el
sistema operativo y las utilidades totalmente en B era demasiado caro
un paso para parece factible. En algn momento Thompson alivi la
crisis de direccin en el espacio, ofreciendo un compilador `virtuales
B 'que permiti que el programa interpretado a ocupar ms de 8K
bytes de pgina en pgina el cdigo y los datos dentro de la
intrprete, pero ya era demasiado lento para ser prctico para el
comn servicios pblicos. An as, algunas utilidades escritas en B
aparecieron, incluyendo una primera versin de la calculadora
variable de precisin dc familiar a los usuarios de Unix [McIlroy 79].
La empresa ms ambiciosa que emprend fue una verdadera cruzada
compilador que traduce B para instrucciones de la mquina GE-635,
no cdigo roscado. Era un pequeo tour de force: un compilador B
completo, escrito en su propio lenguaje y el cdigo que genera para
una de 36 bits mainframe, que se ejecutaba en una mquina de 18
bits con 4K palabras del espacio de direcciones del usuario. Este
1

proyecto slo fue posible debido a la simplicidad de la lengua B y su


sistema en tiempo de ejecucin.

Aunque nos entretuvimos pensamientos ocasionales acerca de la


aplicacin de uno de los idiomas ms importantes de la poca como
Fortran, PL / I, o Algol 68, un proyecto de este tipo pareca
irremediablemente grande para nuestros recursos: herramientas
mucho ms simples y de menor tamao fueron llamados para. Todos
los idiomas influenciados nuestro trabajo, pero era ms divertido que
hacer las cosas por nuestra cuenta.
Para 1970, el proyecto Unix haba mostrado suficiente promesa de
que hemos sido capaces de adquirir la nueva diciembre PDP-11. El
procesador fue de los primeros de su lnea entregado por diciembre, y
tres meses pasaron antes de su disco lleg. Haciendo programas B
corren en ella mediante la tcnica roscada requerido slo escribir los
fragmentos de cdigo para los operadores, y un simple ensamblador
que program en B; pronto, dc convirti en el primer programa
interesante para analizar, antes de cualquier sistema operativo, en
nuestro PDP-11. Casi tan rpidamente, a la espera de que el disco,
Thompson recodificado el kernel Unix y algunos comandos bsicos
en lenguaje ensamblador PDP-11. De los 24K bytes de memoria en la
mquina, el PDP-11 sistema Unix primer utiliza 12K bytes para el
sistema operativo, un pequeo espacio para programas de usuario, y
el resto como un disco RAM. Esta versin fue slo para las pruebas,
no para el trabajo real; la mquina marc tiempo enumerando las
excursiones de caballero cerrada en los tableros de ajedrez de varios
tamaos. Una vez que su disco apareci, migramos rpidamente a l
despus de transcribir los comandos en lenguaje ensamblador para la
PDP-11 dialecto, y orificios que ya estn en B.
2

En 1971 , nuestro centro de ordenador en miniatura estaba


empezando a tener los usuarios . Todos queramos crear un software
interesante con ms facilidad. Uso de ensamblador era lo
suficientemente triste que B , a pesar de sus problemas de
rendimiento , se haba complementado con una pequea biblioteca
de rutinas de servicio til y estaba siendo utilizado para ms y ms
programas nuevos . Entre los resultados ms notables de este
perodo fue la primera versin de Steve Johnson del yacc generador
de analizadores sintcticos [ Johnson 79a ] .

xito De dnde?

C se ha convertido en un xito en una medida muy superior a


cualquier expectativa temprana. Qu cualidades contribuyeron a su
uso generalizado?

Sin duda, el xito de la propia Unix fue el factor ms importante; hizo


que el idioma disponible para cientos de miles de personas. A la
inversa, por supuesto, el uso de Unix de C y su consiguiente
portabilidad a una amplia variedad de mquinas era importante en el
xito del sistema. Pero la invasin de la lengua de otros entornos
sugiere mritos ms fundamentales.

A pesar de algunos aspectos misteriosos para el principiante y en


ocasiones incluso al adepto, C sigue siendo un lenguaje sencillo y
pequeo, traducible con los compiladores simples y pequeos. Sus
tipos y operaciones estn bien fundadas en los proporcionados por
las mquinas reales, y para la gente que se utilizan para el
3

funcionamiento de las computadoras, el aprendizaje de los idiomas


para la generacin de programas de tiempo y de espacio eficiente no
es difcil. Al mismo tiempo, el lenguaje est suficientemente abstrado
de detalles de la mquina que la portabilidad programa se puede
lograr.

Igualmente importante, C y su soporte central de la biblioteca siempre


se mantuvo en contacto con un entorno real. No fue diseado de
manera aislada para probar un punto, o para servir como un ejemplo,
sino como una herramienta para escribir programas que hacan cosas
tiles; siempre estaba destinado a interactuar con un sistema
operativo ms grande, y fue considerado como una herramienta para
construir herramientas ms grandes. Un enfoque parsimonioso,
pragmtico influy en las cosas que salieron en C: cubre las
necesidades esenciales de muchos programadores, pero no trata de
suministrar una cantidad excesiva.

Por ltimo, a pesar de los cambios que ha sufrido desde su primera


descripcin publicada, que era la verdad es informal e incompleta, la
lengua real C como se ha visto por millones de usuarios que utilizan
muchos compiladores diferentes ha mantenido muy estable y
unificado en comparacin con los de moneda similar generalizada,
por ejemplo Pascal y Fortran. Existen diferentes dialectos de C-ms
notablemente, los descritos por el K & R ms viejo y el ms reciente
estndar de C-pero, en conjunto, C se ha mantenido libre de
extensiones propietarias que otros idiomas. Tal vez las extensiones
ms importantes son el 'ahora' y 'cerca' calificaciones puntero
destinadas a hacer frente a las peculiaridades de algunos
procesadores de Intel. Aunque C no fue diseado originalmente con
la portabilidad como un objetivo primordial, que tuvo xito en
4

programas expresan, incluso incluyendo sistemas operativos, en


mquinas que van desde los ordenadores personales ms pequeos
a travs de los superordenadores ms poderosos.

C es peculiar, viciado, y un enorme xito. Mientras que los accidentes


de la historia seguramente ayudaron, es evidente que satisface una
necesidad de un lenguaje de implementacin del sistema lo
suficientemente eficiente para desplazar el lenguaje ensamblador,
pero lo suficientemente abstracto y fluidez para describir los
algoritmos y las interacciones en una amplia variedad de entornos.

Agradecimientos
Vale la pena resumir de forma compacta las funciones de los
colaboradores directos al lenguaje de hoy C. Ken Thompson cre el
lenguaje B en 1969-70; se deriva directamente de BCPL de Martin
Richards. Dennis Ritchie volvi B en C durante 1971-1973,
manteniendo la mayor parte de la sintaxis de B, mientras que la
adicin de tipos y muchos otros cambios, y escribir el primer
compilador. Ritchie, Alan Snyder, Steven C. Johnson, Michael Lesk, y
Thompson contribuyeron las ideas lingsticas durante 1972-1977, y
el compilador portable de Johnson sigue siendo ampliamente
utilizado. Durante este perodo, la coleccin de rutinas de biblioteca
creci considerablemente, gracias a estas personas y muchos otros
en los Laboratorios Bell. En 1978, Brian Kernighan y Ritchie escribi
el libro que se convirti en la definicin del lenguaje durante varios
aos. A partir de 1983, el comit ANSI X3J11 estandariz el idioma.
Especialmente notable en mantener sus esfuerzos en la pista eran
sus oficiales Jim Brodie, Tom ciruelo, y PJ Plauger, y el proyecto de
redactores sucesivos, Larry Rosler y Dave Prosser.
5

Doy las gracias a Brian Kernighan, Doug McIlroy, Dave Prosser, Peter
Nelson, Rob Pike, Ken Thompson, y los rbitros de HOPL para
asesora en la preparacin de este documento.

Das könnte Ihnen auch gefallen