Lenguaje de Programación C++




2. Lenguaje de Programación C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

2.1 Historia

La historia del lenguaje de programación C++ comienza a principios de los años 70, con un programador de nombre Dennis Ritchie que trabajaba en los laboratorios de AT&T Bell. Trabajando con un lenguaje llamado BCPL inventado por Martin Richards (que luego influyó para crear el B de Ken Thompson), Dennis deseaba un lenguaje que le permitiese manejar el hardware de la misma manera que el ensamblador pero con algo de programación estructurada como los lenguajes de alto nivel. Fue entonces que creó el C que primeramente corría en computadoras PDP-7 y PDP-11 con el sistema operativo UNIX. Pero los verdaderos alcances de lo que sería éste, se verían poco tiempo después cuando Dennis volvió a escribir el compilador C de UNIX en el mismo C, y luego Ken Thompson (diseñador del sistema) escribió UNIX completamente en C y ya no en ensamblador. Al momento de que AT&T cedió (a un precio bastante bajo) el sistema operativo a varias universidades, el auge de C comenzaba. Cuando fueron comerciales las computadoras personales, empezaron a diseñarse varias versiones de compiladores C, éste se convirtió en el lenguaje favorito para crear aplicaciones.

En 1983, el Instituto Americano de Normalización (ANSI) se dio a la tarea de estandarizar el lenguaje C, aunque esta tarea tardó 6 años en completarse, y además con la ayuda de la Organización Internacional de Normalización (ISO), en el año de 1989 definió el C Estándar. A partir de éste, se dio pie para evolucionar el lenguaje de programación C. Fue en los mismos laboratorios de AT&T Bell, que Bjarnes Stroutstrup diseñó y desarrolló C++ buscando un lenguaje con las opciones de programación orientada a objetos. Ahora el desarrollo del estándar de C++ acaparaba la atención de los diseñadores. En el año 1995, se incluyeron algunas bibliotecas de funciones al lenguaje C. Y con base en ellas, se pudo en 1998 definir el estándar de C++. Algunas personas podrían pensar que entonces C++ desplazó a C, y en algunos aspectos podría ser cierto, pero también es cierto que algunas soluciones a problemas requieren de la estructura simple de C más que la de C++, C generalmente es usado por comodidad para escribir controladores de dispositivos y para programas de computadoras con recursos limitados. La base del lenguaje fue creada por programadores y para programadores, a diferencia de otros lenguajes como Basic o Cobol que fueron creados para que los usuarios resolvieran pequeños problemas de sus ordenadores y el segundo para que los no programadores pudiesen entender partes del programa. C++ es un lenguaje de nivel medio pero no porque sea menos potente que otro, sino porque combina la programación estructurada de los lenguajes de alto nivel con la flexibilidad del ensamblador. El nombre "C++" fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

2.2 Características

Las principales características del Lenguaje C ++son:

-Es un lenguaje imperativo orientado a objetos derivado del C.

-Nació para añadir cualidades y características de las que carecía el lenguaje C.

-Cuenta con nuevos tipos de datos, clases, plantillas, mecanismo de excepciones, sistema de espacios de nombres, funciones inline, sobrecarga de operadores, referencias, operadores para manejo de memoria persistente, y algunas utilidades adicionales de librería.

-Permite la programación estructurada, por eso se dice que es un lenguaje híbrido.

-En este lenguaje el programador tiene el control total de lo que está haciendo, permitiendo una máxima eficiencia al no incorporar verificación de errores en tiempo de ejecución.

-Es un lenguaje de nivel intermedio, pudiéndose utilizar tanto para escribir software de bajo nivel, como drivers y componentes de sistemas operativos, como para el desarrollo rápido de aplicaciones, según el marco de trabajo con el que se disponga, como VCL de Borland C++ Builder.

-Sus compiladores generan código nativo con un alto grado de optimización en memoria y velocidad, lo que lo convierte en uno de los lenguajes más eficientes.

-A través de los patrones de clase y de funciones, los templates, el lenguaje apoya el desarrollo de clases genéricas con parámetros de tipo y de tamaño.

-La sobrecarga de operadores. Esto significa que a los operadores intrínsecos del lenguaje se les puede redefinir la semántica: se pueden escribir funciones que en vez de tener un nombre, se asocian a un operador, que debe tener por lo menos un parámetro de tipo clase.

-Es fundamental utilizar las clases de STL, entre las que se encuentra string, la clase que encapsula la clásica cadena de caracteres terminada en cero heredada de C. Esto posibilita manipular cadenas de caracteres de la misma forma en que se lo hace en otros lenguajes de programación que tienen un tipo de datos string integrado.

-Sus extensiones que incluye CodeGear en su IDE Borland C++ Builder incorporan al lenguaje el modelo de eventos y propiedades, lo que ayuda bastante a generar código más claro y elegante.

-En C++ la asignación y liberación de memoria dinámica es responsabilidad del programador.

-Se pueden construir elegantes mecanismos y jerarquías de clase que controlen correctamente la creación y destrucción de objetos, como así también se pueden escribir programas que no lo hagan tan bien, dejando bloques de memoria perdidos.

-Una de sus particularidades es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales.

2.3 Versiones

Algunas de las versiones del lenguaje de programación C++ son: C++; C++98; C++03; C++TR1; C++11 ; C++14 ; C++17

La última versión estable fue ISO/IEC 14882:2014

 
Para consola, los más comunes son el turbo C++ de borland, que admiten objetos o ventanas el Dev C++, el Visual C++ el borland buid C++ y hay mucho más.


Resultado de imagen para creador de c++

Resultado de imagen para complementos de C++

Comentarios

Entradas populares de este blog

Componentes del Lenguaje C++

Sintaxis para declarar variable

Concepto y características del Código Binario