Ponto V!

Vinícius Godoy de Mendonça
Roadmap C++Imprimir
Escrito por Vinícius Godoy de Mendonça

Nesse site, esperamos que você já tenha um conhecimento básico da linguagem C++. Se não é o seu caso, recomendamos que você aprenda com algum dos materiais descritos nesse artigo.

Para quem está começando

Começar é um passo difícil. É importante escolher um livro didático. Qualquer um dos livros abaixo se enquadram nesse caso, basta escolher um deles. Note que os livros já são de C++. Não recomendamos iniciar os estudos através do C, justamente por conter um estilo de programação que não é mais usado em C++, assim, você evita vícios.

Programação Orientada a Objetos em C++, do prof. André Duarte Bueno (UFSC): Ótimo material, em português e disponível para download gratuitamente aqui.

C++ Como Programar, Deitel: Para quem nem sabe programar, ou não sabe nem C e C++. O livro é muito didático, indiscutivelmente melhor que o livro de java do mesmo autor. E com a vantagem de ensinar C++, sem te viciar no estilo C. Ainda assim, há vários comentários que explicam a diferença das duas e no que o estilo C++ é superior ao C.

C++: A Beginner's Guide, Second Edition : Para quem já tem uma certa noção de programação (não precisa ser expert) mas quer aprender C++.

Programming: Principles and Practice Using C++ : Livro básico da linguagem C++, escrito pelo próprio Bjarne Stroustrup, criador da linguagem. O livro não aborda apenas C++, mas conceitos e técnicas fundamentais de programação.

Accelerated C++: Practical Programming by Example , do Andrew Koenig: Para quem não sabe C, e nem quer saber, mas quer aprender C++;

Você não precisará saber muito além disso para entender os artigos de C++ desse site. Entretanto, caso você tenha interesse em se aprofundar na linguagem, a lista de livros abaixo também é recomendada.

Para quem já sabe C++:

Essa lista é uma espécie de RoadMap. O ideal é pegar cada um desses livros mais ou menos nessa ordem. Dá para trocar a ordem dos dois primeiros, eles são igualmente importantes. O último livro da lista é extremamente conceitual e profundo, mas é legal se você quiser ter um entendimento teórico mais forte sobre os patterns envolvendo templates usados na STL (e que, portanto, podem ser usados no dia-a-dia).

The C++ Standard Library: A Tutorial and Reference de Nicolai M. Josuttis: programar em C++ hoje sem saber a STL é abrir mão de quase trinta anos anos de evolução da linguagem.

Effective C++ , do Scott Meyers: Faz você programar C++ de verdade, e não C com classes. Se você ainda usa #define para fazer constantes, ou não sabe para que declarar um método como const, leia esse livro;

More Effective C++ , do Scott Meyers: Uma boa extensão ao Effective C++.

Effective STL , do Scott Meyers: Saiba boas e más práticas envolvendo a STL;

Beyond the C++ Standard Library: An Introduction to Boost , do Björn Karlsson: Para quem quer entender bem as coleções extras da boost e o esquema de “garbage collection” via smart pointers que é possível com C++;

C++ Templates: The Complete Guide , de David Vandervoorde e Nicolai M. Josuttis: O guia mais completo, didático e explicativo sobre templates. Cobre desde a sintaxe básica até usos bastante avançados. Dá dicas de design e uso inteligente da programação genérica e meta-programação.

Modern C++ Design , de Andrei Alexandrescu: Definitivamente um dos melhores e mais importantes livros sobre design patterns envolvendo templates. Ajuda a entender os Allocators da STL, por exemplo. Entretanto, saibam bem templates antes de começa-lo. Ele é definitivamente um complemento ao livro anterior;

Não incluí nessa lista nenhum livro sobre sistemas operacionais específicos.


