|
C++
nació básicamente como una extensión al
lenguaje "C", de los
laboratorios Bell de AT&T, el cual fue desarrollado en
1969-1973 al mismo tiempo que en los mismos laboratorios se desarrollaba
el sistema operativo Unix. C a su vez esta basado o tiene sus bases
en el lenguaje "B", desarrollado por Ken Thompson especialmente
pensando en Unix. Y también "B" provenía
de BCPL, desarrollado en los 60's por Martin Richards en el MIT.
En 1971 Dennis Ritchie en los laboratorios Bell extendió
el lenguaje "B", agregándole tipos, en lo que se
llamo el nuevo "B" (NB-NewB), estas extensiones tuvieron
gran influencia de ALGOL68. Después de reestructurar el lenguaje
y rescribir el compilador surgió el nuevo lenguaje denominado
"C".
En 1983, con varias versiones de "C" alrededor del mundo,
la ANSI estableció un comité que se encargaría
de publicar un estándar de "C" para 1989.
En 1983, Bjarne Stroustrup de Laboratorios Bell creo "C++",
el cual fue diseñado también para la plataforma Unix,
y es una mejora del "C", que se enfoco principalmente
a agregar características que soportaran el nuevo (en esa
época) paradigma de la orientación a objetos, permitiendo
a los programadores mejorar la calidad del código, haciendo
mas fácil de crear código reutilizable.
En
la actualidad existe un comité de la ANSI el cual se encargó
de crear un estándar para C++, el cual fue publicado en 1998
y que continua revisando nuevas mejoras para el lenguaje.
A pesar de esto existen diferentes versiones en una misma plataforma
y en diferentes plataformas, las cuales no cumplen por completo
con el estándar ANSI y/o que agregan funcionalidad que no
se ha estandarizado, por lo cual hay que tener en cuenta el compilador
y la plataforma en la cual se utilizará C++..Los diseñadores
de C++ crearon el lenguaje con desde el punto de vista de que el
programador sabe lo que hace. Los beneficios de esto son pocas limitaciones
en la manera en que un desarrollador ataca un problema y la desventaja
que es fácil escribir código que maneja mal la memoria
ocasionando errores y/o que puede ocasionar un "cash"
en el sistema operativo.
|
|