¿Por dónde empezar con C/C++?

Agrupa todas las consultas sobre los lenguajes de programacion como C, C++, Python, Java ...

¿Por dónde empezar con C/C++?

Notapor endaramiz » Jue Jun 12, 2008 7:20 pm

Antes de comenzar, querría aclarar un cosa. Se que si busco en google encontraría mucha información sobre el tema, pero lo que yo quiero es juntar las experiencias de todos. Porque si un manual es muy malo pero todos lo leemos, estaríamos perdiendo tiempo.

He leído algo de que C++ es parecido a C pero que se pueden utilizar objetos. Entonces, a la hora de hacer videojuegos, la mejor opción es utilizar C++ ¿no?. A parte, leí en este mismo foro que algunos programaban en C y no en C++ porque se sentían más a gusto, pero mejor confirmarlo.
En el foro he encontrado dos páginas: El rincón del c y Con clase. La de El rincón del C me ha parecido que tiene poca información de C++. La de Con clase he visto que tiene un curso de C++ que se ve muy completo. ¿Merece la pena leérselo?

En conclusión: ¿Cual es vuestra opinión sobre estas páginas y otras?(sean positivas o negativas). Páginas web o archivos...

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Notapor Alex_13_estu » Jue Jun 12, 2008 8:25 pm

¡Hola! Bueno, antes que nada y para que no tengas que leer toda la parrafada que te voy a soltar (aunque te lo recomiendo para que entiendas el por qué de mi decisión), voy a decirte por qué página me decantaría yo: sin duda, C con Clase. Empiezo con el testamento:

Primero, debo decir que yo me inicié en la programación de una manera que considero muy atípica. Con decirte que ahora mismo tengo 15 años, creo que entenderás el por qué de lo atípico... Además, hace ya algo más de un año que comencé, y, para rizar todavía más el rizo, lo hice directamente con C++. Ni C, ni Visual Basic, ni Python. Directamente C++. Con lo cual, supongo que te será fácil comprender la ignorancia que tenía en aquel momento. No tenía ni idea de lo que era un bucle, y mucho menos tenía una base matemática un poco aceptable para desarrollar buenos programas. ¿Y qué encontré? C con clase. Sin duda, la mejor página de programación en general que he visto. Me metí a ella me bajé el curso en PDF. Tras muchos intentos, conseguí hacer mi primer programa, aunque no se aguantaba en pantalla... Después de investigar, descubrí algunos truquitos y, a base de paciencia y de no dejar pasar nada sin entender (me tiré una semana en el capítulo de variables hasta que lo entendí al 100 %), fui mejorando. Además, C con Clase tiene algo que la hace todavía mejor página: la lista de correo. Hoy en día la visito a diario y trato de ayudar a los que, como lo fui yo, son novatos, por lo que te animo a que la visites. Además, en ella hay gente que sabe infinidad de cosas sobre este mundillo, y, lo que es más importante, su paciencia es enorme. Recuerdo mi primer mensaje en el que preguntaba para qué valía el "return" y cómo se podía decir que las variables "char" eran internamente números cuando yo sólo veía caracteres... Y se armaron de paciencia y me contestaron. Y desde allí comencé hasta estar donde estoy hoy, en la página de LosersJuegos (desde mi punto de vista, la mejor comunidad hispana para desarrollar videojuegos) programando mi primer juego (un Tetris) en C++ y SDL con un par de aficionados más.

Después de toda la publicidad gratuita que hice antes, voy ahora a la pregunta que tú hiciste respecto a C con clase. ¿Hay que leerse todo el curso? Sinceramente: no. De hecho, cuando llegué a los últimos capítulos en los que se comienza a hablar de clases, me centré muchísimo porque sabía que eran imprescindibles para hacer videojuegos. Pero, aún así, llegados a cierto punto (polimorfismo y finciones virtuales), me fue imposible continuar, porque estaba desbordado. Y, aunque lo he vuelto a intentar, todavía es mi asignatura pendiente. Pero bueno, sé que eso prácticamente no se usa en videojuegos al nivel al que yo estoy, así que tampoco estoy muy preocupado...

Ya para acabar, voy a decirte que C con Clase tiene también muchísimos manuales y ejemplos complementarios al de C++ y que están muy bien. Te recomiendo especialmente los siguientes: librerías estándard de C/C++, manejo de archivos en C/C++, códigos fuentes y ejemplos sencillos. Además, ya al final del manual de C++ vienen unos cuantos ejemplos relativos a los capítulos (léelos cuando quieras probar tus primeros programas o te pasará igual que a mi y no conseguirás que se mantangan abiertos) y, al final de algunos capítulos, se te proponen problemas que puedes enviar a una dirección de correo para que te los corrijan. En definitiva, muy muy completo.

Al margen de todo eso, debo decir que el curso es sólo de C++, y que, por lo tanto, no tocan temas de gráficos y de programación de videojuegos. Para eso está SDL y todos sus manuales, pero eso es otro tema.

