Breve Historia de C++
En 1967 Martin Richards creó un lenguaje de programación BCPL, para escribir
sistemas operativos y compiladores y Ken Thompson creó el lenguaje B basándose en el
BCPL. Con B, Thompson escribió las primeras versiones de UNIX en los laboratorios
Bell durante 1970. Estos 2 lenguajes muy rústicos y dejaban muchas tareas al
programador.
En 1972 Denis Ritchie escribe un lenguaje basado en BCPL y B con varias mejoras que
contribuyen a su posterior popularidad; lo llamó C. La eficiencia del C en términos de
ejecución y administración de recursos lo hizo el preferido de las empresas de software
que diseñaban sistemas operativos y compiladores. Una de sus principales
características es su independencia del hardware, lo cual permitía inicialmente correr
programas C en cualquier plataforma con mínimas modificaciones. Pero las empresas
de software comenzaron a diseñar versiones de C particulares que le quitaban
portabilidad a los programas. Por eso, en el 1983 el ANSI creó un comité técnico para
su standarización. La versión aprobada junto a la ISO vió la luz en 1990 y se lo conoce
como ANSI C.
En 1980 Bjarne Stroustrup en los Laboratorios Bell, comenzó a experimentar con
versiones mejoradas de C (C con clases) con la única finalidad de escribir programas de
simulación orientada a eventos.
El nombre de C++ fue idea de Rick Masciatti haciendo uso del operador postincremento
del lenguaje y sugería que era el lenguaje que le seguía a C. Este compilador fue
creciendo con renovadas características que lo hacen muy original, manteniendo la
compatibilidad con su antecesor C. C++ incorpora clases y funciones virtuales
basándose en SIMULA67, tipos genéricos y expresiones de ADA, la posibilidad de
declarar variables en cualquier lugar de ALGOL68, así como otras características que
no existían antes: herencia múltiple, espacios en nombres, funciones virtuales puras, etc.
Alex Stepanov y Adrew Koenig idearon la biblioteca STL, la cual le da a C++ una
potencia única entre los lenguajes de alto nivel.
Debido a la enorme difusión de C++, y a las diferentes versiones que fueron
apareciendo, las organizaciones ANSI e ISO se reunieron en 1990 para definir el
Standard de este lenguaje, el cual fue aprobado en 1998.
Hoy día, C++ posee una notable inserción en el mundo de las computadoras y es un de
los lenguajes clásicos de programación: tanto sistemas operativos y compiladores, como
aplicaciones.
Conceptos Generales de C
De C a C++. C++ es un Superconjunto de C. Todas las construcciones de C están presentes en C++. Los
programas que se compilan bajo C deberían poder hacerlo bajo C++. Los programas que siguen el
estándar de Kernighan y Ritchie pueden dar origen a errores cuando se someten a un compilador de C++,
y siempre dan origen a avisos. Los programas que no generan avisos bajo Turbo C 2.0 tampoco deberían
generar errores al ser compilados bajo turbo C++.
Para confirmar esto, Turbo C++ distingue entre un programa C y un programa C++ examinando su
extensión. si el nombre del archivo fuente termina en .c se considera un programa de C; si termina en
.cpp, se entiende que es un programa C++, a no ser que la opción C++ haya sido activada en el menú
Options/Compiler.
C++ y ANSI C. Comparten algo mas que una herencia en común. Muchas de las extensiones de C ANSI,
tales como el formato de la declaración de sus funciones y el uso de los tipos de fuentes de datos, se
trasladan a C++. Además de esto, C++ ha ampliado con objeto de incluir las ultimas novedades ANSI y
guardar la máxima compatibilidad. C++ comparte las siguientes características con ANSI, aunque exista
alguna diferencia menor:
Prototipo de Funciones.
Variables register
#pragmas
De Turbo C a Turbo C++. Aunque Turbo C++ se desvía de Turbo C, la interrelación entre ambos es
inconfundible. Turbo C++ conserva tanto la versión del compilador Orientado a la línea de ordenes, como
el entorno interactivo de desarrollo (IDE), pero en un entorno de ventanas. Además, Turbo C++ admite
ahora la entrada de información desde un ratón o desde el teclado.
Las 3 mejoras significativas de Turbo C++ son:
El entorno Interactivo de Desarrollo. Que permite al programador editar, compilar, enlazar y
depurar en el mismo entorno sin necesidad de conmutar del editor al compilador y al depurador.
El programador puede ajustar la compilación y el enlazado a través de opciones del menú, en vez
de memorizar las opciones de compilación de las líneas de ordenes.
VROOMM. Gestor de Memoria VROOMM (Virtual Runtime Object Oriented Memory
Manager), que es un sofisticado gestor de superposición de memoria que permite a los
programadores crear programas de tamaño superior a los 640 Kb.
Soporte del lenguaje Ensamblador. Al admitir pseudoregistros y tipo interrupciones.
Diagrama mas Explícito de los antecesores de C y C++
¿Por usar C o C++?
Es un lenguaje de Alto nivel.
Tienen una escritura Elegante, es decir, programas legibles y entendibles.
Tiene programas portables a otros sistemas.
Excelentes compiladores disponibles.
La compilación es rápida y pequeña.
Sus características de C permiten acceder al control del Hardware.
Durante la programación se pueden considerar detalles de bajo nivel.
EspecÍficamente el compilador de Borland C++:
Una magnifica interface con el usuario..
Se pueden configurar la mayoría de sus características para fomentar hábitos.
Los errores de sintaxis son inmediatamente detectados con el Editor.
El editor emula a los populares editores de texto.
Desde el editor tu tienes el control del depurador.
Borland C++ incluye características estándar para facilitar el desarrollo de grandes aplicaciones
de Software.
Borland C++ corre bajo el ambiente Windows de cualquier versión (inferiores a la 3.0), y
contiene un Kit de herramientas para el desarrollo de aplicaciones de Windows (cabecera
Windows.h)
Para Efectos practicos de este tutorial, se podran correr las aplicaciones en la versón Borland C++ 3.0 de
DOS, pero tambien puede Ud utilizar la versión Borland 3.1 C++ para Windows.
¿CUALES SON LAS CARACTERISTICAS DE TURBO C++ 3.0 PARA DOS?. De manera interna
Turbo C++ contiene una pequeña guia de aprendizaje para guiar al programador en su avance cotidiado
de trabajo, con una ayuda sensible al contexto, y mantiene un gran poder en su editor, compilador,
depurador y ensamblador, todo para un desarrollo de aplicaciones de C y C++ facílmente. Ademas cuenta
con las siguientes ventajas:Contiene capacidades para ensamblador, programación Orientada a Objetos,
Soporte para Templates, Librerias de Clases Standares incluyendo iostreams, y números complejos,
cabeceras precompildas para una compilación rapída, Un Administrador inteligente de Proyectos con una
utileria MAKE, mas de 450 librerias de funciones incluyendo las gráficas, incluye editor multi-archivos
con soporte para macros, archivos muy grandes, ilimitado un-do y re-do,y una sintaxis sobresaltada por
colores.
¿QUE REQUERIMIENTOS DE SISTEMA NECESITO?, Una PC 286 o superior, MS-DOS 3.31 o
posterior, 1 MB en RAM, un DD con un minimo de espacio libre de 5 Mb.
C Pertenece a una familia bien establecida de lenguajes cuya tradición enfatiza virtudes como fiabilidad,
regularidad, simplicidad de uso. Los miembros de esta familia se llaman a menudo "Lenguajes
Estructurados", cuya disciplina es hacer programas fáciles de leer y escribir, esto fue todo un Paradigma o
Ideología en los años 70´s.
C++ ya no entra dentro de esta familia de lenguajes Estructurados, si no en el ultimo de los Paradigmas
establecidos en los 80´s y 90´s: El Orientado a Objetos.