Sugestões de leitura para aprender C e C++

Bom pessoal, deixa eu me apresentar: Me chamo Lucas Nunes, tenho 22 anos e trabalho com linux desde dos 13…
No ramo de programação estou começando, tenho conhecimentos de python e um pouco de ruby (python eu ja consigo ao menos fazer uma agenda telefonica, com adição, remoção, procura e outras funções), não sou totalmente iniciante.
Estou afin de aprender C++ e queria a ajuda dos amigos para me orientar:
Primeiro acho que devo começar com C, estou certo? Se estiver certo meu planejamento é começar pelo Como programar C 6 edição do deitel, tenho tambem o A linguagem C 10 edição, C completo e total e aquela apostila do Caio Vasconcelos sobre C.
Diante desses livros começar pelo deitel é realmente a melhor escolha? Depois de terminar ele posso pular para C++ ou é bom dar uma lida em mais algum?
Passando para C++ tenho os seguintes livros: Como programar C++ 3 Edição do deitel, uma apostila do sergio vilas boas (chamo apostila porque não foi publicada como livro, mas tem mais de 400 páginas - C++ Multiplataforma e orientação a objeto), tenho outra do andre duarte (mais de 600 paginas - Programação Orientada a Objeto) e por fim Programando em C/C++ a Biblia.
Diante desse livros eu estou inclinado a começar pela apostila do andre e depois ler a do sergio, o livro do deitel não estou muito inclinado a ler porque é uma versão antiga (já está na versão 5 em portugues, ingles já está na 7 se não me engano).

Bom o que acham desse plano de estudos? Qualquer alteração podem falar
abraços

PS: Apesar de ser primordial saber ler em inglês, no momento ainda não me sinto a vontade para ler livros nessa lingua.

http://www.pontov.com.br/site/cpp/46-conceitos-basicos/88-roadmap-c

Eu começaria pela do André Bueno, direto. Ou então, no do Deitel, escolha o que você achar mais tranquilo de ler.

Não é necessário (e nem sempre desejável) aprender C para aprender C++.
Em seguida, vá para os livros “para quem já programa” do Roadmap, na ordem que são apresentados.

Por que você quer aprender C ou C++? Se for para trabalhar com firmware, nesse caso, foque-se mesmo no C.

E, em hipótese nenhuma, use como IDE o DevCpp.

[quote=ViniGodoy]
E, em hipótese nenhuma, use como IDE o DevCpp. [/quote]
Fiquei curioso.
Qual a razão, visto que sempre ouvi bons comentários sobre ele (embora tenha aprendido C e C++ no Borland turbo C++ 4.5)?

ViniGodoy já tinha visto seu roadmap, mas como falei ainda não me sinto a vontade para ler livro em inglês, vou trabalhar essa dificuldade o mais rapido possivel.
Então não preciso ler nenhum livro sobre C certo? O do deitel por esta um pouco desatualizado não vai me atrapalhar? Pois quero depois começar a aprender o novo padrão C++11.
Realmente material em português para c, c++, python (qual tenho uma boa base) e outras é complicado. Vou procurar logo logo resolver essa questão, mas enquanto isso tem mais algum livro ou tutorial que possa me indicar?
Dos que tenho todos são bons? Tem algum que não recomenda?

Eu preciso ter paciência para escrever um livro do tipo “Aprenda C++ como se fosse Java”.
Acredite, depois que comecei a usar o estilo Java para escrever programas em C++ (e usando as bibliotecas do Boost), eu parei de ter vários problemas que levavam muito tempo para serem resolvidos (como vazamentos de memória e outras coisas mais chatas que sempre me atormentavam).
A única desvantagem é que se você não souber o que está fazendo também vai acabar tendo programas meio lentos.

[quote=lnas90]ViniGodoy já tinha visto seu roadmap, mas como falei ainda não me sinto a vontade para ler livro em inglês, vou trabalhar essa dificuldade o mais rapido possivel.
Então não preciso ler nenhum livro sobre C certo? O do deitel por esta um pouco desatualizado não vai me atrapalhar? Pois quero depois começar a aprender o novo padrão C++11.
Realmente material em português para c, c++, python (qual tenho uma boa base) e outras é complicado. Vou procurar logo logo resolver essa questão, mas enquanto isso tem mais algum livro ou tutorial que possa me indicar?
Dos que tenho todos são bons? Tem algum que não recomenda?[/quote]

