tipos programacion mejor lenguaje historia ejemplos datos cual comandos codigo caracteristicas aprender c# java c++ visual-studio

programacion - ¿Cuál es la mejor forma de pasar de Java/C#a C++?



lenguaje de programacion c# caracteristicas (10)

En mi universidad, la mayoría de mis clases han sido en Java. Recientemente, también aprendí C # (y el entorno de Visual Studio) en una pasantía de verano. Ahora estoy tomando una introducción a la clase de gráficos por computadora y el estudiante de posgrado que enseña la clase prefiere que usemos C ++ para acceder a los enlaces de 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 va a ser un gran problema, pero ¿hay otras cosas que debería estar buscando? ¡Cualquier tutorial, guía, etc. sería muy útil!

¡Gracias!


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

Me encanta este libro en las 3 ediciones, y fue uno de los libros en una clase que tuve como Senior en UT, pero simplemente no es un libro de inicio. Puede sentirse cómodo en C ++ con mucho menos, aunque ciertamente no será uno con el compilador hasta que haya leído el trabajo de Meyer.

No sé si todavía está impreso, pero me pareció útil la navegación por C ++ , pero también me sentí muy cómodo con los consejos de Pascal. Err, por supuesto, estoy olvidando que hace 15 años tenías que aprender qué era OOP, ahora es un poco más asumido. Entonces quizás Meyer''s no esté fuera de lugar. ¿Pensamientos?


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


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

En C ++ tiene punteros, que son referencias de objetos más potentes (o menos potentes según su interpretación del poder), que ya conoce 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 ''.'' cuando se llama a un método de objeto desde un puntero a un objeto. En C ++, debe liberar la memoria explícitamente cuando haya terminado con un objeto. Al final del día, estás haciendo lo mismo en C ++ y Java, instanciando objetos y métodos de invocación, 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()

Navegar por cualquier texto medio decente de C ++ lo ayudará a completar el resto de los detalles.


Necesitará una sensación completamente diferente para el manejo de la memoria. También piense en liberar todo lo que ya no necesita. En Java y C #, simplemente suelta sus objetos y la memoria se arregla para usted; no puede hacer eso en CPP


Recomiendo encarecidamente que cualquier persona que aprenda C ++ lea Stroustrups "The C ++ Programming Language". Meyers y Eckel tienen cosas geniales, pero nada mejor que aprender del tipo que decidió cuál debería ser el idioma y cómo pretendía que se usara.


Sí, me picó el mismo error. La universidad tendía a apoyarse en Java, y luego le permitía elegir el idioma con el que quería trabajar durante los proyectos.

La mejor manera es simplemente saltar. Comience poco a poco, dé pasos de bebé y simplemente busque en Google cosas que lo confundan cuando llegue allí. También encuentre proyectos que hayan publicado su código fuente. Vea cómo estructuran sus programas. Básicamente, simplemente juega 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 te nuble demasiado la mente 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/


Si ya conoces Java / C # te recomendaría ir directamente a C en lugar de C ++. Según el sitio web, GLUT tiene los mismos enlaces para C que 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 "The C Programming Language" y sentarse con su compilador de C y hacer que sus cosas se ejecuten.


También recomiendo completamente el pensamiento de Bruce Eckel en C ++ . Un libro fantástico para programadores experimentados que quieran entrar en la mentalidad de C ++.

Él es tan amable de hacer versiones electrónicas de sus libros disponibles de forma gratuita .