Livros / Tutoriais de idiomas para idiomas populares

249

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++-annotationpacote 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.

Craig H
fonte

Respostas:

33

Sei que isso parecerá antiquado, mas não penso muito em usar tutoriais online para aprender linguagens ou plataformas de programação. Geralmente, eles não dão mais do que um gostinho do idioma. Para realmente aprender um idioma, você precisa do equivalente a um "livro" e, em muitos casos, isso significa um verdadeiro livro de árvores mortas.

Se você quer aprender C, leia K&R. Se você deseja aprender C ++, leia Stroustrup. Se você quiser aprender Lisp / Scheme, leia SICP. Etc.

Se você não estiver disposto a gastar mais de US $ 30 e algumas horas para aprender um idioma, provavelmente não o aprenderá.

Kristopher Johnson
fonte
Concordo que, se você realmente quer aprender um idioma profundamente, um livro é geralmente o caminho a percorrer. No entanto, acho que o livro de Stroustrup é bastante pobre do ponto de vista pedagógico. Eu nivelaria a mesma crítica (ainda mais enfaticamente) no livro do GoF.
Donal
Eu realmente não gosto do livro de Stroustrup, minha preferência vai para Thinking in C ++, de Bruce Eckel. E eu prefiro ebooks, porque eu posso Ctrl + F. Ele salvou minha vida quando eu fiz Algoritmos I classe (com o livro Introdução aos Algoritmos)
Tian Bo
9
Não tenho nada contra e-books. O ponto é que ele precisa ser um "livro" real, escrito por um especialista e revisado por especialistas, e não um tutorial gratuito de 5.000 palavras que você encontrou na Web em algum lugar, escrito por alguém que não sabe muito mais do que você Faz.
21420 Kristopher Johnson
20

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:

  1. * Introdução ao ocaml
  2. Usando Compreender e desvendar o ocaml: praticar a teoria e vice-versa
  3. * Desenvolvendo aplicativos usando Ocaml - O'Reilly
  4. O Sistema Objetivo Caml - Manual Oficial
  5. Uma introdução concisa ao objetivo Caml
  6. Ocaml prático

Haskell:

  1. Explore a programação funcional com Haskell
  2. * Mundo Real Haskell
  3. * Programação Funcional Total
nlucaroni
fonte
8

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.

Mark Krenitsky
fonte
Mas acho que o C ++ acelerado não é para iniciantes completos, acho que o C ++ Primer Plus (5ª edição) é para iniciantes completos.
Ibn Saeed
7

Haskell :

Livro de O'Reilly:

  1. Mundo Real Haskell , um ótimo livro orientado a tutoriais sobre Haskell, disponível on - line e impresso.

Meus tutoriais on-line gerais favoritos, menos acadêmicos:

  1. O wikibook de Haskell, que contém todo o excelente tutorial de Another Another Haskell. (Este tutorial ajuda com detalhes específicos da configuração de uma distribuição Haskell e da execução de programas de exemplo, por exemplo.)
  2. Aprenda um Haskell para o Bem , no espírito do Why's Poignant Guide to Ruby, mas mais direto ao ponto.
  3. Escreva para si mesmo um esquema em 48 horas . Deixe suas mãos sujas aprendendo Haskell com um projeto real.

Livros sobre Programação Funcional com Haskell:

  1. Cálculo lambda, combinadores, mais teóricos, mas de maneira muito prática : Introdução de Davie aos sistemas de programação funcional usando Haskell
  2. Preguiça e correção do programa, pensando funcionalmente: Introdução de Bird à Programação Funcional Usando Haskell
Jared Updike
fonte
5

Java eficaz é uma obrigação, mas eu recomendo que você se sinta confortável com o Java primeiro para entender completamente os exemplos.

pek
fonte
4

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/

JJarava
fonte
3

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.

wfarr
fonte
3

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.

Jiaaro
fonte
3

C ++

O primeiro é bom para iniciantes e o segundo requer um nível mais avançado em C ++.

Sarja
fonte
3
  • C - A linguagem de programação C - Obviamente eu tive que fazer referência ao K&R, um dos melhores livros de programação por aí.
  • C ++ - C ++ acelerado - Esta introdução clara e bem escrita ao C ++ vai direto ao uso do STL e fornece exemplos práticos e claros. Faz jus ao seu nome.
  • C # - Pro C # 2008 e a plataforma .NET 3.5 - Um pouco de boca cheia, mas maravilhosamente escrito e enorme profundidade.
  • F # - Expert F # - Projetado para levar programadores experientes de zero a especialistas em F #. Muito bem escrito, um dos F # inventados do autor, então você não pode dar muito errado!
  • Scheme - The Little Schemer - Abordagem realmente única para ensinar uma linguagem de programação muito bem.
  • Ruby - Programação Ruby - Carinhosamente conhecido como o livro 'pick ax', esta é a introdução definitiva ao Ruby. Muito bem escrito, claro e detalhado.
ljs
fonte
3

Para Javascript:

Para PHP:

Para projeto e programação de OO, padrões:

Para refatoração:

Para SQL / MySQL:

Ced-le-pingouin
fonte
2

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:

  • Não assume nenhuma exposição prévia à programação
  • Agradável de ler (sem se tornar irritante como For Dummies /
  • Não simplifica demais
Imran
fonte
2

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.

Patrick Loz
fonte
2

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,

stevechol
fonte
2

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.

Nathan Long
fonte
2

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/

shicky
fonte
1

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ê.

Herms
fonte
1

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.

Craig H
fonte
1

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.

Adam Mika
fonte
O livro de Why é bom, mas as pequenas histórias são besteiras demais. Eles me irritaram não me ajudaram.
Rayne
1

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.

Memoria livre
fonte
1

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.

Matt Cummings
fonte
1

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.

Edt
fonte
1

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.

Tamberg
fonte