a) C é uma linguagem que não teve grandes atualizações desde a última (C99) e mesmo essa ainda não está implementada corretamente em alguns compiladores, como o Microsoft Visual C++. Não se preocupe muito com a atualização da linguagem.
b) É bom ler um livro sobre C, mas também é bom saber que há um estilo C de se escrever as coisas e um estilo C++ de se escrever as coisas, assim como há um estilo Java de se escrever as coisas.
Até porque muitos programas misturam o estilo C com o estilo C++ e isso quer dizer que é bom você aprender C primeiro, nem que seja para saber que certas coisas que se fazem em C não se costumam fazer em C++.
Por exemplo, manipulacão de strings em C é feita com um monte de rotinas (strALGUMACOISA) e em C++ é feita com a classe std::string. Para misturar as duas coisas você precisa saber um pouco o que está fazendo, e muitas vezes você vai ter de saber o que está fazendo.
c) Até que não é tão complicado assim - há vários livros (um pouco antigos, confesso) traduzidos para o português.

[quote=drsmachado][quote=ViniGodoy]
E, em hipótese nenhuma, use como IDE o DevCpp. [/quote]
Fiquei curioso.
Qual a razão, visto que sempre ouvi bons comentários sobre ele (embora tenha aprendido C e C++ no Borland turbo C++ 4.5)?[/quote]

O DevCPP usa uma versão muito desatualizada do gcc (para ter uma idéia, ele é do tempo do Delphi 6 - que é outra ferramenta do tempo dos dinossauros).
Como a versão é muito desatualizada e bugada, há muitos bugs que são evitados usando-se, por exemplo, o Code::Blocks ou alguma outra IDE C++.

Motivo 1
Você já deve ter ouvido bons comentários do Eclipse 1.0. Mas recomenda para alguém hoje em dia?
Veja a data dos últimos sources:
http://sourceforge.net/projects/dev-cpp/files/

Isso também implica em vir com uma versão muito antiga do MinGW.
Sem recursos novos de templates.

Motivo 2
A IDE tem alguns bugs bastante irritantes. De todos, o que considero pior é o fato dela truncar mensagens de erro.

Motivo 3
Existem hoje em dia muitas IDEs gratuitas, modernas, multiplataforma, ainda mantidas e de ótima qualidade.
São perfeitos substitutos.

Para citar algumas:
Visual Studio Express
QT Creator
Code::Blocks

As duas últimas baseam-se no mesmo compilador do Dev, mas estão sendo constantemente atualizadas. O Code::Blocks suporta inclusive a configuração via DevPacks - que não recomendo (é mais fácil, mas considerado essencial para um programador C++ conhecer bem o ambiente).

[quote=entanglement][quote=lnas90]ViniGodoy já tinha visto seu roadmap, mas como falei ainda não me sinto a vontade para ler livro em inglês, vou trabalhar essa dificuldade o mais rapido possivel.
Então não preciso ler nenhum livro sobre C certo? O do deitel por esta um pouco desatualizado não vai me atrapalhar? Pois quero depois começar a aprender o novo padrão C++11.
Realmente material em português para c, c++, python (qual tenho uma boa base) e outras é complicado. Vou procurar logo logo resolver essa questão, mas enquanto isso tem mais algum livro ou tutorial que possa me indicar?
Dos que tenho todos são bons? Tem algum que não recomenda?[/quote]

