Sie sind auf Seite 1von 8

LENGUAJE DE PROGRAMACIN C/C++

C++ es un lenguaje de programacin orientado a objetos que toma la base del


lenguaje C y le agrega la capacidad de abstraer tipos como en Smalltalk.
La intencin de su creacin fue el extender al exitoso lenguaje de
programacin C con mecanismos que permitieran la manipulacin de objetos. En
ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++
es un lenguaje hbrido [por? fusionar con el siguiente].
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
C++ es un lenguaje imperativo orientado a objetos derivado del C. En realidad
un sper conjunto de C, que naci para aadirle cualidades y caractersticas de
las que careca. El resultado es que como su ancestro, sigue muy ligado al
hardware subyacente, manteniendo una considerable potencia para programacin
a bajo nivel, pero se la han aadido elementos que le permiten tambin un estilo
de programacin con alto nivel de abstraccin. Estrictamente hablando, C no es un
subconjunto de C++; de hecho es posible escribir cdigo C que es ilegal en C++.
Pero a efectos prcticos, dado el esfuerzo de compatibilidad desplegado en su
diseo, puede considerarse que C++ es una extensin del C clsico. La definicin
"oficial" del lenguaje nos dice que C++ es un lenguaje de propsito general basado
en el C, al que se han aadido 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 librera (en realidad la librera Estndar C es un


subconjunto de la librera C++).
C++ es un lenguaje de programacin creado por Bjarne Stroustrup en los
laboratorios de At&T en 1983. Stroustrup tom como base el lenguaje de
programacin ms[referencia] popular en aquella poca el cual era C.
El C++ es un derivado del mtico lenguaje C, el cual fue creado en la dcada de
los 70 por la mano del finado Dennis Ritchie para la programacin del sistema
operativo [1] (un sistema parecido a Unix es GNU/Linux), el cual surgi como un
lenguaje orientado a la programacin de sistemas (System Programming) y de
herramientas (Utilities) recomendado sobre todo para programadores expertos,
y que no llevaba implementadas muchas funciones [cmo cules?] que hacen a un
lenguaje ms comprensible.
Sin embargo, aunque esto en un inicio se puede convertir en un problema, en la
prctica es su mayor virtud, ya que permite al programador un mayor control
sobre lo que est haciendo. Aos ms tarde, un programador llamado Bjarne
Stroustrup, creo lo que se conoce como C++.
Necesitaba ciertas facilidades de programacin, incluidas en otros lenguajes
pero que C no soportaba, al menos directamente, como son las llamadas clases y
objetos, principios usados en la programacin actual. Para ello redise C,
ampliando sus posibilidades pero manteniendo su mayor cualidad, la de permitir al
programador en todo momento tener controlado lo que est haciendo,
consiguiendo as una mayor rapidez que no se conseguira en otros lenguajes.

C++ pretende llevar a C a un nuevo paradigma de clases y objetos con los que
se realiza una comprensin ms humana basndose en la construccin de objetos,
con caractersticas propias solo de ellos, agrupados en clases. Es decir, si yo
quisiera hacer un programa sobre animales, creara una clase llamada animales, en
la cual cada animal, por ejemplo un pato, sera un objeto, de tal manera que se ve
el intento de esta forma de programar por ser un fiel reflejo de cmo los
humanos (en teora) manejamos la realidad.
Se dice que nuestro cerebro trabaja de forma relacional [referencia]
(relacionando hechos), es por ello que cada vez que recuerdas algo, (cuentas un
hecho), termina siendo diferente (se agregan u omiten partes).
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.
Nota: estrictamente hablando, C no es un subconjunto de C++; de hecho es
posible escribir cdigo C que es ilegal en C++. Pero a efectos prcticos, dado el
esfuerzo de compatibilidad desplegado en su diseo, puede considerarse que C++
es una extensin del C clsico. La definicin "oficial" del lenguaje nos dice que C+
+ es un lenguaje de propsito general basado en el C, al que se han aadido 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 librera
(en realidad la librera Estndar C es un subconjunto de la librera C++).
Respecto a su antecesor, se ha procurado mantener una exquisita
compatibilidad hacia atrs por dos razones: poder reutilizar la enorme cantidad

de cdigo C existente, y facilitar una transicin lo ms fluida posible a los


