Quero Aprender o C++ e agora?
Ao longo dos últimos 2 anos eu conquistei um conhecimento razoável de C++ e resolvi fazer esse post para ajudar outros desenvolvedores que tenham o mesmo objetivo. O objetivo dessa postagem não é ser um “livro” que o ensine a programar, mas, sim, atuar como um “mapa” que você vai usar para encontrar os principais “livros”. Ele está organizado em 3 partes, sendo elas “por que aprender C++?”, “entendendo a linguagem” e “o percurso”. Os 3 “capítulos” são independentes e você pode lê-los em qualquer ordem.
O número de referências que usei nesse post me faz pensar naquela frase, “…sobre os ombros de gigantes“.
Por que aprender C++?
Acho que motivação é um fator importante ao adquirir novos conhecimentos, e, assim, a primeira parte desse texto é sobre motivação. Destaquei em negrito as frases que espero que você tenha em mente após terminar o texto.
Um motivo para aprender C++ é a ortogonalidade. Se a linguagem fornece algum recurso para ser utilizado, muito provavelmente permitirá que você implemente esse mesmo recurso ou um parecido usando as facilidades que ela própria fornece. Aqui, um pequeno exemplo do que seria (e é) uma quebra de ortogonalidade.
C++ é extensivamente suportada e você vai encontrar bibliotecas para resolver seus problemas nas mais diversas áreas, seja desenvolvimento de jogos, processamento de imagens, visão computacional, inteligência artificial, robótica, processamento numérico, servidor web de alta performance ou outra. Existe até suporte para novos paradigmas de programação para C++.
C++ é flexível. Se você achava que C era flexível, porque pessoas conseguiam sobreusar suas funcionalidades para implementar tratamento de exceções usando try…catch, ficaria surpreso com os códigos que a comunidade faz com C++. Se você possui necessidades incomuns, vai ficar muito contente quando examinar o design da STL, biblioteca padrão de templates de C++.
Uma característica é que a linguagem é estaticamente tipada e