a) C é uma linguagem que não teve grandes atualizações desde a última (C99) e mesmo essa ainda não está implementada corretamente em alguns compiladores, como o Microsoft Visual C++. Não se preocupe muito com a atualização da linguagem.
b) É bom ler um livro sobre C, mas também é bom saber que há um estilo C de se escrever as coisas e um estilo C++ de se escrever as coisas, assim como há um estilo Java de se escrever as coisas.
Até porque muitos programas misturam o estilo C com o estilo C++ e isso quer dizer que é bom você aprender C primeiro, nem que seja para saber que certas coisas que se fazem em C não se costumam fazer em C++.
Por exemplo, manipulacão de strings em C é feita com um monte de rotinas (strALGUMACOISA) e em C++ é feita com a classe std::string. Para misturar as duas coisas você precisa saber um pouco o que está fazendo, e muitas vezes você vai ter de saber o que está fazendo.
c) Até que não é tão complicado assim - há vários livros (um pouco antigos, confesso) traduzidos para o português. [/quote]

Muito obrigado pela resposta amigo, tem uns que dizem que é bom estudar um pouco de C e já outros dizem que é pra ir direto pro C++, vai entender rsrsrs.
Vinigodoy na verdade estou estudando mesmo por prazer, pode ser que venha a trabalhar com programação mas no momento gosto de administrar servidores Linux, tenho conhecimentos em Shell Script tambem.
Fico admirado naquelas pessoas que sabem um pouco de cada linguagem, pode não ser o ‘O’ programador em todas elas mas ele se vira bem, digamos que tem conhecimento basicos na maioria: C, C++, C#, Perl, Python (esse já tenho), PHP, Java, Ruby e logico meu querido Shell Script rsrs.
Tenho vontade de ser assim, acredito que sabendo C/C++ fica mais facil pegar a sintaxe de todas essas que falei e as outras que esqueci certo? Digamos que leia um livro (bom livro, livro recomendado) sobre cada uma delas acho que consigo alcançar meus objetivos ne?
Como falei estou estudando mais pelo ‘espirito hacker’, não trabalho com programação (na verdade no momento estou desempregado e o que aparecer eu vou agarrar, tenho esposa e filho para sustentar).
Fiz um biblioteca virtual no google drive com material para um monte de coisa, fora as linguagens que já citei tem lá hardawre, Lua, ER, SQL, Web Desing (HTML5 e CSS3) até um manual do Vim eu tenho rsrrs.
Bom amigos postem mais dicas e sugestões, se puder porque não colocamos esse tópico em fixo e reunimos uns materiais legais?

Os livros básicos do Roadmap são em português. Até lá, resolva seu inglês. A maioria dos livros mais avançados, em qualquer linguagem, estão em inglês.

Não. Você já vai ter muito trabalho aprendendo C++ sem o novo padrão. E nada impede de você ver o que mudou depois.

Os que já indiquei: Deitel e André.

Não confunda as coisas. Eu também acho interessante você estudar um pouco de C. Mas não acho interessante você começar pelo C.
É legal você estudar C++, aprender bem o idioma e o estilo de programação e, só depois, estudar C.

O problema do caminho contrário é que quase tudo que se faz em C, pode-se fazer em C++. Mas usar C em C++ é um estilo pobre e praticamente obsoleto (usamos mais para interoperabilidade mesmo). Então, estudando C por primeiro você se apega a uma série de vícios, que podem depois serem difíceis de corrigir.

É mais fácil aprender a usar os recursos modernos e depois aprender a viver privado deles.

Não confunda as coisas. Eu também acho interessante você estudar um pouco de C. Mas não acho interessante você começar pelo C.
É legal você estudar C++, aprender bem o idioma e o estilo de programação e, só depois, estudar C.

O problema do caminho contrário é que quase tudo que se faz em C, pode-se fazer em C++. Mas usar C em C++ é um estilo pobre e praticamente obsoleto (usamos mais para interoperabilidade mesmo). Então, estudando C por primeiro você se apega a uma série de vícios, que podem depois serem difíceis de corrigir.

É mais fácil aprender a usar os recursos modernos e depois aprender a viver privado deles.[/quote]

Interessante, então vou começar pelo livro do deitel (vai demorar pelo menos 1 mês, mais de 1000 páginas), depois dou uma lida na apostila do andre.
Feito isso dou uma lida rapida no como programar c do deitel, só para aprender mais algumas coisas certo. Depois disso trabalhar o inglês para continuar na caminhada.