programadores de C clsico, de forma que pudieran pasar sus programas a C++ e
ir modificndolos (hacindolos ms "++") de forma gradual. De hecho, los primeros
compiladores C++ lo que hacan en realidad era traducir (pre procesar) a C y
compilar despus [3] (las consecuencias se dejan sentir todava en el lenguaje.
Por lo general puede compilarse un programa C bajo C++, pero no a la
inversa si el programa utiliza alguna de las caractersticas especiales de C++.
Algunas situaciones requieren especial cuidado. Por ejemplo, si se declara una
funcin dos veces con diferente tipo de argumentos, el compilador C invoca un
error de "Nombre duplicado", mientras que en C++ quizs sea interpretado como
una sobrecarga de la primera funcin (que sea o no legal depende de otras
circunstancias).
Como se ha sealado, C++ no es un lenguaje orientado a objetos puro (en el
sentido en que puede serlo Java por ejemplo), adems no naci como un ejercicio
acadmico de diseo.

Se trata simplemente del sucesor de un lenguaje de

programacin hecho por programadores (de alto nivel) para programadores, lo que
se traduce en un diseo pragmtico al que se le han ido aadiendo todos los
elementos que la prctica aconsejaba como necesarios, con independencia de su
belleza o purismo conceptual.
Tipos de datos
C++ tiene los siguientes tipos fundamentales:

Caracteres: char (tambin es un entero), wchar_t

Enteros: short , int , long , long long

Nmeros en coma flotante: float , double , long double

Booleanos: bool

Vaco: void

El modificador unsigned se puede aplicar a enteros para obtener nmeros sin


signo (por omisin los enteros contienen signo), con lo que se consigue un rango
mayor de nmeros naturales.
ACERCA DE INTRPRETE Y COMPILADORES
Antes, mencionar que tanto C como C++ son lenguajes compilados, y no
interpretados. Esta diferencia es muy importante, ya que afecta mucho a muchos
aspectos relacionados con la ejecucin del programa. En un lenguaje interpretado,
el programa est escrito en forma de texto, es el propio programa fuente. Este
programa fuente es procesado por un programa externo, el intrprete, que
traduce el programa, instruccin a instruccin, al tiempo que lo ejecuta. En los
lenguajes interpretados no existen programas ejecutables directamente por el
ordenador. El intrprete traduce, en tiempo real, cada lnea del programa fuente,
cada vez que se quiere ejecutar el programa. El los lenguajes compilados el
proceso de traduccin slo se hace una vez. El programa compilador toma como
entrada el cdigo fuente del programa, y da como salida un fichero que puede ser
ejecutado por el ordenador directamente. Una vez compilado, el programa
ejecutable es autnomo, y ya no es necesario disponer del programa original ni del

compilador para ejecutarlo. Cada opcin tiene sus ventajas e inconvenientes, y


algunas caractersticas que son consideradas una ventaja, pueden ser un
inconveniente en ciertas circunstancias, y viceversa.

Los

lenguajes

interpretados

son

fcilmente

modificables,

ya

que

necesitamos tener el cdigo fuente disponible en el ordenador. En los


compilados, estos ficheros no son necesarios, una vez compilados.

Los lenguajes interpretados necesitan un programa externo, llamado


intrprete o a veces mquina virtual, o framework. Este programa actua
como intermediario entre el fuente y el sistema operativo. En los
compilados ese papel lo desempea el compilador, pero al contrario que con
el intrprete, una vez ha hecho su trabajo, no es necesario que est
presente para ejecutar el programa.

Estas

dos

caractersticas,

lgicamente,

hacen

que

los

programas

compilados requieran menos espacio de memoria que los interpretados (si


contamos el espacio usado por el intrprete), y en general, los compilados
son ms rpidos, ya que slo se compilan una vez, y el tiempo dedicado a esa
tarea no se suma al de ejecucin.
Entre los lenguajes interpretados estn: BASIC (Cdigo de instrucciones
de propsito general para principiantes), Java, PHP. Muchos lenguajes de script,
etc. Entre los lenguajes compilados estn: C, C++, Pascal.
QU SE PUEDE HACER CON C++

Qu clase de programas y aplicaciones se pueden crear usando C y C++? La


respuesta es muy sencilla: TODOS. Tanto C como C++ son lenguajes de
programacin de propsito general. Todo puede programarse con ellos, desde
sistemas operativos y compiladores hasta aplicaciones de bases de datos y
procesadores de texto, pasando por juegos, aplicaciones a medida, etc.
C++ est considerado por muchos como el lenguaje ms potente, debido a que
permite trabajar tanto a alto como a bajo nivel, sin embargo es a su vez uno de
los que menos automatismos trae (obliga a hacerlo casi todo manualmente al igual
que C) lo que "dificulta" mucho su aprendizaje.
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.

http://www.ecured.cu/C%2B%2B
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B
%2B/Introducci%C3%B3n
https://es.wikipedia.org/wiki/C%2B%2B