¿Cómo debo actualizar mi C ++ con los desarrollos modernos? [cerrado]

9

¿Cómo debo actualizar C ++ muy oxidado, ya que estoy seguro de que el lenguaje y las mejores prácticas han evolucionado? Me doy cuenta de que esto podría estar cerca de estar fuera de tema, así que déjenme aclarar algunos detalles. Hace unos 10 años, creo que era un buen programador de C ++, había devorado los libros de Scott Meyers, podía resolver los acertijos en los anuncios de pelusa del Dr. Dobbs. Probablemente era un abogado de idiomas. He estado programando principalmente Java, algunos python durante los últimos 10 años, por lo que mis habilidades de OO aún están a la altura. Pero al unirme a una empresa en la que C ++ es común, me di cuenta de que tengo que admitir que estoy muy oxidado, y ahora hay características de lenguaje que son nuevas o mucho más comunes de lo que recuerdo, cosas como espacios de nombres, etc.

Me doy cuenta de que leer y escribir código (especialmente el emparejamiento) es una buena manera de ponerse al día, pero ¿hay algún otro recurso que la gente recomendaría en esto para darme una ventaja acelerada? ¿Libro? ¿Página web? Tutoriales?

Para resumir:

  • ¿Recomendaciones para recursos de actualización específicos de C ++?
  • No OO / programación en general.
  • Cosas además de solo leer y escribir código.
Nick Fortescue
fuente

Respuestas:

10

Si ya " devoraste los libros de Scott Meyers ", entonces estás mucho más lejos que el tipo promedio que hizo C ++ hace 10 años (en mi humilde opinión). Obtenga la tercera edición de Effective C ++ (y el libro de estándares de codificación C ++ de Sutter / Alexandrescu) para obtener una breve actualización y, realmente, debería estar listo para comenzar.

Las recomendaciones en estos libros (originalmente 2005 creo) son tan válidas hoy como lo han sido entonces.

Ah, e instale boost si aún no lo ha hecho.

Es un momento afortunado para que reinicies en C ++, ya que estoy muy seguro de que habrá muchos recursos y libros de reinicio este año y el próximo cuando comience a instalarse el estándar C ++ 11.

Martin Ba
fuente
Excelentes recomendaciones Scott Meyers vino a nuestra empresa el año pasado y ofreció a todos nuestros desarrolladores un curso de actualización de dos días sobre técnicas modernas de C ++. Él sabe cómo funciona C ++ en el mundo real y no es solo otro académico con teorías.
Karl Bielefeldt
2

1) comience con un compilador moderno que tenga características de c ++ 11 (suponiendo que su trabajo lo requiera más pronto que tarde, si no es que ya)

2) tome los programas existentes (quizás sus proyectos favoritos) y actualícelos o extiéndalos para usar bibliotecas más modernas (como las bibliotecas estándar de c ++ 11 o boost ).

3) lea sobre las últimas características de C ++. También hay varios buenos libros. Si aún no ha leído Modern C ++ Design , lo recomendaría. Es un clásico para diseños avanzados que utilizan técnicas de C ++ que se introdujeron y perfeccionaron durante su ausencia.

Ese es un punto de partida.

justin
fuente
1

Mella,

Te sugiero que te involucres con un proyecto de código abierto. ¿Has mirado en sourceforge ? Esto podría aplicarse a cualquier idioma, pero el beneficio clave aquí es aprender de otros desarrolladores mientras contribuye a un proyecto de software. Puede elegir algunos estilos interesantes y el uso de las características del lenguaje al trabajar en un proyecto de código abierto. Algunas buenas, otras malas, algunas ... simplemente raras :).

Planeta desolado
fuente
44
Tal vez solo he tenido mala suerte, pero los proyectos de código abierto que he visto contienen algunos de los códigos más horribles que he encontrado: podrían usarse como ejemplos perfectos de cómo no escribir C / C ++. Por lo tanto, si decide echar un vistazo al código abierto en aras del aprendizaje, le sugiero que elija un proyecto en el que participen activamente muchos programadores. Es mucho más probable que dichos proyectos tengan un código de buena calidad.
1

Haga algo de código kata en c ++: torre hanoi, buffer de anillo y ese tipo de cosas. Hacerlo será mucho más eficiente que solo leer libros al respecto, aunque leer libros te ayudará a aprender cosas que no sabías.

Sardathrion - contra el abuso SE
fuente