¿Por qué no empezar con el popular Java? ¿O el tan elogiado Python? ¿O Swift para hacer aplicaciones para el iPhone “rápidamente”?¿Por qué iniciar con el Lenguaje C++ que tiene fama de todo, menos de «fácil»?
Pienso que cualquier lenguaje que se aborde es un buen punto de partida, siempre que se haga con método y rigor, al menos en el estudio del primer lenguaje que estudiamos, considero es muy importante.
Sin embargo, desde mi punto de vista algunas de las razones para empezar con C++ y no con otro lenguaje de programación son las siguientes:
- Es lo más cercano a C estándar, el cual nos abre la puerta al mundo del bajo nivel y de la programación de sistemas evitando la necesidad de usar ensamblador, de modo que una eventual transición puede resultar más cómoda que desde cualquier otro lenguaje a C.
- C++ es un lenguaje multiparadigma: Soporta programación genérica (Plantillas), estructurada, modular, abstracción de datos y orientada a objetos (1). Lo cual nos permitirá familiarizarnos con cualquier otro lenguaje sin demasiada complicación.
- Amplia disponibilidad de plataformas de trabajo. Prácticamente hay por lo menos un compilador para cada arquitectura y sistema operativo existente. Además debemos sumar la disponibilidad de compiladores en línea, lo cual elimina prácticamente cualquier barrera para poder programar, en cualquier momento, en cualquier lugar, en cualquier dispositivo.
- A partir de C++ se desarrollaron muchos de los más importantes y poderosos lenguajes de programaciones modernos. Java, Python, Swift, C#, PHP y un largo etcétera, comparten en mayor o menor medida, sintaxis, nomenclatura estructuras de control, entre otras características. De modo que abordar esos lenguajes será relativamente fácil una vez que se utilice C++ con comodidad.
- C++ nos permite hacer lo que C (programación a bajo nivel) y podemos programar a alto nivel cualquier cosa que necesitemos. Algo que no necesariamente permiten lenguajes más modernos.
- Finalmente y no menos importante, C++ sigue siendo uno de los lenguajes de programación mejor pagados.
No me extenderé más, creo que esas razones tienen el suficiente peso como para seguir ahondando en el tema.
Historia de C++
C++ fue creado por Bjarne Stroustrup en los Laboratorios Bell (dónde más pudo ser…) desde 1979 y fue presentado formalmente el 14 de octubre de 1985, derivado, como casi siempre, de una necesidad del propio creador,
C++ se benefició de los siguientes lenguajes:
- C: Extendió C heredando su potencia de bajo nivel ANSI C++ de hecho C++ es un superconjunto de C
- Simula 67: es la principal fuente de inspiración de C++ (Según su autor), de aquí se heredó el concepto de Clase
- Algol-68: Sobrecarga de operadores
- ADA y CLU: Plantillas y manejo de excepciones
- Smalltak: Abstracción y herencia
- Modula-2: Capacidad de organización
Con respecto a C, tal vez lo más importante que se deba decir es que no hay algo que se pueda hacer en C que no se pueda hacer con C++(2).
Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++.
Compiladores de C++
Para programar cómodamente en C++ es conveniente contar con un compilador instalado de forma local, aunque cabe señalar que existen compiladores en línea que nos permiten compilar programas en C++ siempre y cuando se cuente con una conexión a Internet. Esta opción puede ser útil si nos encontramos aburridos y queremos practicar en lugar de mantener pláticas intrascendentes, por ejemplo.
Compiladores en línea
Alguno de los compiladores en línea que podemos utilizar son:
C++ Shell – http://cpp.sh/ Simple pero eficiente compilador, ligero, sin adornos
GDB Online https://www.onlinegdb.com/, soporta C, C++, Java, Python 3 y PHP
JDoodle https://www.jdoodle.com/online-compiler-c++ Permite programar sin los indicadores de ámbito para la librería estándar
CodeChef https://www.codechef.com/ide Permite compilar una amplia variedad de lenguajes de programación, pero tiene el problema de que tiene límites de transferencia que pueden impedir que puedas utilizarlo (como se muestra en el recuadro rojo)
TutorialsPoint https://www.tutorialspoint.com/compile_cpp_online.php Otro compilador en línea multilenguaje con el plus de contar con una amplia variedad de extensos tutoriales(en inglés). Este quizá sea uno de los más completos IDE disponibles en línea permitiendo incluso trabajar con proyectos de más de un archivo.
Nota acerca de los compiladores online
Cuando utilices uno de estos compiladores notarás que algunos compiladores no definen lo que se denomina nombre de espacio, std en este caso, lo que provocará que, o lo definimos manualmente, o deberemos utilizar los streams de datos utilizando los identificadores de ámbito (::), no importa si no entiendes en este momento éste párrafo. De hecho acostúmbrate, en la programación es común introducir un término, a continuación utilizarlo, y hasta después (a veces mucho, mucho, después) entender cómo funciona.
Compiladores locales
En el caso de utilizar un compilador en el equipo local, deberemos descargar un compilador e instalar la versión correcta de acuerdo a nuestro sistema operativo, actualmente también hay que tomar en cuenta la arquitectura, considera que algunos compiladores para CPU’s de 32 bit no trabajarán en uno de 64 bit y viceversa.
Para Windows y Linux podemos utilizar
DevCpp (Para arquitectura de 32 bits, en Windows, en Linux no se ha probado), Actualmente no recibe actualizaciones mayores dado que el desarrollador inicial ha abandonado el proyecto, te sugiero ya no usarlo, hay versiones más modernas y con soporte por parte de la comunidad de usuarios.
CodeBlocks con el compilador de C++ Se ha probado con éxito en Windows XP, 7, 8 y 10 (32 y 64 bit), también hay versiones disponibles para Linux (varias distros) y MacOS. El repositorio actualizado al 06/03/22 para Windows lo puedes encontrar en https://sourceforge.net/projects/codeblocks/files/Binaries/20.03/Windows/ de los archivos disponibles descarga codeblocks-20.03-setup-nonadmin.exe que es el archivo que tiene el compilador para C++.
Auque reconozco la calidad de los productos que la extinta Borland, no recomiendo utilizar los antiguos IDE Turbo C++ y Borland C++ básicamente por el tiempo de abandono que tienen y por la gran dependencia de muchas librerías específicas de Borland que no son compatibles con compiladores más recientes, dificultando la portabilidad de los programas realizados en estas plataformas.
Para el desarrollo profesional tarde o temprano tendrás que utilizar una solución propietaria (de paga), antes de llegar a este nivel, puedes aprovechar Visual Studio de Microsoft, la versión Community es gratuita y te prepara antes de dar el salto. Es una buena opción que vale la pena consideres. Sin embargo en etapas tempranas puede resultar “demasiado”, por lo que no lo sugiero si apenas empiezas.
Zinjal. Este IDE relativamente reciente es funcional, ligero y ofrece todo lo necesario que necesitarás como estudiante de C++, de acuerdo a su desarrollador, es tan potente como para que desarrolles tus propios IDE’s. Lo considero una alternativa bastante aceptable. Una de las grandes ventajas es que ha sido desarrollado en español, está disponible para Windows, MacOS y Linux.
Nuestra elección
Para este mini curso utilizaré como IDE/Compilador en línea:
GDB Online https://www.onlinegdb.com
Y cuando los programas se hagan más complejos, utilizaré
CodeBlocks con el compilador GCC/G++
Sin embargo nada te impide utilizar el IDE que más te agrade, incluso tu bloc de notas puede ser suficiente.
Antes de empezar (ahora sí) para que reflexiones un poco, te dejo la respuesta de Bjarne Stroustrup a la pregunta realizada por la revista Wired con motivo del 25 aniversario del lenguaje C++
Wired.com: ¿Algún consejo para los programadores jóvenes?
Stroustrup: “Supongo que dar consejos es más fácil comparado con hacer caso a ellos. Conoce sus elementos fundamentales (algoritmos, estructura de datos, arquitectura de las computadoras y sistemas), y aprende varios lenguajes de programación al punto que puedas usarlos como cualquier otro idioma.
Conoce tu campo (que no tenga que ver con el cómputo), adecuadamente: matemáticas, biología, historia, óptica, lo que sea. Trata de comunicarte efectivamente verbal y por escrito. Gasta una irracional cantidad de tiempo en tópicos verdaderamente difíciles. Trata de hacer algo que haga la diferencia en nuestro mundo.” (3)
Revista Weired: https://www.wired.com/2010/10/1014cplusplus-released/all/1#ixzz12OBqPT5L consultado el 04/09/2017
Si tienes alguna duda que no se responde en este documento, por favor plantea tu pregunta para poder responderte. O escribe directamente a soporte@ehack.mx
Referencias
- Por Roberto C. González para Ethical Hack
- http://www.zator.com/Cpp/E4_4_7.htm
- Lenguaje C++ – Introducción
- Tomado del Blog de Jesús Amiero. Nota para programadores nuevos: Naturalmente es código de broma, no vayas a pensar que va en serio 😀
- Tomado de «101 citas célebres del mundo de la informática» en Variable Not Found
Fuente Imágenes
- (1) C++ estándar By Enrique Hernández Orallo, José Hernández Orallo, Ma Carmen Juan Lizandra, p 3. Editorial Paraninfo
- (2) C++ estándar By Enrique Hernández Orallo, José Hernández Orallo, Ma Carmen Juan Lizandra, p 9. Editorial Paraninfo
- (3) https://www.wired.com/2010/10/1014cplusplus-released/all/1#ixzz12OBqPT5L consultado el 04/09/2017
Tutorial de C++ by eHack
- Volver al índice de temas del Tutorial de C++
- *** Durante todo este tutorial se repetirá: Este es un curso orientado a gente que nunca ha programado, incluso a gente ajena a la informática. Por esta razón el desarrollo puede parecer lento en ciertas etapas. Prefiero ser claro paso a paso, que hacer «pasos mágicos» como suele ocurrir cuando se enseña programación. *** También es buena idea leas esta entrada si te preguntas «Por qué C++»
Código Fuente
- El código fuente de toda la serie lo puedes descargar en nuestro repositorio en github busca los programas con el nombre del encabezado de cada programa.
- Código de esta sección
Lenguaje C++ - Introducción, por Roberto C. González. Se distribuye bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.
©2025, Ethical Hack, Todos los derechos reservados sobre el contenido propio.