Cuando aprendí C ++ por primera vez hace 6-7 años, lo que aprendí fue básicamente "C con clases". std::vectordefinitivamente era un tema avanzado, algo sobre lo que podría aprender si realmente quisiera. Y ciertamente no había nadie que me dijera que los destructores podrían aprovecharse para ayudar a administrar la memoria. Hoy, a donde miro veo RAII y SFINAE y STL y Boost y, bueno, Modern C ++. Incluso las personas que recién comienzan con el idioma parecen aprender estos conceptos casi desde el día 1.
Mi pregunta es, ¿es esto simplemente porque solo estoy viendo lo "mejor", es decir, las preguntas aquí en SO y en otros sitios de programación que tienden a atraer principiantes (gamedev.net), o es esto realmente representativo de la Comunidad C ++ en su conjunto?
¿C ++ moderno se está convirtiendo realmente en el predeterminado? En lugar de ser algo elegante sobre lo que escriben los expertos, ¿se está convirtiendo en "la forma en que C ++ es"? ¿O simplemente no puedo ver a las miles de personas que todavía aprenden "C con clases" y escriben sus propias matrices dinámicas en lugar de usarlas std::vector, y hacen la administración de memoria al llamar manualmente nuevo / eliminar de su código de nivel superior?
Por mucho que quiera creerlo, parece increíble si la comunidad de C ++ en su conjunto ha evolucionado tanto en básicamente unos pocos años. ¿Cuáles son tus experiencias e impresiones?
(descargo de responsabilidad: Alguien que no esté familiarizado con C ++ podría malinterpretar el título como si C ++ estuviera ganando popularidad frente a otros lenguajes. Esa no es mi pregunta. "C ++ moderno" es un nombre común para un dialecto o estilo de programación dentro de C ++, llamado así por el libro " Diseño moderno de C ++: programación genérica y patrones de diseño aplicados ", y solo estoy interesado en esto versus" viejo C ++ ". Así que no hay necesidad de decirme que el tiempo de C ++ ha pasado, y todos deberíamos usar Python;))