2012-05-29 16 views
6

Según Guía de estilo Google C++, no C++11 feature is approved.¿Por qué Google prohíbe C++ 11 y, al mismo tiempo, invierte en Clang?

Por otro lado, parece que Clang (en el que Google invirtió recursos) es muy avanzado in its C++11 support.

Esto parece como una contradicción ... ¿Alguien sabe por qué es esto?

+2

Clang tiene más usos que C++ 11. –

+3

El hecho de que actualmente no permitan las funciones de C++ 11 no significa que no las quieran en el futuro. Invertir en el desarrollo de compiladores significa avanzar en el logro de una implementación totalmente compatible con C++ 11, y cuanto antes ocurra, antes podrán comenzar a utilizar las funciones sin preocuparse por las características no probadas. –

+1

Si esta pregunta no es adecuada para SO, elimínela. –

Respuesta

10

Las razones se detallan en la sección contras

El estándar C++ 11 es sustancialmente más complejo que su predecesor (1.300 páginas frente a 800 páginas), y es unfamilar a muchos desarrolladores. Se desconocen los efectos a largo plazo de algunas características en la legibilidad y el mantenimiento del código. No podemos predecir cuándo se implementarán de manera uniforme sus diversas funciones con herramientas que pueden ser de interés (gcc, icc, clang, Eclipse, etc.).

Si tuviera que resumir sería que están esperando y verán el enfoque con las nuevas características. Quieren ver los efectos negativos (y habrá algunos) antes de integrar profundamente las características en la base de código

+1

Mencionan 'auto', que, aunque me encanta, puede destruir la legibilidad. – TeaOverflow

+4

@Evgeni Use C# más que C++ y tendría que sacar 'var' de mis dedos fríos y muertos :) – JaredPar

+4

Si algo de ese documento era prueba de que están esperando, entonces esta parte de la Decisión: era. "Evite escribir código que sea incompatible con C++ 11 (aunque funciona en C++ 03)". – Joe

Cuestiones relacionadas