Ya para acabar (esta vez sí), dcirte que yo tengo mis propios ejemplos, por lo que, si te interesan, estaría encantado de mandártelos. Además, si tuvieses cualquier duda, sería un placer ayudarte, tanto aquí como en la lista de correo que cité antes. No soy de los más expertos, pero espero que de algo te sirva...

Perdona por el mensaje tan largo.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor thepoi » Jue Jun 12, 2008 8:25 pm

Yo pienso que es mucho mas recomendable C++ que C. Y para videojuegos mas aun.

La gente que dice que C es mejor o que se sienten mas agusto es pq llevan mucho tiempo programando en C y no han querido/podido ponerse al dia con C++. (date cuanta que C tiene un monton de años)

Con C++ se puede hacer todo lo que se hace en C ademas de muchas otras cosas, entre las que destaca la POO.

Ademas otra gran baza a su favor es la STL, que es una libreria standart donde vienen implementadas listas, colas, conjuntos, vectores, etc liberando al programador de gestionar la memoria dinamica (en muchos casos).

Tambien es verdad, que realmente trazar una linea entre lo que es C y C++ es muy dificil, asi que para aprender C++ vas a tener que aprender muchas cosas de C.

De las webs que mencionas cconclase es muy buena para seguirla como guion, y luego cualquier duda puntual siempre puedes preguntarla en un foro o buscarla en internet.

Ademas me gustaria recomendarte esta web:

http://www.cppreference.com/

No es un tutorial, pero es muy util ya que vienen las cabeceras de todas las funciones mas comunes de C y C++. Para pequeñas consultas sobre alguna funcion esta muy bien.

Saludos
thepoi
 
Mensajes: 17
Registrado: Sab May 31, 2008 9:41 pm

Notapor lucesita » Vie Jun 13, 2008 5:58 pm

que va.... tonto de mi, a los 14 empeze con VB por que en C++ no se podia hacer app graficas.... -.- Bueno es lo que pensaba y si me dan la opcion de volver atras... empiezo con C++ jajaja

Bueno basicamente, como habras leido en varios sitios, en C/C++ podes hacer todo, con la pagina que aprendi mucho es C Con Clase, y como consejo, tomate tu tiempo para parender punteros, son muy divertidos y liosos. una vez que llegues al capitulo 29 que es donde empiezan a tratar las clases, ya estaras listo para hacer muchas cosas.

El tema de las clases, es muy ventajoso, y como alex, todavia no me detuve en Funciones virtuales, polimorfismo y esas cosas jajaja.

llegara un momento, en el que quieras hacer cosas con los chars y de seguro te vas a volver loco jajaja no dudes en venir y preguntar aqui :P

Saludos Lucesita
lucesita
 
Mensajes: 57
Registrado: Mié Mar 12, 2008 2:49 pm

Notapor Juan Carlos » Sab Jun 14, 2008 1:06 pm

Yo personalmente te recomiendo el Rincon del C. Si bien el lenguaje usado es C y no C++ a mi me resulto muy didactico. Si ya te son familiares los temas como variables y punteros, posiblemente necesites ir un paso mas. Las paginas que te mencionaron son muy buenas y yo le sumo la siguiente:

http://www.zator.com/Cpp/

Si lo que deseas es ser un verdadero guru de C++ puedes leerte el libro del mismo creador, Stroustrup.

Hasta aqui se mencionaron paginas para aprender C++, pero en la vida eso no es suficiente. No alcanza saber el lenguaje, sino que se necesita saber programar en él. Un muy buen libro (que se puede conseguir por internet) es el Thinking in C++. Una vez que la sintaxis del lenguaje te sea familiar te suguiero que leas el libro mencionado.

Nota: Preguntale a cualquier programador y te dira que él era feliz sin usar punteros; que fue muy infeliz tratando de entenderlos, de usarlos y ademas de que funcionen; y ahora ese mismo programador tiene guardado en un rinconsito de su corazon a los punteros y no puede vivir sin ellos.

Lo mismo sucede con polimorfismo y herencia.Es un aspecto bastantes "inutil" a priori pero cuando uno lo entiende, es extraordinariamente util y poderoso. Denle una oportunidad.

Saludos
Juan Carlos
 
Mensajes: 97
Registrado: Sab Jul 07, 2007 1:05 pm

Notapor endaramiz » Sab Jun 14, 2008 4:44 pm

Muchas gracias a todos por vuestros consejos, yo me voy a poner ahora a mirar lo que me habéis dicho (aunque tengo tantas cosas por mirar...), pero animo a más gente a dar su opinión porque seguro que hay mucha gente que se hace la misma pregunta que yo. Y sería bonito que se convirtiese este tema en uno de discusión (de forma argumentativa, por supuesto).

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona


Volver a Sobre lenguajes de programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado