C++: Vale a Pena Aprender atualmente? Por que e onde Usar?
Por que aprender C++?
C++ é uma das linguagens mais usadas do mundo, uma das poucas linguagens de alto nível realmente compiladas e está em constante evolução!
Diferente do que muitos pensam, C++ não é uma linguagem ultrapassada e sim oferece recursos muito interessantes para o desenvolvimento de aplicações que demandam performance, sem necessariamente dificultar o entendimento do código.
Por que C++ foi criada?
Na década de 1980, Bjarne Stroustrup queria criar uma versão distribuída do Kernel Unix. Por ser uma tarefa demasiadamente complexa, ele queria escolher uma linguagem que trouxesse facilidades na hora de escrever o código, mas ao mesmo tempo performática.
Linguagens como Simula ofereciam facilidades de codificação, porém eram bastante lentas. Já C era suficientemente rápida, então Bjarne Stroustrup começou a adicionar funcionalidades de código à linguagem C. Assim, C++ (chamado na época de C with Classes) foi criado para ser uma linguagem com ótima performance, porém com recursos de alto nível suficientes a ponto de facilitar o desenvolvimento de sistemas complexos.
O que é possível fazer com C++?
C++ é uma das linguagens mais versáteis que existem, permitindo desenvolver desde tarefas simples como aplicações na linha de comando ou web, até sistemas complexos de tempo real, muito usadas no mercado financeiro.
Agora nem tudo que é possível de se fazer em C++ é pertinente. Se o que quisermos fazer for uma simples página da web que recebe dados na URL e os exibe, por exemplo, teremos um código complexo para uma tarefa tão corriqueira:
#include <iostream>
#include <vector>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <cgicc/CgiDefs.h>
#include <cgicc/Cgicc.h>
#include <cgicc/HTTPHTMLHeader.h>
#include <cgicc/HTMLClasses.h>
using namespace std;
using namespace cgicc;
int main () {
Cgicc formData;
cout << "Content-type:text/html\r\n\r\n";
cout << "<html>\n";
cout << "<head>\n";
cout << "<title>Using GET and POST Methods</title>\n";
cout << "</head>\n";
cout << "<body>\n";
form_iterator fi = formData.getElement("first_name");
if( !fi->isEmpty() && fi != (*formData).end()) {
cout << "First name: " << **fi << endl;
} else {
cout << "No text entered for first name" << endl;
}
cout << "<br/>\n";
fi = formData.getElement("last_name");
if( !fi->isEmpty() &&fi != (*formData).end()) {
cout << "Last name: " << **fi << endl;
} else {
cout << "No text entered for last name" << endl;
}
cout << "<br/>\n";
cout << "</body>\n";
cout << "</html>\n";
return 0;
}
Com isso notamos que C++ é ideal para realizar tarefas que demandam performance e possuem alta complexidade. Sistemas mais simples e corriqueiros não são o foco, logo, vão demandar mais trabalho do que linguagens mais adequadas a esses cenários.
Em que é usado o C++?
Como já foi citado, C++ é uma linguagem incrivelmente versátil, mas ela se destaca como líder nos seguintes cenários:
- Jogos;
- Mercado financeiro;
- Grandes aplicações
- Navegadores;
- Softwares multimídia;
- Pacotes Office;
- Sistemas operacionais;
- Microcontroladores;
- Etc.
Algumas das empresas famosas que fazem uso pesado dessa linguagem são:
- Facebook;
- Adobe;
- Google;
- Microsoft;
- EA;
- Etc.
Qual a melhor linguagem de programação?
O número de linguagens de programação existentes no mundo é incerto, mas aqui podemos conferir que existem tantas linguagens que seria simplesmente impossível escolher a melhor linguagem para todos os cenários.
Cada linguagem de programação possui um propósito, um motivo para existir.
Onde e como aprender C++?
Existem diversos (realmente são muitos) materiais para você aprender essa linguagem, porém devemos sempre tomar cuidado com o tipo de conteúdo que consumimos. Embora os livros clássicos sejam uma ótima forma de aprender, muitos foram escritos antes de diversos recursos serem incluídos na linguagem.
Aqui na Alura nós temos uma formação C++ que vai desde os fundamentos da linguagem, passando por orientação a objetos, até recursos mais avançados e performance. Tudo isso usando as novidades da linguagem e boas práticas do mercado.