Pelo que entendi, C # é a linguagem padrão ao codificar aplicativos .NET. É recomendável programar aplicativos .NET [que sejam ASP.NET, WinPhone 7, GUI etc.] em C ++? Quais são as armadilhas e os inconvenientes se escolhermos seguir esse caminho?
Obrigado por compartilhar.
Respostas:
Como programador de longa data que usou C ++ até que eu mudei para C # / .net, meu conselho é não usar C ++ para desenvolvimento em .Net. Na verdade, você não pode usar C ++ real para programar em .Net, mas uma abominação da Microsoft chamada C ++ / CLI com uma feiura não encontrada no ISO C ++. Eu diria que apenas do ponto de vista da legibilidade, C ++ / CLI não deve ser considerado. Você deseja usar _gc, gcnew etc.
Também para fins práticos, você não encontrará muitos exemplos de código, tutorial, blogs etc. usando C ++ / CLI, nem encontrará programadores que sabem ou estão dispostos a trabalhar em C ++ / CLI. Não é uma linguagem natural para o desenvolvimento .Net. O C # / VB.Net / F # continuará mudando muito mais rapidamente com os novos recursos em comparação com o C ++ / CLI.
fonte
A própria idéia do .Net é que você pode usar qualquer idioma com o qual já se sinta confortável e usar a plataforma DotNet sem precisar aprender um novo idioma novamente. Uma maneira de encará-lo é como uma inversão da pirâmide Java. Java pode ser explicado como "único idioma - único executável (IL) - muitos SO". dot net é "muitos idiomas - um executável - um SO" (é claro que o bit de um SO está incorreto, pois temos o Mono, mas acho que não era isso que a Microsoft tinha em mente :-P).
Sim, o C # deveria ser o idioma para o DotNet, mas não "o único". A Microsoft provavelmente esperava que os programadores de C ++ migrassem para C # a longo prazo, se não imediatamente. Mas isso não parece estar acontecendo. C ++ ainda é a terceira linguagem mais popular. A familiaridade com uma linguagem e o esforço necessário para portar uma aplicação de C ++ para C # deixou a maioria dos desenvolvedores relutantes. Afinal, por que consertar algo que não está quebrado? É por isso que a Microsoft criou C ++ / CLI. É uma maneira maravilhosa de colocar os programadores de C ++ no vagão DotNet sem precisar aprender um novo idioma. Levei muito pouco tempo para me acostumar com C ++ / CLI. A única desvantagem que vi foi a nova notação de ponteiro para classes gerenciadas pode confundir aqueles que têm um entendimento fraco dos ponteiros em C ++. Não me afetou.
fonte
Não vejo qual é o benefício. O principal benefício do C ++ é um código nativo, crítico de desempenho, de baixo nível e independente. Depois de usar um ambiente gerenciado e toda a bagagem que traz, não vejo por que você não deseja uma linguagem mais moderna projetada para ambientes gerenciados.
fonte