Linguagem C++: O que é? Para que serve? Como funciona? Onde é usada ?

No tutorial passado, explicamos o que é a computação e programação de computadores, e lá já demos uma introdução sobre o que são linguagens de programação.

Neste tutorial de nosso curso de C++, vamos entrar em mais detalhes sobre esta poderosa e fantástica linguagem, explicando o que ela é de fato, para que serve, onde e como deve ser usada, para quais propósitos e outras informações importantes!

O que é C++ ?

Curso de C++Resumindo, nada mais são que uma maneira, uma língua, de nos comunicarmos com os computadores, para programá-los a fazer o que quisermos, visto que são máquinas extremamente rápidas nos cálculos.

Dito isso, podemos dizer que C++ é uma linguagem de programação compilada, multi-paradigma e de uso geral. Ou seja...oi ?! Calma, vamos aprender cada detalhe sobre isso no decorrer do curso, basta você ir estudando na ordem do sumário, passo a passo, de maneira progressiva e sem pressa.

Também odeio essas definições e explicações técnicas, mas faz parte.
O que podemos te adiantar é que é uma linguagem tão boa, tão versátil e tão poderosa, que é uma das mais usadas no mundo, há décadas, e tem tanto, mas tanto programa feito usando ela, que a demanda por programadores C++ ainda é absurdamente alta, e o mais bacana: pouca gente estuda e aprende, principalmente por faltar conteúdo bom e gratuito sobre ela.

Mas é aí que entra o C++ Progressivo: vamos nos esforçar ao máximo para te proporcionar o maior, melhor e mais completo material sobre a linguagem C++, de maneira totalmente gratuita, online e sem pedir nada (nem login exigimos, é chegar, estudar, praticar e virar programador $$).

C++ é uma linguagem tratada com meio-nível, um meio termo entre linguagem de alto nível (como Python) e baixo nível (como Assembly), ou seja, possui características desses dois 'mundos'. O C++ é realmente foda, não tem outra definição.

Ela é também multiplataforma, ou seja, funciona em Windows, Mac, Linux...

C e C++

Como o nome pode sugerir, a linguagem C++ deriva da linguagem C (veja: C Progressivo), o ++ significa incremento. Ou seja, podemos dizer que o C++ é uma linguagem C incrementada.

Seu desenvolvimento foi feito pelo querido Bjarne Stroustrup, lá por 1983, quando chamou a linguagem de C com classes (depois você vai entender porque).

Na época, o C era utilizado para criar e desenvolver o Unix, sistema operacional dominante na época (que deu origem a diversos sistemas operacionais atuais, como o Linux - por favor, estude e tente usar o Linux em seu PC, vale a pena, você vai ser um programador diferenciado).

Tutorial de C++

Porém, o C era uma linguagem mais 'crua', 'seca' e 'direta'.
Bjarne queria dar uma melhorada nisso, dar umas novas funcionalidades ao C, deixar ele mais fácil, flexível, com mais possibilidades e implementações que facilitam a vida do programador.

Sem dúvidas, uma dessas implementações mais importantes é o fato de ser orientada a objetos e ter a STL (um pacotão de código e funcionalidades prontas para o programador usar, sem precisar ficar 'reinventando a roda' - entenderemos melhor e com detalhes isso no futuro, em nosso curso).

Vale ressaltar que o C sempre foi uma linguagem rápida e eficiente, característica essa que foi devidamente respeitada, na criação do C++.

Programas desenvolvidos em C++

É tanta coisa, mas tanta coisa feita em C++, que foi difícil separar o que seria interessante de mostrar. Mas, não tenha dúvidas, praticamente qualquer coisa que você quiser fazer, pode ser feita em C++.
Vamos ver apenas alguns exemplos:
  • Microsoft Windows (sim, na sua maior parte, o sistema operacional mais famoso do mundo é feito em C++ !!!), e seus programas, como o Office (sim, Word, Excel, Powerpoint e tudo mais que você usa, é C++)
  • Adobe Photoshop
  • MySQL (sistema de banco de dados mais utilizado)
  • Navegadores, como: Mozilla Firefox e Internet Explorer
  • Sistemas web, como Google, Youtube, Amazon.con
  • Spotify
  • Games (muitos, mas muitos jogos mesmo usam C++, principalmente os que usam muita memória e requisitos do sistema, pois C++ é uma linguagem muito rápida e eficiente)
    Jogos: Doom III engine, Counter Strike, Sierra On-line Birthright, Hellfire, Football Pro, Bullrider I & II, Trophy Bear, Kings Quest, Antara, Hoyle Card games suite, SWAT, Blizzard  StarCraft, StarCraft: Brood War, Diablo I, Diablo II Lord of Destruction, Warcraft III, World of Warcraft, Starfleet Command, Invictus, PBS's Heritage: Civilization and the Jews, Master of Orion III, CS-XII, MapleStory, WOW
  • Vídeo-games, como PC, XBox One, PS4 e Switch
  • Programas críticos, como servidores e microcontroladores
  • Novas linguagens de programação
  • Sistemas embarcados
  • Várias bibliotecas de Machine Learning estão prontas, feitas em C++
  • Programas científicos e de universidades
  • Compiladores
  • Renderização de imagens, animações, gráficos e vídeos, devido ao alto desempenho e performance que o C++ pode oferecer
  • GUI (Graphical User Interface), ou seja, aquelas interfaces gráficas que você vê (janelinhas, menus, botões, formulários etc) em programas, em sua grande parte são feitas em C++
  • Aplicações de bancos, corretoras e outros sistemas financeiros, pois C++ é extremamente confiável e preciso
  • Novos sistemas que requerem compatibilidade com C
  • Robótica e automação
  • Telecomunicações


Onde C++ não é (tão) usado

Não existe a melhor linguagem de programação, bote isso na sua cabeça.
O que existe é a melhor linguagem de programação para um fim e propósito específico, quem diz que uma é melhor ou pior, são haters e gente com visão limitada no ramo da computação.

Se te perguntarem em uma entrevista de emprego (e vão), qual a melhor linguagem, responda: depende do projeto que deseja fazer.

Assim, é importante também saber onde não se usa muito C++:

  • Aplicações front end da Web: por ser uma linguagem compilada, ela não vai rodar diretamente no browser, diferente de linguagens interpretadas, como JavaScript, que é 'lido' linha por linha
  • Aplicativos móveis, como Android. Nesse caso, a linguagem Java domina
  • Aplicações do lado do servidor (server side scripting), lá as linguagens de script ainda dominam, como PHP e Python
  • Programas bem de baixo nível, ou seja, que 'conversam' diretamente com o hardware, nesse caso recomendamos estudar C ou Assembly
  • Aplicações onde a eficiência máxima possível é exigida
Falando um pouco sobre este último item: embora C++ seja um C implementado, isso não significa que seja melhor em C que tudo, se fosse, o C não existiria.

O C++ tem algumas ferramentas a mais, digamos assim. Porém, isso tem um custo, é mais 'pesado', já que vem mais coisa embutidas. Então, se você deseja a eficiência máxima (como um sistema operacional super rápido e confiável, como Linux ou um lançamento de um foguete ou servidor de uma usina nuclear, talvez você queira a máxima capacidade e confiabilidade possível, e vai usar um C ou Assembly da vida).

Nas outras 99% possibilidades do dia-a-dia (a menos que queira desenvolver sua própria usina nuclear), o C++ vai ser mais que perfeitamente suficiente para o que você quer desenvolver (programa ou jogo, para as pessoas usarem em seus computadores).


Referências e fontes de estudo

Compiled language
C++
C++ applications

Nenhum comentário:

Postar um comentário