El post que buscas se encuentra eliminado, pero este también te puede interesar

tutorial para empezar a programar en c++ desde 0 parte 1

Anuncios

Buenas gente de T!

La idea de este post es que al terminar de leerlo tengan una nocion basica de programacion en c++, con todas las herramientas necesarias, conocimiento y paginas utiles.

Empezemos:


¿C++, que es?¿Por que me conviene?

C++ es uno de los lenguajes mas usados en muchas areas de la programacion debido a que es orientado a objetos(vamos a ver que significa eso mas adelante), no es de tan alto nivel y a que es bastante eficiente para aplicaciones de escritorio, juegos y otras cosas que demanden muchos recursos.

¿Alto nivel, que es?

Digamos que la computadora tiene su propio lenguaje, el codigo binario, que consiste en ceros y unos(tension o no tension). Cuanto mas alejado del codigo de la maquina se encuentra el lenguaje, se simplifica el entendimiento por el humano y dificulta el entendimiento por la maquina(Por decirlo de alguna manera).
Bien, dijimos que c++ "no es de tan alto nivel"¿Esto que significa?
Esto se puede explicar con una imagen:


tutorial para empezar a programar en c++ desde 0 parte 1


Existen varios tipos de lenguajes, como bien ya dijimos, el lenguaje de maquina(ceros y unos), el lenguaje "assembler"(una representacion simbolica del lenguaje de maquina), los lenguajes compilados(como c++, se escriben en un lenguaje y la computadora lo convierte en ceros y unos, osea, lo compila) y los interpretados(que son aquellos que la computadora necesita de un interprete para "entender". Vale tambien recalcar que, al alejarnos del codigo de maquina, aumenta la abstraccion.
C++ es compilado de aprender, si, pero opera a mas velocidad que el resto de los lenguajes compilados(a excepcion de c, el predecesor de c++) y al programar en c++ tenemos control directo sobre la memoria.

Entonces, necesito algo para programar en c++¿No?

Si, se necesita un compilador(algo que tradusca lo que escribimos a codigo binario). Aca se pueden tomar varios caminos, vamos a recorrer cada uno. Vale la pena destacar que en lineas generales no importa tanto el programa que usemos, todos tienen lo basico, aunque difieren en algunos detalles.

wxDev-c++
Este es un IDE(Entorno de desarrollo integrado) muy usado para aprender a programar y sumamente recomendable. Es la extencion de un ide que se dejo de actualizar en el 2005(dev-c++), pero no es necesario bajarse el anterior para instalar este. Es gratis y de codigo abierto.
http://wxdsgn.sourceforge.net/?q=node/4

Visual Studio 2010 Express
Este es muy completo, ofrece muchas ventajas, pero no es de codigo abierto(si es gratis) y si para computadoras viejas no es de lo mas recomendable, ya que es pesado y con otras aplicaciones abiertas puede laggearse si la computadora es mala. Ademas de que la version gratuita no puede ser usada con fines comerciales.
*Necesario tener instalado el net framework 4.

http://www.visualstudio.com/downloads/download-visual-studio-vs#DownloadFamilies_4
(Elijan la opcion c++ y descarguen.)

Ya les mostre los ides mas utilizados, o, por lo menos, los que yo recomiendo(existen muchisimos mas, como el netbeans o el codeblocks) pero tambien se puede programar sin ides, de una forma minimalista(ahorrando recursos y no usando aplicaciones pesadas), que voy a detallar mas adelante

Empezemos con lo basico.
Una vez descargado e instalado el programa(no deberia suponer ninguna dificultad), deberian empezar un nuevo "proyecto".

En el wxDev-c++, van a ir a la opcion "File" y clickean en "New" y "Project".
screenshot:
Programacion

En VS seria asi:
tutorial

¿Que proyecto debo crear?
Una vez seleccionado "nuevo proyecto", deben seleccionar "aplicacion de consola" y elegir el nombre y destino del proyecto.

wxDev-c++:
desde 0

En VS:
Ides

Ahora deberia aparecer una ventana con texto(efectivamente, texto en c++) que veremos mas adelante, aunque este primer tutorial se basara mas en lo basico de los ides.

Analicemos el codigo. Pero antes hagamos unas modificaciones para poder entenderlo mejor. Sea el programa que sea cambienlo por:

#include <iostream>

using namespace std;

int main()
{
cout << "Hola Mundo";
cin.get();
return 0;
}

Usando VS deben editar el archivo main.cpp, tambien se necesitara agregar al principio

#include "stdafx.h"


La primera linea:

#include <iostream>

Con esto, le estamos diciendo al programa que incluya una libreria(conjunto de codigo ya escrito que nos permitira programar). la libreria <iostream> es la libreria estandard de c++ y nos permite usar las sentencias(las "ordenes" que le damos a la computadora) mas basicas.

using namespace std;

como vimos antes, le dijimos al programa que incluya la libreria <iostream>, todo lo que esta escrito en <iostream>, esta escrito en lo que se llama un namespace(nombre de espacio).al escribir esto, nos ahorramos tener que escribir std:: antes de cada sentencia que escribamos, porque ya declaramos que vamos a usar este nombre de espacio.
Es importante destacar que al final de la sentencia pusimos un ";" esto significa que ese es el final de la sentencia, y lo vamos a tener que poner al final de todas las sentencias(con algunas exepciones). Sino recibiremos un error al compilar.

int main()

Aqui declaramos una funcion. Una funcion es una parte de codigo a la que le asignamos un nobmre. En este caso, el nombre main(). Es importante que despues del nombre esten los parentesis, luego veremos porque.
En resumen:
makefiles

cout << "Hola Mundo";

Ahora lo que veremos en la consola. cout significa character output(salida de caracteres). A esta salida le vamos a insertar el valor "Hola Mundo". Lo que hara que en la consola se escriba "Hola Mundo". Si no ponemos las comillas, la computadora creera que "Hola Mundo" es una sentencia y nos dara error.

cin.get();

Esta instruccion hara que la computadora espere a que presionemos la tecla "enter" para continuar, ya que sino se abrira y cerrara antes de que podamos leer nada.
Algunos ides al ejecutar el programa esperan a que se apriete la tecla "enter" por mas que no lo agreguemos al programa, pero si ejecutamos el "Tutorial T!.exe"(resultado de la compilacion) sin el ide, se cerrara solo al instante porque lo ejecutaremos sin el ide.

return 0;

Por decirlo de alguna manera, todas las funciones deben retornar un valor. Y la funcion main(), retornara el valor 0 si no hubo ningun error. Las funciones deberan retornaran el valor especificado al declararlas "int main()" significa que la funcion main devolvera un numero entero(a los numeros enteros se los llama int por "integer" que significa entero en ingles).

Programa escrito¿Ahora que?

Ahora solo falta compilar el programa, lo que se hace con un simple boton. El boton build and run(compilar y ejecutar).
en wxdev-c++ prsionando la tecla F9 sera suficiente.
en VS se hace con la tecla F5

Para los que sigan interesados en lo que dije al principio sobre el minimalismo:

Editores de texto y compiladores
Bueno, finalmente a detallar mi parte favorita.
Si les interesa un metodo un poco mas complicado(y obviamente, efectivo) de usar, pueden usar un editor de texto. No deben usar un editor de texto como el word o el notepad, sino uno que reconozca la sintaxis del lenguaje que estemos usando y nos permita editar el codigo. Ha muchos editores, pero uno de los más livianos y recomendables son:

Notepad++: http://notepad-plus-plus.org/download/v6.6.8.html

Geany: http://www.geany.org/Download/Releases

Luego, deben bajarse el compilador
*Estos programas son más livianos que un ide en si. Asi que no se asusten si necesitan bajar varios archivos, porque al fin y al cabo va a pesar menos y pedir menos recursos.

Compilador: MinGW

http://www.mingw.org/

Deben clickear en "Download Installer" e instalar el programa en el directorio que quieran.
Cuando termine de bajar el instalador y aparesca una lista de packetes, sleccionen:
gcc g++ compiler
y
mingw base installation

Una vez instalado el compilador iran a "Mi PC" y clickean en propiedades. Una ves en la ventana de propiedades, dirijanse a "avanzado", luego a variables de entorno y en la caja de arriba buscan el la variable PATH y le dan click a editar.
En el menu editar, si ya hay algo escrito, agregan al final:
C:MinGWbin (o el directorio en el que instalaron el compilador)
Una vez echo esto con el editor que tengan, crean un archivo y lo nombran como quieran, en la extension escriben ".cpp" que significa c plus plus.
De ahi en adelante sigan con el tutorial de arriba para editar el texto.

Compilando con MinGW
Abren el menu de incio y ponen "ejecutar"(en windows xp) si estan en windows 7 no clickean nada. Escriben cmd y se abrira la consola. Allí buscan el directorio de su archivo .cpp escribiendo "cd .." para volver al directorio anterior y "cd <"nombre de la carpeta">" para entrar en la carpeta.
Una vez ahi escriben:

g++ <nombre del archivo>.cpp -o <nombre que quieran para el ejecutable>

Ejemplo:
Mi archivo estan en C:Archivos c++Tutorial T!
Mi archivo se llama Tuto.cpp

Pasos a seguir en la consola:

C:WINDOWSsystem32> cd..
C:WINDOWS> cd..
C:> cd "Archivos c++"
C:Archivos c++> cd "Tutorial T!"
C:Archivos c++Tutorial T!> g++ Tuto.cpp -o tuto.exe

y obtendran el ejecutable de su proyecto.

Con esto termina la primera parte y mas adelante profundizaremos mas en el codigo c++

Gracias

nota* Todos los links son de proyectos open source o de Microsoft por lo que ninguno contiene virus

Anuncios

Comentarios Destacados

19 comentarios - tutorial para empezar a programar en c++ desde 0 parte 1

maxil4d +1
Genial, otro post a favoritos que me muero de ganas de leer pero posiblemente nunca lo haga... espero no sea así. +10
LastMeal
Codeblocks provee interfaz e incluye el compilador GCC, creo que es una alternativa mas rapida.
ochi12
wxdevcpp tambien tiene gcc y es un poco mas liviano, igual escuche q es muy usado el codeblocks
DarthWinn +1
BRAVO!! BRAVO!! POR FIN!! Mas de esto por favor!!! Hace tanto que esta comunidad taringuera no mostraba inteligencia colectiva!!! + 10, te sigo y a FAV!!!!
sigfridofuchs777
Te faltó el Orwell Dev++
ochi12
el wxdevcpp tiene mas desarrollo, o por lo menos eso tengo entendido xD. igual si, tambien lo vi como alternativa al dev-c++
DaybreakNVIDIA
Estoy por adentrarme a esto de la programación, me recomiendas este corto tutorial?
Rjigo
muy buen post...
fernan00
Excelente post!....Gran aporte..Disculpa que te pregunte, pero cual es la diferencia entre C++ y Visual c++ es lo mismo?. Uno cuenta mas con mas herramientas que el otro?..Gracias si me pudieras ayudar con este tema, estaría agradecido....
Pd: tenga en cuenta que no tengo conocimiento alguno de programación, si me lo pudiera decir de la forma mas sintética posible, mucho mejor....Gracias!..
ochi12 +1
Visual studio usa un compilador diferente al del otro ide que explique mas arriba. Ademas de que el visual studio es gratis solo con fines No comerciales, para vender una aplicacione hecha en visual studio tenes que comprar la version full
Aunque visual studio es bastante completo, si te gusta es, te recomiendo el codeblocks, es parecido a visual studio pero totalmente gratis y yo diria que mejor
fernan00
@ochi12 Muchas gracias por la aclaración...Saludos!!!
fullUserBaneado
Buena intención, aunque C++ no es ni de cerca el lenguaje que le recomendaría a un principiante.
ochi12 +1
se, pero si aprendes a programar en c++ desde 0 ya no tenes ningun problema pasando a otros lenguajes, ya que, los lenguajes de alto nivel tienden a simplificarse.Ademas lo dificil es la sintaxis, el resto es igual en todos los lenguajes
fullUserBaneado
@ochi12 no estoy de acuerdo en que la sintaxis sea lo más difícil, para un programador la sintaxis es una trivialidad, lo que realmente te hace un buen programador es comprender todas las abstracciones que pone un lenguaje a tu disposición y saber cuando aplicar cada una para resolver eficientemente un problema.
bit001
+10 espero que sigas con mas aportes como este sino no te sigo mas
NiellMG
Buen post +5, recomendado y favoritos, solo una pregunta, entre en C++ y Python cual recomiendas para un principiante
ochi12 +1
yo diria que python es mas facil y tiene menos reglas, pero si se aprende desde 0 con c++, ya te acostumbras al manejo de memoria y a la sintaxis compleja, lo q hace mas facil migrar a cualquier lenguaje
NiellMG
@ochi12 Muchas gracias por responder, esperaré tu proximo aporte
3a8i3
Excelente +10 y muchos aplausos.