En resumen, no, no podemos considerar que se trata de un nuevo idioma. Es el mismo idioma, nuevas características. Pero en lugar de utilizar las bibliotecas Boost, ahora serán inclusiones estándar si está utilizando un compilador que admita el estándar 0x.
Uno no tiene tiene para usar el nuevo estándar mientras usa un compilador que sea compatible con el nuevo estándar. Sin embargo, habrá que aprender y usar el nuevo estándar si existen ciertas limitaciones en el software que se está desarrollando, pero eso es una limitación para cualquier esfuerzo de software. Creo que las nuevas características que el estándar 0x trae harán hacer que ciertas cosas sean más fáciles y menos propensas a errores, por lo que es una ventaja saber cuáles son las nuevas características y cómo mejorarán su estrategia de diseño para el trabajo futuro. También habrá que aprenderlo para que, al trabajar en un software desarrollado con él, comprendan lo que está sucediendo y no hagan grandes abucheos.
En cuanto a si voy a "cambio a la nueva norma", si eso significa que voy a aprender la nueva norma y usarlo cuando sea pertinente y me aumenta la productividad, entonces sí, desde luego planificar a conmutador. Sin embargo, si esto significa que voy a limitar a trabajar solo con las nuevas características del estándar 0x, entonces no, ya que gran parte de mi trabajo implica código escrito antes del estándar y sería una tarea colosal rediseñar todo para usar las nuevas características. No solo eso, sino que puede introducir nuevos errores y problemas de rendimiento que no conozco sin experiencia.
Aprender C++ siempre ha sido uno de los viajes más desafiantes que puede emprender un programador. Agregar nuevas características al lenguaje no cambiará la dificultad de aprender su sintaxis y cómo usarlo efectivamente, pero el enfoque cambiará. Las personas aún aprenderán sobre indicadores y cómo funcionan, pero también aprenderán sobre indicadores inteligentes y cómo se administran. En algunos casos, las personas aprenderán las cosas de manera diferente que antes. Por ejemplo, las personas aún necesitarán aprender cómo inicializar las cosas, pero ahora aprenderán sobre Inicialización Uniforme y Listas de Inicializadores como formas principales de hacer las cosas. En algunos casos, tal vez sea más fácil entender las cosas con la adición de la sintaxis nueva para rangos o el tipo de retorno automático en una declaración de función. Creo que, en general, C++ será más fácil de aprender y usar y, al mismo tiempo, será más fácil de enseñar.
Dominar un idioma es un objetivo a largo plazo, no se puede hacer durante la noche. Es una tontería pensar que uno puede dominar rápidamente algo tan complejo como C++. Se necesita práctica, experiencia y código de depuración para realmente anotar algo. Académicamente aprender es una cosa, pero poner en uso ese conocimiento es un monstruo completamente diferente. Creo que si uno ya domina el lenguaje C++, los nuevos conceptos no representarán una gran carga, pero un nuevo visitante puede tener la ventaja de que no se molestará en aprender algunas de las formas más obsoletas de hacer las cosas. .
En efecto inicialización uniforme, auto, ... son cosas que un principiante aprenderá como "normales "parte de la lengua ... –
'la gente todavía va a aprender acerca de los punteros y cómo funcionan, sino que también va a aprender acerca de punteros inteligentes y cómo se gestionan.' - la nueva escuela de enseñanza de C++ no es para enseñar a los punteros :) –
La respuesta es realmente buena. La última línea es el mejor punto. –