Não faz muito tempo, eu era um programador iniciante, tentando encontrar bons livros / tutoriais sobre os idiomas que queria aprender. Mesmo assim, há momentos em que preciso escolher um idioma de forma relativamente rápida para um novo projeto em que estou trabalhando. O objetivo deste post é documentar alguns dos melhores tutoriais e livros para esses idiomas. Vou começar a lista com o melhor que encontrar, mas espero que vocês possam ajudar com melhores sugestões / novos idiomas. Aqui está o que eu encontrei:
Como agora este wiki é editável, estou dando controle à comunidade. Se você tiver uma sugestão, coloque-a nesta seção. Decidi também adicionar uma seção para livros gerais sobre programadores e referências on-line. Mais uma vez, todas as recomendações são bem-vindas.
Programação Geral
Tutoriais on-line
Fundamentos da programação Por Karl Seguin - da Codebetter, baseada em C #, mas as idéias são verdadeiras, não podemos acreditar que ninguém postou isso ainda.
Como escrever código não-sustentável - Um manual anti que ensina como escrever código da maneira mais insustentável possível. Seria engraçado se muitas dessas sugestões não parecessem tão verdadeiras.
A Seção de Programação dos Livros Wiki - sugerida por Jim Robert como tendo uma grande quantidade de livros / tutoriais em vários idiomas em vários estágios de conclusão
Apenas o básico Para ter uma idéia de um idioma.
Código de Livros Completo - Este livro é óbvio, é verdadeiramente brilhante de muitas maneiras a mencionar.
O programador pragmático - A próxima melhor coisa para trabalhar com um codificador mestre, ensinando tudo o que eles sabem.
Dominar expressões regulares - Expressões regulares são uma ferramenta essencial na caixa de ferramentas de todos os programadores. Este livro, recomendado por Patrick Lozzi, é uma ótima maneira de aprender do que eles são capazes.
Algoritmos em C , C ++ e Java - Uma ótima maneira de aprender todos os algoritmos clássicos se você achar os livros de Knuth um pouco mais detalhados.
C
Tutoriais on-line
Este tutorial parece bastante consenso e abrangente, analisou o material e parece ser muito bom. Não tenho certeza de quão amigável seria para os novos programadores.
Livros
K&R C - um clássico, com certeza. Pode-se argumentar que todos os programadores deveriam lê-lo.
C Primer Plus - sugerido por Imran como o melhor livro em C para programadores iniciantes.
C: Um Manual de Referência - Uma ótima referência recomendada por Patrick Lozzi.
C ++
Tutoriais on-line
O tutorial em cplusplus.com parece ser o mais completo. Encontrei outro tutorial aqui, mas ele não inclui tópicos como polimorfismo, que acredito serem essenciais. Se você é de C, este tutorial pode ser o melhor para você.
Outro tutorial útil, anotação C ++ . Na família Ubuntu, você pode obter o ebook em vários formatos (pdf, txt, Postscript e LaTex) instalando o c++-annotation
pacote da Synaptic (o pacote instalado pode ser encontrado em /usr/share/doc/c++-annotation/
.
Livros
A linguagem de programação C ++ - crucial para qualquer programador de C ++.
C ++ Primer Plus - Originalmente adicionado como um erro de digitação, mas as críticas da Amazon são tão boas que vou mantê-lo aqui até que alguém diga que é um fracasso.
C ++ eficaz - Maneiras de melhorar seus programas C ++.
C ++ mais eficaz - Continuação de C ++ eficaz.
STL eficaz - maneiras de melhorar seu uso do STL.
Pensando em C ++ - Ótimo livro, ambos os volumes. Escrito por Bruce Eckel e Chuck Ellison.
Programação: princípios e práticas usando C ++ - introdução do Stroustrup ao C ++.
C ++ acelerado - Andy Koenig e Barbara Moo - Uma excelente introdução ao C ++ que não trata o C ++ como "C com bits extras aparafusados"; na verdade, você mergulha direto e começa a usar o STL desde o início.
Adiante
Livros
FORTH, um texto e referência. Mahlon G. Kelly e Nicholas Spies. ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986 Prentice-Hall. Os livros de Leo Brodie são bons, mas este livro é ainda melhor. Por exemplo, abrange a definição de palavras e o intérprete em profundidade.
Java
Tutoriais on-line Tutoriais
Java da Sun - Um tutorial oficial que parece completo, mas eu não sou especialista em java. Vocês conhecem algum melhor?
Livros
Head First Java - Recomendado como um excelente texto introdutório por Patrick Lozzi.
Java eficaz - recomendado pelo pek como um ótimo texto intermediário.
Core Java Volume 1 e Core Java Volume 2 - Sugerido pelo FreeMemory como algumas das melhores referências java disponíveis.
Simultaneidade em Java na prática - Recomendado pelo MDC como um excelente recurso para programação simultânea em Java.
A linguagem de programação Java
Pitão
Tutoriais on-line
Python.org - A documentação on-line para esse idioma é muito boa. Se você souber de algo melhor, me avise.
Dive Into Python - Sugerido por Nickola. Parece ser um livro em python on-line.
Perl
Tutoriais on-line
perldoc perl - Foi assim que eu comecei pessoalmente com o idioma e acho que você não conseguirá vencê-lo.
Books
Learning Perl - uma ótima maneira de se apresentar ao idioma.
Programação Perl - amplamente referida como a Bíblia Perl. Referência essencial para qualquer programador perl sério.
Perl Cookbook - Um ótimo livro que tem soluções para muitos problemas comuns.
Programação Perl Moderna - recém-lançada, contém os conhecimentos mais recentes sobre técnicas e ferramentas modernas, incluindo Moose e DBIx :: Class.
Rubi
Tutoriais on-line
Adam Mika sugeriu o Guia (comovente) de Ruby do Why, mas depois de dar uma olhada nele, não sei se é para todos. Encontrei este site que parece oferecer vários tutoriais para Ruby on Rails.
Books
Programming Ruby - sugerido como uma ótima referência para tudo o que é ruby.
Visual básico
Tutoriais on-line
Encontrei este site que parece se dedicar a tutoriais visuais básicos. Não tenho certeza de como eles são bons.
PHP
Tutoriais on-line
O principal site PHP - Um tutorial simples que permite comentários de usuários para cada página, o que eu realmente gosto.
Tutoriais do PHPFreaks - Vários tutoriais de diferentes comprimentos de dificuldade.
Tutoriais Quakenet / PHP - tutorial sobre PHP que o guiará do zero.
Javascript
Tutoriais online
Encontre aqui um tutorial decente voltado para não programadores. Encontrei outro mais avançado aqui . Nickolay sugeriu Uma reintrodução ao javascript como uma boa leitura aqui.
Books
Head first JavaScript
JavaScript: The Good Parts (com um vídeo do Google Tech Talk do autor)
C #
Tutoriais on-line Tutorial da
estação C # - parece ser um tutorial decente que eu descobri, mas não sou um cara em C #.
Especificação da linguagem C # - Sugerida por tamberg. Não é realmente um tutorial, mas uma ótima referência sobre todos os elementos dos
Livros de
C # C # , direto ao ponto - sugerido por tamberg como um texto breve que explica o idioma com uma profundidade incrível
ocaml
Os livros que
nlucaroni sugeriram o seguinte:
OCaml para cientistas
Introdução ao ocaml
Usando Compreender e desvendar o ocaml: prática à teoria e vice-versa
Desenvolvendo aplicativos usando Ocaml - O'Reilly
O sistema Caml objetivo - Official Manua
Haskell
Tutoriais on-line
nlucaroni sugeriu o seguinte:
Explore a programação funcional com a Haskell
Books Programação funcional total da
Haskell do mundo real
LISP / Esquema
Os livros
wfarr sugeriram o seguinte:
The Little Schemer - Introdução ao esquema e programação funcional em geral
The Seasoned Schemer - Acompanhamento de Little Schemer.
Estrutura e interpretação de programas de computador - O livro definitivo sobre Lisp (também disponível online ).
Lisp comum prático - Uma boa introdução ao Lisp com vários exemplos de uso prático.
No Lisp - Tópicos avançados no Lisp
Como criar programas - Uma introdução à computação e programação
Paradigmas de programação de inteligência artificial: estudos de caso em Lisp comum - uma abordagem para a programação Lisp de alta qualidade
E vocês? Estou totalmente de folga? Eu deixei de fora seu idioma favorito? Vou pegar os melhores comentários e modificar a pergunta com as sugestões.
fonte
Tudo isso é realmente bom, escrito pela academia e (alguns) são livros (um livro original ou inédito - traduzido do francês, mas sem problemas que encontrei), por exemplo). Eu tenho meus favoritos que mais me ajudaram.
ocaml:
Haskell:
fonte
Para C # :
fonte
Para C ++, sugiro o Accelerated C ++ de Koenig e Moo como um texto inicial, embora não saiba como seria para um novato absoluto. Ele se concentra no uso da STL imediatamente, o que faz com que fazer as coisas muito mais fácil.
fonte
Haskell :
Livro de O'Reilly:
Meus tutoriais on-line gerais favoritos, menos acadêmicos:
Livros sobre Programação Funcional com Haskell:
fonte
Java eficaz é uma obrigação, mas eu recomendo que você se sinta confortável com o Java primeiro para entender completamente os exemplos.
fonte
Rubi
fonte
Eu adicionaria os livros de programação de Bruce Eckel:
Em geral, sua página "Livros" ( http://mindview.net/Books/ ) é um bom recurso. Os livros disponíveis gratuitamente também podem ser encontrados em http://www.ibiblio.org/pub/docs/books/eckel/
fonte
Não posso acreditar que ninguém tenha mencionado as práticas recomendadas de Perl . Há também um feed do Twitter que fornece um PBP por dia.
Aprendi Perl com o Tutorial de Robert sobre Perl , que recomendo, mas não é atualizado desde 1999. Um tutorial recomendado mais recente é o Steve's Perl Tutorial .
Para o desenvolvimento da Web com Perl, o vencedor é o Catalyst , e o wiki do Catalyst é o ponto de partida para o aprendizado.
fonte
Para Lisp e Scheme (inferno, programação funcional em geral), existem poucas coisas que fornecem uma base mais sólida do que The Little Schemer e The Seasoned Schemer . Ambos fornecem uma introdução muito simples e intuitiva ao esquema e à programação funcional, que se mostra muito mais simples para novos estudantes ou entusiastas do que qualquer um dos volumes típicos que se repetem como uma versão não-ficção de War & Peace .
Depois de passarem da série Schemer, o SICP e o On Lisp são escolhas fantásticas.
fonte
confira a seção de programação dos wikibooks
Muitos deles são totalmente formados, e muitos têm seções mais avançadas (que estão em diferentes estados de conclusão) sobre funcionalidades específicas.
Além disso, as escolas w3 têm uma excelente seção de tutorial e referência sobre php
suas seções html e css também são boas para referência.
fonte
C ++
O primeiro é bom para iniciantes e o segundo requer um nível mais avançado em C ++.
fonte
fonte
Para Javascript:
Para PHP:
Para projeto e programação de OO, padrões:
Para refatoração:
Para SQL / MySQL:
fonte
C Primer Plus, 5ª edição - O livro C para saber se você está aprendendo C sem experiência prévia em programação. É um dos meus favoritos pessoais, como aprendi a programar neste livro. Tem todas as qualidades que um livro para iniciantes deve ter:
fonte
Não vamos esquecer o Head First Java , que pode ser considerado o primeiro passo essencial nesta linguagem ou talvez o passo após os tutoriais online da Sun. É ótimo com o objetivo de entender o idioma de forma concisa, enquanto adiciona um pouco de diversão, servindo como um trampolim para os livros mais detalhados já mencionados.
Sedgewick oferece ótimas séries de algoritmos, indispensáveis se você achar que os livros de Knuth são muito detalhados. Knuth à parte, Sedgewick traz uma abordagem sólida para o campo e oferece seus livros em C , C ++ e Java . Os livros em C ++ podem ser usados de maneira inversa em C, pois ele não faz uma distinção muito grande entre os dois idiomas em sua apresentação.
Sempre que estou trabalhando em C, C: A Reference Manual, de Harbison e Steele , vai comigo a todos os lugares. É conciso e eficiente, sendo extremamente minucioso, tornando-o inestimável (para mim de qualquer maneira).
Idiomas à parte, e se esse tópico se tornar um item de referência no qual eu acho que está indo dessa maneira devido ao número de contribuições sólidas, inclua Mastering Regular Expressions , por razões que eu acho que a maioria de nós conhece .. alguns diriam também que o regex pode ser considerado um idioma por si só. Além disso, sua utilidade em uma ampla variedade de idiomas o torna inestimável.
fonte
Lisp comum
Para uma boa referência ao CL, confira Common Lisp the Language, 2ª Edição
fonte
Para o objetivo C:
Programação de cacau para Mac OSX - terceira edição Aaron Hillegass Publicado por Addison Wesley
Programação no Objetivo C, Stephen G Kochan,
fonte
Head First Javascript é uma boa introdução ao JS para programadores iniciantes - explica criativamente os conceitos básicos de programação usando a sintaxe JS. A série Head First é baseada em técnicas pesquisadas para ajudá-lo a aprender e lembrar de novas informações. Eles fazem muitos exercícios e quebra-cabeças que podem parecer juvenis, mas realmente ajudam a consolidar o conhecimento em seu cérebro.
Um exercício de que gostei muito foi depois que eles explicaram os tipos de dados, mostram uma foto de uma rua da cidade e dizem "rotule todos os tipos de dados que você pode encontrar nesta foto". Portanto, o pisca-pisca de um carro é um valor booleano, o sinal na loja é uma string e o endereço é um número. Isso me ajudou a ter a idéia de como traduzir informações reais em um programa.
Com base apenas neste livro, eu diria que a série Head First é uma ótima maneira de aprender algo na primeira vez , mas o formato semelhante a uma história que eles dificultam o uso como referências.
fonte
O Caminho do Rubi por Hal Fulton
A capa do Ruby Way http://rubyhacker.com/trw2cover.gif
fonte
Python: http://diveintopython.net/
JS: uma reintrodução ao JavaScript é a introdução à linguagem (não específica do navegador) para programadores. Não conheço um bom tutorial sobre JS no navegador.
Ótima idéia, a propósito!
fonte
Dados os desenvolvimentos recentes, acho importante incluir a recente explosão de ofertas de cursos on-line gratuitos de universidades e empresas privadas. O novo Boston é um site de tutoriais que sempre uso em vários idiomas há anos, um excelente ponto para iniciantes.
http://www.udacity.com/
https://www.coursera.org/
http://www.coursehero.org/
http://www.codecademy.com/
http://mitx.mit.edu/
http://www.khanacademy.org/
http://thenewboston.org/
fonte
Eu segundo a recomendação de K&R de Kristopher para C.
Eu achei o livro "Essential Actionscript 2.0" bastante útil para codificação AS (existe uma versão AS3 agora, acredito).
Descobri que ter livros reais para folhear é mais útil do que uma referência on-line em alguns casos. Não tenho muita certeza do porquê.
fonte
hmm, não sei se diria que os materiais on-line são inúteis, mas concordo que há algo sobre livros. Talvez eles sejam mais bem escritos, ou talvez seja o ato de vender mais de US $ 50 que o inclua a estudar o material.
De qualquer forma, concordo que os livros devem fazer parte dessa pergunta. Se alguém tiver alguma sugestão de livros para idiomas, editarei a postagem com as melhores sugestões.
fonte
A referência que você listou para Ruby é para Ruby on Rails. Embora ainda seja um ruby no fundo, definitivamente não é um lugar para começar para pessoas que desejam aprender Ruby.
Para os tutoriais sobre Ruby, eu sugeriria o Guia (comovente) de Ruby do Why como um excelente ponto de partida para qualquer pessoa interessada no idioma.
Se você quiser entrar em mais detalhes, eu recomendaria o livro Programming Ruby , que se tornou o padrão para tudo o que Ruby. A terceira edição está atualmente sendo escrita, destacando os recursos do Ruby 1.9, então eu esperaria um pouco se alguém estivesse pensando em comprar este livro.
fonte
Para o J2EE, você tem um tutorial muito abrangente em: http://java.sun.com/javaee/5/docs/tutorial/doc/
fonte
Para Java, eu altamente recomendo Núcleo Java . É um tomo grande (ou dois tomos grandes), mas eu achei uma das melhores referências em Java que eu já li.
fonte
Eu sei que este é um post cruzado daqui ... mas, acho que um dos melhores livros sobre Java é o Java Concurrency in Practice, de Brian Goetz. Um livro bastante avançado - mas ele se desgastará bem no seu código simultâneo e no desenvolvimento de Java em geral.
fonte
O padrão padrão para aprender Grails é o excelente Introdução a Grails, de Jason Rudolph. Você pode discutir se é um tutorial on-line ou um livro, pois pode ser comprado, mas está disponível para download gratuito. Há mais livros "reais" sendo publicados e eu recomendo Beginning Groovy and Grails.
fonte
C #
C # para o ponto por Hanspeter Mössenböck. Em apenas 200 páginas, ele explica o C # com profundidade surpreendente, concentrando-se em conceitos subjacentes e exemplos concisos, em vez de agitar à mão e capturas de tela do Visual Studio.
Para obter informações adicionais sobre recursos de idiomas específicos, consulte a especificação de idioma C # ECMA-334 .
O Framework Design Guidelines , um livro de Krzysztof Cwalina e Brad Abrams da Microsoft, fornece mais informações sobre as principais decisões de design por trás da biblioteca .NET.
fonte