Comentários (48)
  • PotHix  - Material online
    avatar

    Æ!!

    Bem legal o post!
    Gostaria de saber se existe bons materiais on-line, por que vi que a grande maioria das referências que você postou são livros e etc.

    Indica boas referências para conteúdo online?

    Há braços

  • Vinícius Godoy de Mendonça
    avatar

    Online geralmente você só encontra material básico, como o livro do André Bueno, indicado.

    Ou artigos esporáticos, como os do GamaSutra, Artima, Informit, entre outros sites.

    Os livros são muito melhores pois apresentam o conteúdo de maneira mais didática e completa.

  • Alan
    avatar

    Muito bom livros.

    sobre a pergunta do nosso amigo ali em cima. existe um bom site de C++: http://www.cplusplus.com/

    Abraços

  • Luiz Gustavo  - Apostila
    avatar

    O primeiro link não esta abrindo a pagina carrega mas não abre. vlw

  • Vinícius Godoy de Mendonça
    avatar

    Clique com o botão direito no link e use a opção de "Salvar como". Ele vai gravar um pdf no seu computador. Aí é só abri-lo com o reader. :)

  • Luiz Gustavo
    avatar

    obrigado nem tinha reparado isso. rsrsrsr :whistle:

  • Jessica
    avatar

    Gostaria de saber quais livros vc indicaria voltado para área de games.

    Grata

  • Vinícius Godoy de Mendonça
    avatar

    Oi Jessica. A área de games é muito vasta. Seu interesse é em programação? Game design? Se for em programação, é em alguma área específica como IA?

  • Anônimo
    avatar

    Então, gostaria de saber da parte de programação.
    Já trabalho com jogos, jogos educativos, mas em ActionScript 2 e 3.

    Gostaria de aprender c++, pois é a linguagem que as grandes empresas pedem.

    Se poder ajudar, ficarei grata!

  • Vinícius Godoy de Mendonça  - Livros de C++
    avatar

    Então, os primeiros livros desse roadmap são bons para aprender a linguagem C++ em si. E há muito o que aprender, antes de entrar na parte de jogos em si.

    A linguagem é muitíssimo mais complexa que o ActionScript.

    Para a parte de jogos, tem o livro C++ for Game Programmers, do Dickheisen. Para jogos 2D, você pode pegar o livro Focus on SDL, que mostra uma boa API para jogos mais simples.

  • Anônimo
    avatar

    Só uma pequena correção a respeito do livro citado "C++ for Game Programmers" foi escrito por Mike Dickheiser e não Dickheisen.

  • Otto
    avatar

    Esse da MS é voltada para Windows e a IDE deles ou portável?

    Um outro que vi e você pode avaliar (tem na web) é o A Quick Introduction to C++, de Tom Anderson.

  • Vinícius Godoy de Mendonça
    avatar

    Perdão, mas esse o que da MS?

  • Otto
    avatar

    O da Microsoft.
    C++ Beginner's Guide.

  • Bruno Crivelari Sanches
    avatar

    Sim, ele é sobre C++ padrão, não tem nada de Windows nele...

  • Vinícius Godoy de Mendonça
    avatar

    O livro é da MS Press, mas é sobre C++ genérico. Pena que é do Schildt. Não gosto muito desse autor.

    Os mais recomendados pela comunidade são os dois últimos, do Koenig e do Stroustrup.

  • Ottavio
    avatar

    Muito boa a indicação desses livros.

    Amigo, eu queria saber o seguinte: eu já tenho o C++ Como programar, 5ª edição. Se eu lê-lo e fizer todos os exercícios com muita dedicação eu já posso partir para a segunda etapa, ou seja, comprar os livros do "Para quem já sabe C++" como você sugeriu? Vc acha que apenas o livro dos Deitel dá conta para eu ser "aprovado" na primeira etapa ("Para quem está começando";)?

  • Vinícius Godoy de Mendonça
    avatar

    Sim, a partir do momento que você se sentir confortável com a sintaxe da linguagem, pule para a segunda etapa.

  • Thiago
    avatar

    Obrigado pelas dicas rapaz.
    Fique com Deus ;)

  • Victor  - Obrigado.
    avatar

    http://www.guj.com.br/posts/list/221126.java

    Obrigado pela recomendação no link acima, já percebi que valeu a pena.

  • Lucas Rinaldi  - Dúvida
    avatar

    Amigo, estou pensando em comprar o livro do Deitel, queria saber se estudando todo ele eu já consigo ter uma base pra aprender a área de jogos?
    Abraço!

  • Vinícius Godoy de Mendonça  - Deitel
    avatar

    Consegue sim, o livro é muito bom. Entretanto, você terá uma boa base de C++. Ele não fala de jogos.

    Com essa base, você poderá seguir um tutorial como o do lazyfoo ou os encontrados nesse site.

  • Carolina Fantini  - Dúvida
    avatar

    Bom, eu to querendo fazer um emulador de Ragnarök Online usando engenharia-reversa, mas não sei se uso C++ com Lua ou C++ com JS.

    Pode me dar um help ?!

  • Vinícius Godoy de Mendonça
    avatar

    C++ com Lua, sem sombra de dúvidas.

  • Wanderson
    avatar

    Vinícius aonde eu posso conseguir este livro C++ Como Programar, Deitel? E se ele é em português.

  • Vinícius Godoy de Mendonça
    avatar

    Ele é em português sim. E está disponível em praticamente qualquer livraria. Na internet, você pode encontra-lo no submarino, FNAC e eu já vi até nas Lojas Americanas.

    Dica: A última edição costuma a ser muito cara, compre uma edição anterior.

  • Gstavo Machado Broering
    avatar

    A última edição em português seria a 5ª?
    Nada justifica o preço de R$ 320,00 em um livro de 5 anos atrás e que custa US$ 42,00 na Amazon!
    Incluindo frete + impostos o mesmo sai por menos de R$ 100,00, 1/3 do valor!!
    Mesmo importando a última edição. sai "meros" R$ 200,00, já contando com frete e impostos!

    Para quem sabe inglês, fica a dica!
    Para quem não sabe, fica a dica de começar a aprender!

  • Bruno Crivelari Sanches
    avatar

    Importação de livros não tem impostos, vai ser USS42 + frete, não vai chegar nem perto de 200 reais.

    Para quem não sabe inglês tai uma boa dica, o que você economiza com livros desatualizados e com erros de tradução, você usa para pagar o curso :).

    T+

  • Gustavo Machado Broering
    avatar

    Desculpe, o imposto que eu quis dizer era o IOF. Esqueci de especificar :P
    E 200 reais sai a 8ed (última), essa custa US$ 100, mesmo assim sendo mais em conta :D

  • Wanderson
    avatar

    Vou ver se eu consigo comprar um usado mesmo, não tenho todo esse dinheiro.=/

  • Vinícius
    avatar

    Com o novo padrão vindo, o C++0X, ainda compensa ler estes livros introdutórios ou esperar até lançarem algum mais atualizado com este novo padrão? :pinch:

  • Vinícius Godoy de Mendonça
    avatar

    Oi Chará,

    Compensa sim, pois o basicão da linguagem quase não se altera. Você pode facilmente pegar um livro depois que só explique as mudanças e se atualizar para o C++11.

    Um livro atualizado desses básicos deve demorar um bocado para aparecer, principalmente em português.

  • Vinícius
    avatar

    Obrigado pela resposta, vou decidir então qual destes livros eu compro. ;)

  • Vinícius Godoy de Mendonça
    avatar

    A wiki americana tem um ótimo sumário das mudanças, com exemplos:
    http://en.wikipedia.org/wiki/C%2B%2B0x

  • sergio rodrigues  - Vale a pena C++ e duvidas livro do bueno
    avatar

    Vinicius primeiramente parabéns pelo site e pelo seu trabalho.

    Gostaria de saber se vale a pena investir hoje em C++, pois ja estudo ela na faculdade e gostaria de especializar com esses livros que vc colocou, mas tenho medo de entrar de cabeça em uma coisa que depois fique para trás, ou que não tenha emprego mercado e dai eu tenha que partir para outra linguagem e começar do zero de novo. Fico na duvida com relação a outras linguagens como Java e .net, e tenho interesse em Python também, quero investir em c++ com foco em sistemas distribuidos e inteligencia artificial inclusive se vc puder postar livros bons de IA, foram o ja conhecido do Norvin.

    Duvida com relação ao livro do bueno pagina 317 - Executando e enviado comandos para outro programa, não consigo funcionar o exemplo dele erro na linha >> opfstream, vc tem alguma ideia, existem algum comando novo, ja procurei no google e não achei nada consistente dessa opfstream.

  • Bruno Crivelari Sanches
    avatar

    Sobre investir em C++, é uma boa, existe mercado sim e muito e em compensação é um mercado geralmente mais interessante, em grande parte concentrado em sistemas embarcados e mercado financeiro. Todos com grande foco em desempenho e códigos otimizados, então se gosta de escovar bits é uma boa.

    Hoje aparentemente a parte mais forte de TI é WEB e nessa parte você vai encontrar C++, se quer ir para esse mercado, então esqueça.

    Agora sobre investir numa linguagem e depois ter que aprneder tudo de novo, olha, só se você apenas decorar comandos da lnguagem. Se você sabe programar, linguagem é apenas um meio e não existo isso de aprender tudo de novo ao trocar de linguagem.

    T+

  • Vinícius Godoy de Mendonça
    avatar

    A maior parte dos sistemas industriais ainda é desenvolvida em C++. Junte isso aos sistemas de caixinha, jogos e hardware, e você vai ver que o mercado é quase tão grande quanto o de linguagens web.

    Porém, é um mercado diferente. A indústria exige outros tipos de conhecimento (programação windows, sistemas de tempo real, protocolos de comunicação, etc.) dependendo da área que você queira atuar com o C++.

    A oferta de emprego é um pouco mais escassa, mas as vagas costumam a ser mais bem remuneradas, justamente por saberem que o profissional de C++ costuma a ter uma qualificação maior.

  • Sidney Bruno  - Iniciante
    avatar

    Eu sei absolutamente NADA sobre esse assunto! Mas quero aprender, e graças a esse tutorial eu sei por onde começar!
    Bom trabalho!!

  • Vinícius Godoy de Mendonça
    avatar

    É para isso mesmo que o roadmap serve. :)

  • Harry ramos
    avatar

    Olá pessoal estou no meu segundo ano do curso de informática e o meu professor de Linguagem de Programação pediu-me para fazer um projecto e eu queria fazer um projecto sobre gestão de uma biblioteca. Agradecia muito se me ajudassem :cheer:

  • Bruno Crivelari Sanches
    avatar

    Nosso enfoque aqui é no desenvolvimento de jogos, para outros assuntos relacionados a C/C++, recomendo o grupo CCPPBrasil: https://groups.google.com/forum/#!forum/ccppbrasil

  • Iuri
    avatar

    Acabei de achar esse site por um post na GUJ, que achei pelo google.
    Muito bons os livros. Uma informação, há, em inglês, uma copia do livro do Deitel que vem gratuitamente em um programa de C++ (acho que é o da microsoft).

  • Adriano S. Lima  - Adriano S. Lima
    avatar

    Minha dúvida é a seguinte, peguei muito material da linguagem C, mais achei o site daqui, olhando bem fiquei na dúvida se aprendo C ou C++?
    Se começo já com o Visual C++?

  • Vinícius Godoy de Mendonça
    avatar

    Depende muito do seu foco.
    Você quer programar firmware e software embarcado? Vai estudar engenharia da computação ou engenharia eletrônica? C

    Quer fazer jogos e aplicações comerciais? C++

  • Adriano S. Lima  - Lima
    avatar

    Vinícius, obrigado pelo sua orientação !
    Seria mais aplicações comerciais, jogos depois um pouco a frente.
    Então Visual C++ é mais indicado para iniciante?

    Obrigado

  • Vinícius Godoy de Mendonça
    avatar

    Não. C é mais indicado para aplicações de baixo nível, como firmwares.

    Pode seguir esse roadmap tranquilo.

  • Paulo  - Programação de imagem
    avatar

    Vinícius,

    tenho lido algumas ótimas "dicas" de java, sou novato em java, deixei a programação no dataflex, cobol em 1993. muitíssimo obrigo.

    amigo, sou de ctba e gostaria de trocar figurinhas com algum programador que entenda muito de manipulação de imagem (localização de obejtos, áreas, etc). Tem alguém para indicar.

    obrigado.

    Parabéns por compartilhar seu vasto conhecimento em programação.

  • Vinícius Godoy de Mendonça
    avatar

    Oi. Eu tenho trabalhado com isso nos últimos anos. Você também pode falar com o juliocbq, do GUJ.

    Aqui em Curitiba, conheço alguns professores de processamento de imagens da PUC e da UFPR que talvez possam ajudar.

    O que vc pretende fazer?

Escrever um comentário
Your Contact Details:
Gravatar enabled
Comentário:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):S:!::?::idea::arrow:
Security
Por favor coloque o código anti-spam que você lê na imagem.
LAST_UPDATED2  

Busca

Linguagens

Twitter