Pergunta

O padrão C ++ 0x está a caminho de ser concluída. Até agora, já se envolveu em C ++, mas evitou aprendê-la completamente, porque parece que está faltando um monte de características modernas que eu fui mimado por em outros idiomas. No entanto, eu estaria muito interessado em C ++ 0x, que aborda muitas das minhas queixas. Quaisquer guesstimates, após o padrão for ratificado, de quanto tempo vai demorar para os principais fornecedores do compilador para fornecer implementações razoavelmente completos de produção de qualidade? Será que vai acontecer em breve o suficiente para reverter o declínio na popularidade do C ++, ou é muito pouco, muito tarde? Você acredita que C ++ 0x se tornará "o C ++" dentro de poucos anos, ou você acredita que a maioria das pessoas vai ficar com o padrão anteriormente na prática e C ++ 0x vai ser um pouco de um enteado bastardo, como forma de C99?

Foi útil?

Solução

Eu não vejo nenhuma razão pela qual C ++ 0x não deve ser aprovado. A comunidade C ++ é muito mais voltada para o futuro do que C. C sempre foi concebido para ser uma "linguagem assembler portátil", para que as pessoas que uso que não estão realmente interessados ??super-extravagantes novos recursos. vãos C ++ muito mais amplas, e eu ainda tenho que ouvir de um programador C ++ que foi não ansioso para 0x. (É também a minha impressão de que o C ++ comunidade é muito "mais rigorosa", e realmente não deseja mover fora do padrão em um comportamento indefinido, o que implica que você escolher ou C ++ 03 ou C ++ 0 X em vez de um meio-implementado híbrido. programadores C tendem a ser muito mais relaxado sobre isso, e parece feliz em usar C89 com apenas um par de C99 apresenta e cabeçalhos misturados)

No entanto, vai demorar alguns anos antes de a Microsoft alcança, pelo menos. Visual Studio 2010 vai apoiar um pequeno punhado de C ++ 0x apresenta (lambdas, decltype e um par de outros), mas a grande maioria irá não ser apoiada. Nós vamos ter que esperar para VS2012 ou quaisquer que sejam as extremidades próxima versão por ser, ter o apoio tanto completa.

Com GCC / G ++, a situação é muito melhor, já que a maioria do padrão foi implementado há já (o comitê padrão não gosta de adotar recursos que não foram implementados e testados em um compilador real, e um GCC garfo é muitas vezes usado para isso)

Mas provavelmente ainda vai levar algum tempo para obter esse estável e pronto para produção.

Sobre o 'declínio na popularidade' do C ++, eu realmente não vê-lo. Eu não acho que C ++ tem diminuído significativamente em popularidade nos últimos anos. desenvolvedores RAD já pulou fora do barco, é claro, a NET, Python ou outras linguagens ou plataformas. Mas onde C ++ é usado hoje, não há muitas alternativas viáveis, e não há razão por que deve diminuir em popularidade.

Outras dicas

Eu não sei sobre outros fornecedores, mas a partir de o que tenho noreferrer visto , a Microsoft planeja incluir quatro linguagem C ++ 0x apresenta no Visual C ++ 2010:

  1. referências rvalue
  2. auto
  3. lambdas
  4. estática assert

Embora este seja um pequeno conjunto de C ++ 0x características, eles são mais importantes. Alguns vão permitir aos programadores a escrever muito mais compactos (Auto, lambdas) e código de erro livre. Alguns (como rvalue referências) permitir às bibliotecas para ser mais eficiente. Microsoft gosta lambdas como um facilitador para paralelo computação.

IMHO: auto só vai torná-lo muito mais fácil de usar modelos que mais programadores vão fazê-lo. E espero que isso vai aumentar a demanda por mais C ++ 0x características da Microsoft e todos os fornecedores.

Microsoft vai também estar atualizando sua implementação biblioteca padrão C ++, mas eu não sei os detalhes. Eu acredito que eles estão modificando algumas classes de contêiner para tirar vantagem da semântica movimento de referência rvalue. E eu acredito que eles incluindo mais de TR1.

Algumas implementações já estão em seu caminho para C ++ 0x: ( gcc ). Minha intuição diz que o apoio C ++ 0x estará disponível nas principais compiladores rapidamente; no entanto um grande corpo de código legado ainda existe que deve ser mantida.

Novas versões do gcc já suportam muitos dos ++ 0x C apresenta: http: // gcc.gnu.org/projects/cxx0x.html

Microsoft será incluindo suporte C ++ 0x no Visual Studio 2010 ainda este ano (a Community Technology Preview já está disponível).

Eu não acho que ele vai se tornar o "C ++" qualquer momento em breve, mas certas pessoas vão optar por adicionar partes da nova sintaxe em que faz sentido em seu código.

Eu não faço muito C ++ nos dias de hoje, mas as pessoas que eu falar com qualquer amor-lo, ou se sentir que a beleza do C ++ é no controle que recebem, e que se eles queriam uma linguagem com todos os recursos extras que' d uso C # / Java.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top