Compartilhar via


Este artigo foi traduzido por máquina.

Nota do editor

Por que o C++ ainda é importante

Keith Ward

Keith WardUm dos nossos objectivos depois de tomar a roda no msdn Magazine era trazer sua aproximação aos leitores. E uma das coisas que você sempre nos disse é que temos de tratar não C++ como o tio louco no sótão.

Ouvimos você, e este é o resultado. Este mês vê o retorno de um dos nossas mais populares colunas, Kenny Kerr Windows com C++. Kerr escreveu essa coluna há anos, e nós estamos felizes de bem-vindo de volta o desenvolvimento Yoda do C++. Para lançá-lo direito, perguntei Kerr algumas perguntas que colocar C++ no contexto do ambiente de desenvolvimento de hoje. Aqui está o que ele tinha a dizer.

**Quais as vantagens a C++ mantenha sobre c#?**Kenny Kerr: Há casos onde o C++ faz mais sentido. Por que Microsoft desenvolver o nativo Windows Web Services [WWS] API longo depois Windows Communication Foundation [WCF] estava bem estabelecido como a estréia de pilha de serviços da Web? Certamente, a.NET Framework é ideal para trituração de XML e manipulação de solicitações HTTP. Bem, acontece que C++ ainda pode produzir dramaticamente melhor throughput enquanto estiver usando muito menos memória (bit.ly/czhaLd).

Isso realmente importa? Se você é um banco de investimento com capital suficiente para construir grandes redes de computação, talvez não. No entanto, se seu cliente está desenvolvendo netbooks e comprimidos ou smartphones, ou está preocupado com o uso de bateria ou tempo de inicialização para laptops ou necessidades para dimensionar seu servidor da Web para manipular as solicitações de vídeo cem milhões sem a necessidade de servidores de Web de uma centena, então ele começa a importa muito.

**Como o C++ se encaixar com a Web e as respectivas tecnologias?**Todos os principais navegadores e servidores Web são escritos em C++. Os sistemas operacionais, em que esses aplicativos são executados também são escritos em C++. Se muitos desenvolvedores pensam nisso ou não, C++ claramente desempenha um papel fundamental no sentido de tornar a Web um ambiente rico e rápido para os usuários e desenvolvedores. Naturalmente, quando alguns desenvolvedores pensam sobre linguagens de programação, eles são realmente pensar sobre como eles podem usá-los para desenvolver aplicativos sobre estes navegadores da Web e servidores. Que é onde linguagens específicas de domínio podem desempenhar um papel fundamental.

JavaScript é a escolha óbvia para o desenvolvimento de aplicativos para o navegador. Muitas linguagens específicas de domínio desempenham um papel chave na criação de aplicativos de servidor, de SQL para manipulação de dados, a navalha para a produção de marcação. Há, é claro, nada que você parar de escrever aplicativos de servidor Web em C++. Muitas linguagens específicas de domínio exigem diferentes tempos de execução que podem não ser adequados para alguns cenários — shrink-wrapped servidor aplicativos e dispositivos embarcados vêm à mente. O IIS também tem um grande API C++ para lidar com aspectos críticos de desempenho de um aplicativo da Web, tais como processamento de gráficos ou tratamento I/O.

**Quais são algumas das maiores alterações em C++ com a versão mais recente?**Em vez de pensar em termos de alterações, você deve pensar em termos de o C++ faz bem e como essas coisas podem ser feitas melhores. C++ não muda muito, mas melhorou em muitas maneiras de torná-lo mais fácil de fazer as coisas que C++ tem sido tradicionalmente bom em fazer.

Por exemplo, C++ tem muito a dizer sobre o poder e desempenho, mas nem sempre é tão simples quanto poderia ser. C + + 0x vai um longo caminho para torná-lo mais simples para o desenvolvedor do aplicativo e mais expressivo para o desenvolvedor de biblioteca construir mais poderosas abstrações que são ainda mais eficientes, mas de uma forma mais simples e mais intuitiva. Mova semântica, por exemplo, tem algo que era muito difícil fazer antes e faz com que seja não só eficiente, mas também simples para os desenvolvedores de biblioteca e aplicativo. Lambdas são outro grande exemplo de C + + 0x fazendo C++ mais expressivo, reduzindo a necessidade de criar objetos de função que a estrutura de um aplicativo do fragmento desnecessariamente.

Quais são suas principais metas com sua nova coluna? Eu acredito que C++ e Windows juntos fazem uma combinação poderosa para a produção de grandes aplicações. Muitos desenvolvedores perderam de vista disto, impulsionado em grande medida pela ênfase da Microsoft sobre o.NET Framework. Espero poder mostrar aos desenvolvedores que é viável — e até mesmo agradável — para escrever aplicativos para Windows com C++ usando a API do Windows. Muito parecido com o.NET Framework, a API do Windows continua a expandir-se para oferecer mais recursos. Você só tem que olhar para aplicações como Internet Explorer 9 a perceber o potencial do C++ no Windows 7. Eu também acho que Windows 8 e beyond vai inaugurar ainda mais recursos especificamente para desenvolvedores de C++.