2. Historia Lenguaje C++
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por
BjarneStroustrup. La intención de su creación fue el extender al exitoso lenguaje
de programación C con mecanismos que permitan 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.
Posteriormente se añadieron facilidades de programación genérica, que se sumó
a los otros dos paradigmas que ya estaban admitidos (programación estructurada
y la programación orientada a objetos). Por esto se suele decir que el C++ es un
lenguaje de programación multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la
mayoría de los fabricantes de compiladores más modernos. Existen también
algunos intérpretes, tales como ROOT.
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.
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.
Al usar la directiva #include estamos diciéndole al compilador que busque e
interprete todos los elementos definidos en el archivo que acompaña la directiva
(en este caso, iostream). Para evitar sobrescribir los elementos ya definidos al
ponerles igual nombre, se crearon los espacios de nombres o namespace del
singular en inglés. En este caso hay un espacio de nombres llamado std, que es
donde se incluyen las definiciones de todas las funciones y clases que conforman
la biblioteca estándar de C++. Al incluir la sentencia usingnamespacestd le estamos
diciendo al compilador que usaremos el espacio de nombres std por lo que no
tendremos que incluirlo cuando usemos elementos de este espacio de nombres,
como pueden ser los objetos cout y cin, que representan el flujo de salida estándar
(típicamente la pantalla o una ventana de texto) y el flujo de entrada estándar
(típicamente el teclado).
La definición de funciones es igual que en C, salvo por la característica de que si
main no va a recoger argumentos, no tenemos por qué ponérselos, a diferencia de
C, donde había que ponerlos explícitamente, aunque no se fueran a usar. Queda
solo comentar que el símbolo << se conoce como operador de inserción, y grosso
modo está enviando a cout lo que queremos mostrar por pantalla para que lo pinte,
en este caso la cadena "Hola mundo". El mismo operador << se puede usar varias
3. veces en la misma sentencia, de forma que gracias a esta característica podremos
concatenar el objeto endl al final, cuyo resultado será imprimir un retorno de línea.
Por último tomaremos una secuencia de caracteres del teclado hasta el retorno de
línea (presionando ENTER), llamando al método get del objeto cin.
Tipos de datos
C++ tiene los siguientes tipos fundamentales:
• Caracteres: char (también es un entero), wchar_t
• Enteros: short int, int, longint, longlongint
• Números en coma flotante: float, double, longdouble
• Booleanos: bool
• Vacío: void
El modificador unsigned se puede aplicar a enteros para obtener números sin
signo (por omisión los enteros contienen signo), con lo que se consigue un rango
mayor de números naturales.
Tamaños asociados
Tamaños de tipos primitivos bajo i386 (GCC)
Tipo Número de Bits
char 8
short 16
int 32
float 32
double 64
Según la máquina y el compilador que se utilice los tipos primitivos pueden ocupar
un determinado tamaño en memoria.
APLICACIONES EN LAS QUE SE UTILIZA C++
Actualmente Windows 7 Mac os leopard y linuxusanmas de una tecnologia ya se
empezo a usar c#c++ y hasta java en el caso de Linux sse uso phytom c y tbn
ensambladores y demases cosas, y mac siempre basado en unix con compilacion
en c++ para los últimos sistemas operativos.
Tambien encontramos en las siguientes aplicaciones
4. Ableton Live
Adobe Illustrator
BitComet
BitSpirit
BitTorrent (programa)
Cadabra (software)
CATIA
CDex
Adobe Dreamweaver
YOUTUBE
FACEBOOK
Adobe Fireworks
Fre:ac
Free Download Manager
Fritzing
Google Chrome
Haiku (sistema operativo)
Adobe ImageReady
Jahshaka
MediaPortal
IDES MÁS UTILIZADOS DEL LENGUAJE C++
BORLAND C++ BUILDER 6.0
Es un entorno excelente y una gran opción ya que permite
el desarrollo de proyectos con interfaces de usuario complejas de manera
fácil y permite recompilar proyectos de C++ en Linux.
Pero por otra parte su depurador es algo pobre, contiene un compilador
mucho mas lento que el de Visual Studio y solo permite importar proyectos
de Visual Studio 6 o aquellos cuales tengan código en ANSI C++.
5. No es gratuito pero su precio es inferior al de Visual aunque difícil de
conseguir (legalmente) su precio varia entre los u$s69 y los u$s 100,
además creo que han salido nuevas versiones pero no las he revisado aun,
en definitiva no deja de ser una buena opción para quienes no estén
dispuestos a pagar los terribles precios de Microsoft o crean que el Dev
C++ no es una buena herramienta.
ECLIPSE
Este IDE es, a mi entender, una de las mejores opciones
para proyectos pequeños, medianos y hasta para algunos grandes
proyectos, al igual que DEV C++ colorea el código y es gratuito.
Es un proyecto creado dentro del ámbito universitario y esta en constante
actualización. Contiene un buen depurador, utiliza MinGW y contiene
muchas opciones para la creación de proyectos con POO.
Pero sus desventajas son, la lentitud tanto para compilar como para
depurar, y su instalación es verdaderamente tediosa. Necesitaremos tener
motor java instalado o descargarlo desde http://www.java.com/es/download/
ya que originalmente se creo como un IDE para java y contiene algunos
bugs, sin embargo no deja de ser una de las mejores opciones a la hora de
iniciarnos, algo difícil al principio pero cuando descubramos todas sus
opciones lo encontraremos realmente útil.
Para descargarlo debemos elegir alguno de los mirrors en su pagina de
descargas y luego deberemos seguir las instrucciones en su tutorial en la
parte -> C/C++Developers, y luego en la ventana de ayuda, en el índice de
contenidos con la solapa -> “beforebegin”, instalando el MinGW 5.1.3 si
tenemos Windows, o el Cygwin si tenemos Linux. Luego deberemos seguir
todos los pasos descriptos instalando todo lo que nos pide desde los links
que proporciona el mismo.
VISUAL C++ STUDIO
Empezando por la versión de Microsoft, el Visual C++ es
quizás el mas completo de todos los entornos que vamos a encontrar para
trabajar en C++. Junto con sus completas librerías (el conjunto SDK)
podemos crear casi de todo, y además es la plataforma utilizada por mas
del 90% de los desarrolladores de video juegos ya sea en 2D o en 3D.
Su compilador es muy veloz, el depurador es excelente, permite el
encarpetamiento de clases para mejorar la organización de los proyectos y
tiene una integración sencilla con herramientas externas.
6. Sus desventajas son, que no es conveniente utilizarlo si vamos a realizar
proyectos pequeños ya que requiere demasiadas especificaciones antes de
poder empezar a tipear código, además sus diferentes versiones van desde
los u$s 600 hasta los u$s 10939, es un producto caro, no es recomendable
para personas que quieren comenzar en la programación C++ y sus
requerimientos en memoria son mucho mas altos que los de sus
competidores.
Recientemente Microsoft a realizado una versión gratuita del Visual C++ la
cual podemos descargar de su pagina
BLOODSHED DEV C++
Es un entorno gratuito, aun muy joven, pero totalmente
muy recomendable si estamos ingresando a la programación en C++ ,
además nos va marcando el código en diferentes colores para una mejor
comprensión del mismo.
Lo mejor es que sus librerías se van actualizando día a día con versiones
nuevas en Internet y sus requerimientos de memoria son bajos, es un
entorno prometedor a futuro y podemos descargar la ultima versión de su
paginahttp://www.bloodshed.net/.
También deberemos descargar la librería MinGW desde la
paginahttp://sourceforge.net/project/showfiles.php?group_id=2435.
Recomiendo descargar la versión MinGW 5.1.3 es la última versión y
funciona muy bien.
Otra desventaja que tiene este IDE es que no posee diseñador de
formularios pero puede ser complementado con librerías como qt
(descargar de: http://www.trolltech.com), muchas veces se puede colgar y
el depurador es algo pobre.