Comece a programar: A Linguagem de Programação C++

Pra que serve ? Onde uso? Que programas são feitos em C++? Não é melhor ir logo pro Java, que é portável? Não é melhor ficar logo no C, que é mais 'puro' ?

Sabe aquele jogo de gigas e gigas de alto desempenho? Pois é, só pode ser feito em C++...
Sabe aquele programa rápido, super eficiente e seguro? Pois é, só pode ser feito em C++...
Sabe aquele programa simples, mas que faz milagres? Pois é, só pode ser feito em C++ ou em C...

Por que?

A linguagem de programação C++

Se quiser entender a utilidade da linguagem C++, leia também a da linguagem C:
Linguagem de Programação C

Não coloquei o link da Linguagem de programação C à toa, nem o 'C' de 'C++' é à toa. A Linguagem C++ é totalmente derivada da linguagem C, tem tudo que esta tem e mais algumas características, cuja principal é orientação à objetos (é tanto que antigamente C++ era chamado de 'C com classes').

Ela é de uso geral, usada tanto em alto como baixo nível, muito usada em meio acadêmico e comercial/empresarial, principalmente no setor de jogos, pelo seu alto desempenho, além de dar a liberdade ao programador de usar os paradigmas de programação funcional (como em C) ou de orientação a objetos (como em Java).

Programação Progressiva - Linguagem de programação C++, o que é, para que serve, onde é usada, sua relação com jogos, com a linguagem C, se é melhor, pior, mais fácil ou difícil que Java, diferenças e semelhanças com Java, é melhor ir pra Java, C ou ficar com C++? O que é orientação a objetos, sobre o mercado de C++Ou seja, ela é bem flexível e se adapta bem a qualquer necessidade.

Com C++ é possível programar bem próximo do hardware, o que não é surpresa, se você conhece ou leu sobre a linguagem C, o que torna possível usar esta linguagem para obter o máximo de rendimento do equipamento. Isto é bastante utilizado para jogos de alto desempenho.
O que torna C++ atraente para o desenvolvimento de games são as bibliotecas gráficas, como a Allegro, OpenGL, SDL e DirectX.
Com estas bibliotecas você já pode começar a programar seus jogos, usando o que há de melhor da tecnologia, tanto de vídeo, como de áudio e 3D, sem se estressar muito com o baixo nível (hardware, drivers etc), estas bibliotecas já facilitam tudo pra você.
Porém, você tem que saber C++.

Por lidar diretamente com o equipamento, com memória e detalhes mais precisos do sistema, C++ é muito usado comercialmente e empresarialmente, devido ao seu alto teor de segurança e confiabilidade, além de ser uma linguagem bastante estável, principalmente por estar apoiada na linguagem 'mãe', a C.
Mas a grande sacada do C++ é usar o poder da linguagem C com as facilidades da orientação a objetos. Isso facilita muito a vida dos programadores, e dá um poder sobre o equipamento que é impossível ter em Java ou C#.

Porém, C++ não é portável como Java e depende muito da arquitetura do sistema em que está rodando, pois é compilada para código nativo.
Além das classes, possui as vantagens dos templates, tratamento de exceções, funções virtuais, herança, encapsulamento, polimorfismo, abstração, constructors, destructors, sobrecarga de operadores dentre outras coisas, além de total compatibilidade com o C. Começou a ser criada em 1979, por Bjarne Stroustrup, que criou um livro sobre a linguagem, que é a minha indicação de leitura, obrigatória!
Ele também mantém um FAQ com dúvidas sobre a linguagem.

Não podemos falar de C++ e não falar no Microsoft Visual Studio, que é, provavelmente, a ferramenta de programação mais poderosa que existe. A Microsoft usa o Visual Studio pra fazer o próprio Windows, além de tudo mais.
Mas não se limite, é possível fazer qualquer coisa pra Windows usando o Visual Studio, inclusive em diversas outras linguagens.
E se atentou para o nome 'Visual', é isso mesmo. É possível fazer muita coisa 'visualmente', arrastando botões, menus, janelas, figuras e outras coisas, sem se estressar muito com o código da parte gráfica. Você simples posiciona a parte gráfica com o mouse que o Visual Studio gera o código automaticamente pra você. Você terá que aprender uma variante de C++ para o Visual, que é o C++/CLI, para melhor usufruir as ferramentas desta ferramenta.

No Linux, recomendo o Qt Creator, embora este seja multi-plataforma, ou seja, pode ser usado tanto no Linux como no Windows.

Se quiser se informar mais sobre jogos, se informe sobre Allegro, SDL e OpenGL:
http://www.cppgameprogramming.com/

Sobre o que é possível fazer com C++, a resposta é simples: em termos de software de alto desempenho, é praticamente tudo.
No site do Stroustrup tem uma lista sobre grande projetos que usaram C++, em applications:
http://www.stroustrup.com/

Dentre os principais eu realço os programas e empresas que usam C++:

  • Os da Adobe, como o Acrobat Reader e o PhotoShop
  • O Amazon.com
  • Muita coisa da Apple, como parte do OS X
  • Ericsson
  • Facebook
  • FlightGear
  • Google, no Chromium e nas buscas, por exemplo
  • IBM
  • Intel
  • Microsoft: O Windows é feito, boa parte, em C++; FrontPage, SQL, Office, Internet Explorer, Visual Studio etc.
  • mIRC
  • Mozilla
  • MySQL
  • NASA
  • Winamp
  • Squid
  • Sun (empresa do Java)


e todos esses jogos 'bem feitos', com um mínimo de qualidade, usam C++.

Se, sabendo C você vai sair da Matrix e verá o mundo como ele é, com C++ você vai programar seus jogos e criar seu próprio mundo, ou sua Matrix, como preferir chamar.

Gostei do C++. Quero programar em C++, como e por onde começar?

Existem livros, cursos e faculdades.
Temos um site inteiramente voltado para o ensino da linguagem de programação C++, veja:

Curso C++ Progressivo

Vamos te levar do mais absoluto básico na linguagem, você não precisa ter conhecimento prévio algum, basta saber ligar o computador e entrar na internet pra ler o site.

É totalmente gratuito, nem precisa de cadastro, é entrar e começar a estudar C++, de maneira gradual e progressiva, passo a passo, para te transformar em um programador completo e profissional.

Veja também: