2008-11-28 9 views
12

He estado aprendiendo C++ durante tres meses y en ese momento creé una serie de aplicaciones para mi empresa. Me considero bastante cómodo con C++/MFC y STL, sin embargo, no solo quiero ser un programador OK, quiero ser un buen programador. Tengo algunos libros sobre las mejores prácticas, pero me preguntaba si alguien podría sugerir leer los materiales que los ayudaron a ellos y las disciplinas que deben ser alentados.Desarrollando como programador

Gracias!

+0

Hay algunas sugerencias aquí: http://stackoverflow.com/questions/305691/which-book-dramatically-changed-your-way-of-approaching-problems – Dan

Respuesta

17
+0

Son todos buenos libros de idiomas generales no específicos. ¿Pensé que el OP estaba buscando recursos de C++? –

+0

La operación específicamente dijo, "sugiere materiales de lectura que los ayudaron" – GregD

+0

... y tenía C++ y MFC en las etiquetas ... –

4

3 meses en C++ y ya te sientes cómodo con él? Sheesh, he estado aprendiendo C# por más de un año y he tomado numerosos cursos de Microsoft y no estoy nada cómodo con eso.

Dicho esto, oirás que Code Complete es un buen libro. Estoy en el proceso de leerlo ahora.

+0

Code Complete es un gran libro, no hay duda. Pero no le enseñará los matices de C++ –

+0

Ser un mejor programador es mucho más que aprender los matices de un idioma en particular. – tvanfosson

+0

diría que tomar cursos es, de hecho, cómodo con algo tan creativo como la programación. en el mejor de los casos, pueden ser buenos para aprender los conceptos básicos y para conocer personas. – Javier

3

Gran Escala C++ Diseño de Software por John Lakos da orientación sobre los métodos de diseño que hará que su C++ más fácil de mantener. Es bastante fuerte, pero puedes sumergirte y obtener algunos beneficios.

1

He leído varios (no completos, pero algunas partes) de los libros de oreilly en VB.net que son bastante buenos, pero si quieres ser profesional y tener el tiempo ... Puedes probar los foros de MSDN, ayuda otras personas y discutir con ellos problemas difíciles y complejos, creo que es la mejor manera ..

1

aprender otro idioma. incluso si no lo usas, es genial para abrir la mente.

Recomendaría Lua, Scheme y Python. pero casi cualquier otra cosa haría. (el más diferente de C, el mejor)

2

Algo fuera de tema: en lugar de sugerir libros para aprender, me gustaría mencionar algunos temas generales a considerar.

  • Threading. Este no es muy solicitado si usa MFC, pero en muchas otras áreas es indispensable. La mecánica de las API de subprocesos es fácil de aprender, pero aprender todos los casos de esquina requiere mucho tiempo y práctica.

  • Cierres, Reducción de mapa y otras técnicas de ceceo. Averigüe cuáles son, por qué no son compatibles con C++ y cómo se imitan en C++ (funtores y muchos otros casos de objetos de devolución de estado). Para esto, tengo un libro: "Estructura e Interpretación de Programas de Computadora".

  • Línea de comando. Esto le da una idea de cuándo no codificar sus propios programas. La línea de comando sería la línea de comandos de Unix. No sé acerca de la última experimentación de MS en esto, pero cmd.exe es horrible. Obtén Cygwin y comienza a experimentar.

  • Lenguajes de secuencia de comandos. Esto le da una idea de cuándo no programa en C++. Mi favorito es Perl, pero mucha gente dice Python, Ruby y otras cosas. ¡Oye, aprende XSLT si te gusta!

Estoy seguro de que omití otras áreas. Lo marcaré como Wiki de la comunidad. Siéntase libre de agregarlo.

1

Josuttis y Vandevoorde - Plantillas: La guía completa

1

Tal como lo veo, nadie mencionó Bruce Eckel brillantes libros "Pensando en C++". En mi humilde opinión, es uno de los mejores libros para comenzar su desarrollo en C++. Desde mi punto de vista, el primer volumen es más útil que el segundo, pero a ambos les conviene leer.
http://www.amazon.com/Thinking-C-Introduction-Standard-One/dp/0139798099/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1227890306&sr=8-1

+0

¡Ah! Tenemos una copia de esto en la oficina, lo llevaremos a casa el fin de semana y lo leeremos. +1. – Konrad

1

que mucha gente puede sugerir más moderno, los libros hasta a la fecha. Pero todavía recomiendo The Annotated C++ Reference Manual por Margaret A. Ellis & Bjarne Stroustrup.

La ARM se publicó en el '90. Se ha vuelto algo obsoleto con respecto a las plantillas. STL está (obviamente) ausente. (Though the website at sgi.com does a good job of covering STL!)

Sin embargo, el ARM es muy barato (usado). (El envío excederá el costo del libro). Su relación señal/ruido permanece fuera de la escala. Es muy bueno para profundizar en las áreas sucias de C++, explicando qué se hizo & por qué.

Todavía lo uso como referencia. Lo clasifico allí con K&R.

1

Dietel/Dietel "Cómo programar C++" ... Todavía tengo este libro en mi escritorio (10 años en) ... De vez en cuando leía un capítulo.
Definitivamente obtendría el Código Completo, como otros han sugerido. Infact leer eso primero.

+0

¡Estoy leyendo este libro ahora mismo! Definitivamente es un buen libro para aprender; sin embargo, si realmente se siente cómodo con C++, puede que no sea lo suficientemente detallado para él. – Sean

1

Para obtener una mejor comprensión de la orientación a objetos, pase algo de tiempo en Smalltalk. Squeak es una descarga gratuita. Luego lea los Patrones de software de Richard P. Gabriel y, posteriormente, sus objetos hayan fallado.

1

Pensando en C++ - Bruce Eckel Symfonia C++ estándar - Jerzy Grębosz

1

Si usted no hace nada, el programa.

Cuando no estés leyendo sobre programación y cuando algo te parezca interesante, ve a implementar algo con ese conocimiento. Descubrí que esta es la única manera de establecer realmente los principios.

Mantenerse al día en los blogs puede ser divertido, pero es conocimiento disperso. Parece distraer más que ayuda. Pero combinado con Google y el deseo de investigar algo específico realmente puede generar toneladas de información.Pero no se suscriba a una gran cantidad de RSS y espere mejorar.

Creo que realmente estudiar temas específicos ayuda a expandir tu habilidad. Investigue temas que lo intrigan, conozca personas que hacen cosas como usted (conferencias, grupos de usuarios, irc, facebook, stackoverflow, etc.) y, sobre todo, practique su arte.

0

Puede consultar la biblioteca de Boost y varios de los libros escritos al respecto. Si bien esto puede no haber sido lo que tenía en mente, IMO, las bibliotecas Boost son ejemplos de bibliotecas C++ modernas y bien diseñadas que usan las características del lenguaje en una forma bastante similar a la que deberían usarse para crear entre las soluciones más efectivas para su dominio de problema Por supuesto, hay bibliotecas extrañas como preprocesador y MPL que te hacen pensar si alguna vez las usarás, pero son bastante buenas. Desde mi propia experiencia, explorar la biblioteca y su literatura me ha dado una idea de cómo C++ se puede utilizar con eficacia.

Boost Beyond the C++ Standard Library: An Introduction to Boost

Cuestiones relacionadas