Pregunta

En mi universidad la mayoría de mis clases han sido en Java.También aprendí recientemente C# (y el entorno de Visual Studio) en una pasantía de verano.Ahora estoy tomando una clase de Introducción a los gráficos por computadora y el estudiante de posgrado que imparte la clase prefiere que usemos C++ para acceder a los enlaces OpenGL a través de GLUT.

¿Alguien tiene buenos recursos sobre cómo hacer una buena transición de Java/C# a C++?Obviamente, los consejos serán un gran problema, pero ¿hay alguna otra cosa a la que deba prestar atención?Cualquier tutorial, guía, etc.Sería de mucha ayuda!

¡Gracias!

¿Fue útil?

Solución

Sí, a mí me picó el mismo virus.La universidad tendía a apoyarse en Java y luego te permitía elegir el lenguaje con el que querías trabajar durante los proyectos.

La mejor manera es simplemente saltar.Empiece poco a poco, dé pequeños pasos y simplemente busque en Google las cosas que le confundan cuando llegue allí.Encuentre también proyectos que hayan publicado su código fuente.Vea cómo estructuran sus programas.Básicamente, simplemente juegue con los conceptos.Hay mucha información en la web.

Hazlo divertido y toma un Libro de desarrollo de juegos en C++. para que no se vuelva adormecedor demasiado rápido.

Aquí hay algunos lugares que encontré útiles mientras aprendía.

http://www.cprogramming.com/

http://www.wikipedia.com

http://www.cplusplus.com/

Otros consejos

Si ya conoce Java/C#, le recomendaría ir directamente a C en lugar de C++.Según el sitio web, GLUT tiene los mismos enlaces para C que para C++, por lo que debería estar todo listo.De todos modos, la mejor manera de aprender C es comprar y leer una copia de "El lenguaje de programación C", sentarse con su compilador de C y ejecutar todo.

Effective C++ de Scott Meyers es un gran libro que le ayudará a aprender C++.Le brinda una descripción general del lenguaje e introduce muchos conceptos clave que utilizará durante el desarrollo de básicamente cualquier programa C++.

Effective C++ de Scott Meyers es un gran libro que le ayudará a aprender C++.Le brinda una descripción general del lenguaje e introduce muchos conceptos clave que utilizará durante el desarrollo de básicamente cualquier programa C++.

Me encanta este libro en sus 3 ediciones, y fue uno de los libros de una clase que tuve en mi último año en UT, pero no es un libro para empezar.Puedes sentirte cómodo en C++ con mucho menos, aunque ciertamente no serás uno con el compilador hasta que hayas leído el trabajo de Meyer.

No sé si todavía está impreso pero encontré Navegando en C++ útil, pero también me sentí muy cómodo con los consejos de Pascal.Err, por supuesto, me estoy olvidando que hace 15 años había que aprender qué era la programación orientada a objetos, ahora es un poco más asumido.Así que tal vez lo de Meyer no esté fuera de lugar.¿Pensamientos?

Wikipedia tiene un artículo sobre comparaciones entre Java y C++.

No tiene que preocuparse por las excepciones marcadas en C++, pero sí necesita conocer corrección constante.

Hay dos diferencias principales:la sintaxis y la gestión de la memoria.

En C++ tienes punteros, que son referencias a objetos más potentes (o menos potentes dependiendo de tu interpretación del poder), que ya conoces de Java.

En Java puedes hacer esto:

Thing mything = new Thing(); // mything is an object reference
mything.method();

En C++ harías esto:

Thing * mything = new Thing(); // mything is an object pointer
mything->method();
delete mything;

La diferencia sintáctica es obvia:'->' en lugar de '.' al llamar a un método de objeto desde un puntero a un objeto.En C++, debes liberar la memoria explícitamente cuando hayas terminado con un objeto.Al final del día, estás haciendo lo mismo en C++ y Java, creando instancias de objetos y llamando a métodos, poniendo puntos y comas inútiles al final de cada línea, etc.¿Es de extrañar que Python se esté volviendo tan popular?:

mything = Thing() # mything is whatever I want it to be
mything.method()

Hojear cualquier texto C++ medio decente le ayudará a completar el resto de los detalles.

También recomiendo totalmente el de Bruce Eckel. Pensando en C++.Un libro fantástico para programadores ya experimentados que quieran adoptar la mentalidad de C++.

Tiene la amabilidad de hacer versiones electrónicas de sus libros. disponible gratis.

Recomiendo encarecidamente que cualquiera que aprenda C ++ lea Stroustrups "el lenguaje de programación C ++". Meyers y Eckel tienen grandes cosas, pero nada mejor que aprender del tipo que decidió cuál debería ser el idioma y cómo tenía la intención de que se usara.

Yo tuve exactamente el mismo problema.El único libro que pude encontrar fue "Pro Visual C++ 2005 para desarrolladores de C#" por Dean C.Testamentos.Es una buena lectura con excelentes ejemplos y creo que el ángulo desde el que surge el libro es probablemente lo que estás buscando.

Necesitará una sensación completamente diferente para manejar la memoria.Piensa también en liberar todo lo que ya no necesitas.En Java y C# simplemente sueltas tus objetos y la memoria se ordena; no puedes hacer eso en CPP

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top