Livres de langues / Tutoriels pour les langues populaires

249

Il n'y a pas si longtemps, j'étais un codeur débutant, essayant de trouver de bons livres / tutoriels sur les langues que je voulais apprendre. Même encore, il y a des moments où j'ai besoin de choisir une langue assez rapidement pour un nouveau projet sur lequel je travaille. Le but de cet article est de documenter certains des meilleurs tutoriels et livres pour ces langues. Je vais commencer la liste avec le meilleur que je puisse trouver, mais j'espère que vous pourrez m'aider avec de meilleures suggestions / nouvelles langues. Voici ce que j'ai trouvé:

Puisque c'est maintenant modifiable par wiki, je donne le contrôle à la communauté. Si vous avez une suggestion, veuillez la mettre dans cette section. J'ai décidé d'ajouter également une section pour être un meilleur programmeur et des références en ligne. Encore une fois, toutes les recommandations sont les bienvenues.

Programmation générale

Tutoriels en ligne
Fondements de la programmation Par Karl Seguin - De Codebetter, son C #, mais les idées sonnent vrai dans tous les domaines, je ne peux pas croire que personne n'ait encore posté cela en fait.
Comment écrire du code incontrôlable - Un anti manuel qui vous apprend à écrire du code de la manière la plus incontrôlable possible. Ce serait drôle si beaucoup de ces suggestions ne sonnaient pas si vrai.
La section de programmation de Wiki Books - suggérée par Jim Robert comme ayant une grande quantité de livres / tutoriels sur plusieurs langues à différents stades de réalisation
Juste les bases Pour avoir une idée d'une langue.

Books
Code Complete - Ce livre va sans dire, il est vraiment brillant à bien des égards.
Le programmeur pragmatique - La prochaine meilleure chose à travailler avec un codeur maître, vous apprenant tout ce qu'ils savent.
Maîtriser les expressions régulières - Les expressions régulières sont un outil essentiel dans la boîte à outils de chaque programmeur. Ce livre, recommandé par Patrick Lozzi, est un excellent moyen d'apprendre de quoi ils sont capables.
Algorithmes en C , C ++ et Java - Un excellent moyen d'apprendre tous les algorithmes classiques si vous trouvez les livres de Knuth un peu trop détaillés.

C

Tutoriels en ligne
Ce tutoriel semble assez compliqué et approfondi, a examiné le matériel et semble assez bon. Je ne sais pas à quel point ce serait convivial pour les nouveaux programmeurs.
Livres
K&R C - un classique à coup sûr. On pourrait faire valoir que tous les programmeurs devraient le lire.
C Primer Plus - suggéré par Imran comme étant le livre C ultime pour les programmeurs débutants.
C: Un manuel de référence - Une excellente référence recommandée par Patrick Lozzi.

C ++

Tutoriels en ligne
Le tutoriel sur cplusplus.com semble être le plus complet. J'ai trouvé un autre tutoriel ici mais il n'inclut pas de sujets comme le polymorphisme, qui je pense est essentiel. Si vous venez de C, ce tutoriel pourrait être le meilleur pour vous.

Un autre tutoriel utile, Annotation C ++ . Dans la famille Ubuntu, vous pouvez obtenir l'ebook sur plusieurs formats (pdf, txt, Postscript et LaTex) en installant le c++-annotationpackage depuis Synaptic (le package installé se trouve dans /usr/share/doc/c++-annotation/.

Livres
Le langage de programmation C ++ - crucial pour tout programmeur C ++.
C ++ Primer Plus - Initialement ajouté en tant que faute de frappe, mais les critiques d'Amazon sont si bonnes que je vais le garder ici jusqu'à ce que quelqu'un dise que c'est un raté.
C ++ efficace - Façons d'améliorer vos programmes C ++.
C ++ plus efficace - Poursuite du C ++ efficace.
STL efficace - Façons d'améliorer votre utilisation de la STL.
Penser en C ++ - Grand livre, les deux volumes. Écrit par Bruce Eckel et Chuck Ellison.
Programmation: principes et pratique en utilisant C ++ - Introduction de Stroustrup à C ++.
C ++ accéléré - Andy Koenig et Barbara Moo - Une excellente introduction au C ++ qui ne traite pas le C ++ comme "C avec des bits supplémentaires boulonnés", en fait vous plongez directement et commencez à utiliser STL très tôt.

Forth

Livres
FORTH, un texte et une référence. Mahlon G. Kelly et Nicholas Spies. ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986 Prentice-Hall. Les livres de Leo Brodie sont bons mais ce livre est encore meilleur. Par exemple, il couvre la définition des mots et l'interprète en profondeur.

Java

Tutoriels en ligne Tutoriels
Java de Sun - Un tutoriel officiel qui semble approfondi, mais je ne suis pas un expert en Java. Vous en connaissez de meilleurs?
Livres
Head First Java - Recommandé comme un excellent texte d'introduction par Patrick Lozzi.
Java efficace - Recommandé par pek comme un excellent texte intermédiaire.
Core Java Volume 1 et Core Java Volume 2 - Suggérées par FreeMemory comme certaines des meilleures références java disponibles.
Java Concurrence en pratique - Recommandé par MDC comme une excellente ressource pour la programmation simultanée en Java.

Le langage de programmation Java

Python

Tutoriels en ligne
Python.org - La documentation en ligne pour cette langue est assez bonne. Si vous en savez mieux, faites le moi savoir.
Plongez dans Python - Suggéré par Nickola. Semble être un livre python en ligne.

Perl

Tutoriels en ligne
perldoc perl - C'est comme ça que j'ai personnellement commencé avec la langue, et je ne pense pas que vous pourrez la battre.
Livres
Learning Perl - une excellente façon de vous présenter la langue.
Programmation Perl - très connue sous le nom de Perl Bible. Référence essentielle pour tout programmeur Perl sérieux.
Perl Cookbook - Un excellent livre qui a des solutions à de nombreux problèmes courants.
Modern Perl Programming - nouvellement publié, contient les dernières connaissances sur les techniques et outils modernes, y compris Moose et DBIx :: Class.

Rubis

Tutoriels en ligne
Adam Mika a suggéré le guide (poignant) de Why sur Ruby, mais après y avoir jeté un œil, je ne sais pas si c'est pour tout le monde. Trouvé ce site qui semble offrir plusieurs tutoriels pour Ruby on Rails.
Livres
Programmation Ruby - suggéré comme une excellente référence pour tout ce qui concerne ruby.

Visual Basic

Tutoriels en ligne
Trouvé ce site qui semble se consacrer aux tutoriels visuels de base. Je ne sais pas à quel point ils sont bons.

PHP

Tutoriels en ligne
Le site PHP principal - Un tutoriel simple qui permet aux utilisateurs de commenter chaque page, ce que j'aime beaucoup. Tutoriels PHPFreaks - Divers tutoriels de différentes longueurs de difficulté.
Tutoriels Quakenet / PHP - Tutoriel PHP qui vous guidera de fond en comble .

Javascript

Tutoriels en ligne Vous trouverez ici
un tutoriel décent destiné aux non-programmeurs. J'en ai trouvé un autre plus avancé ici . Nickolay a suggéré une réintroduction au javascript comme une bonne lecture ici.

Books
Head first JavaScript
JavaScript: The Good Parts (avec une vidéo Google Tech Talk de l'auteur)

C #

Tutoriels en ligne Tutoriel
C # Station - Semble être un tutoriel décent que j'ai déterré, mais je ne suis pas un gars C #.
Spécification du langage C # - Suggérée par tamberg. Pas vraiment un tutoriel, mais une grande référence sur tous les éléments de C #
Books
C # au point - suggéré par tamberg comme un court texte qui explique le langage d'une profondeur incroyable

ocaml

Livres
nlucaroni a suggéré ce qui suit:
OCaml pour les scientifiques Introduction à ocaml en
utilisant Comprendre et démêler ocaml: pratique en théorie et vice versa
Développer des applications en utilisant Ocaml - O'Reilly
The Objective Caml System - Official Manua

Haskell

Tutoriels en ligne
nlucaroni a suggéré ce qui suit:
Explorez la programmation fonctionnelle avec Haskell
Books
Real World Haskell
Total Functional Programming

LISP / Scheme

Books
wfarr a suggéré ce qui suit:
The Little Schemer - Introduction au schéma et à la programmation fonctionnelle en général
The Seasoned Schemer - Suivi de Little Schemer.
Structure et interprétation des programmes informatiques - Le livre définitif sur Lisp (également disponible en ligne ).
Practical Common Lisp - Une bonne introduction à Lisp avec plusieurs exemples d'utilisation pratique.
Sur Lisp - Rubriques avancées en Lisp
Comment concevoir des programmes - Une introduction aux
paradigmes de programmation et de programmation de l'intelligence artificielle: études de cas en Common Lisp - une approche de la programmation Lisp de haute qualité

Et vous? Suis-je totalement hors de certains d'entre eux? Ai-je omis votre langue préférée? Je vais prendre les meilleurs commentaires et modifier la question avec les suggestions.

Craig H
la source

Réponses:

33

Je sais que cela va sembler démodé, mais je ne pense pas beaucoup à utiliser des tutoriels en ligne pour apprendre des langages de programmation ou des plates-formes. Ceux-ci ne vous donnent généralement qu'un petit avant-goût de la langue. Pour vraiment apprendre une langue, vous avez besoin de l'équivalent d'un "livre", et dans de nombreux cas, cela signifie un vrai livre d'arbre mort.

Si vous voulez apprendre le C, lisez K&R. Si vous voulez apprendre le C ++, lisez Stroustrup. Si vous voulez apprendre Lisp / Scheme, lisez SICP. Etc.

Si vous n'êtes pas prêt à dépenser plus de 30 $ et quelques heures pour apprendre une langue, vous n'allez probablement pas l'apprendre.

Kristopher Johnson
la source
Je suis d'accord que si vous voulez vraiment apprendre une langue en profondeur, un livre est généralement le chemin à parcourir. Cependant, je pense que le livre de Stroustrup est assez pauvre d'un point de vue pédagogique. Je voudrais adresser la même critique (encore plus catégoriquement) au livre du GoF.
Dónal
Je n'aime pas vraiment le livre de Stroustrup, ma préférence va à Thinking in C ++ de Bruce Eckel. Et je préfère les ebooks, car je peux Ctrl + F. Cela m'a sauvé la vie quand j'ai suivi le cours sur les algorithmes I (avec le livre Introduction to Algorithms)
Tian Bo
9
Je n'ai rien contre les livres électroniques. Le fait est qu'il doit s'agir d'un véritable "livre", écrit par un expert et révisé par des experts, et non d'un didacticiel gratuit de 5 000 mots que vous avez trouvé quelque part sur le Web, écrit par quelqu'un qui ne sait pas grand-chose de plus que vous. faire.
Kristopher Johnson
20

Ce sont tous très bien, écrits par des universitaires et (certains) sont des livres (un livre oreilly non publié - traduit du français, mais aucun problème que j'ai trouvé), par exemple). J'avais * mes préférés qui m'ont le plus aidé.

ocaml:

  1. * Introduction à ocaml
  2. Utiliser Comprendre et démêler ocaml: pratiquez la théorie et vice versa
  3. * Développement d'applications à l'aide d'Ocaml - O'Reilly
  4. Le système Objective Caml - Manuel officiel
  5. Une introduction concise à Objective Caml
  6. Ocaml pratique

Haskell:

  1. Explorez la programmation fonctionnelle avec Haskell
  2. * Haskell du monde réel
  3. * Programmation fonctionnelle totale
nlucaroni
la source
8

Pour C ++, je suggère Accelerated C ++ par Koenig et Moo comme texte de départ, bien que je ne sache pas comment ce serait pour un novice absolu. Il met l' accent sur l' utilisation de la STL tout de suite, ce qui rend les choses se beaucoup plus facile.

Mark Krenitsky
la source
Mais je pense que C ++ accéléré n'est pas pour les débutants complets, je pense que C ++ Primer Plus (5e édition) est pour les débutants complets.
Ibn Saeed
7

Haskell :

Livre O'Reilly:

  1. Real World Haskell , un excellent livre orienté tutoriel sur Haskell, disponible en ligne et en version imprimée.

Mes tutoriels en ligne généraux et moins académiques préférés:

  1. Le wikibook Haskell qui contient l'excellent tutoriel Haskell. (Ce tutoriel vous aide avec des détails sur la configuration d'une distribution Haskell et l'exécution d'exemples de programmes, par exemple.)
  2. Apprenez-vous un Haskell pour le plus grand bien , dans l'esprit du Why's Poignant Guide to Ruby, mais plus précisément.
  3. Écrivez-vous un programme en 48 heures . Mettez la main à la pâte en apprenant Haskell avec un vrai projet.

Livres sur la programmation fonctionnelle avec Haskell:

  1. Calcul lambda, combinateurs, plus théorique, mais d'une manière très terre à terre: introduction de Davie aux systèmes de programmation fonctionnelle utilisant Haskell
  2. La paresse et l'exactitude du programme, la pensée fonctionnelle: Introduction de Bird à la programmation fonctionnelle à l'aide de Haskell
Jared Updike
la source
5

Un Java efficace est un must mais je recommande d'être à l'aise avec Java d'abord pour bien comprendre les exemples.

pek
la source
4

J'ajouterais les livres de programmation de Bruce Eckel:

En général, sa page "Livres" ( http://mindview.net/Books/ ) est une bonne ressource. Les livres disponibles gratuitement sont également disponibles sur http://www.ibiblio.org/pub/docs/books/eckel/

JJarava
la source
4

Je ne peux pas croire que personne n'ait mentionné les meilleures pratiques Perl . Il existe également un flux Twitter qui fournit un PBP par jour.

J'ai appris Perl grâce au didacticiel Perl de Robert , que je recommande, mais il n'a pas été mis à jour depuis 1999. Un didacticiel recommandé plus récent est le didacticiel Perl de Steve .

Pour le développement Web avec Perl, le gagnant est clairement Catalyst et le wiki Catalyst est le point de départ de l'apprentissage.

Dan Dascalescu
la source
3

Pour Lisp et Scheme (l'enfer, la programmation fonctionnelle en général), il y a peu de choses qui fournissent une base plus solide que The Little Schemer et The Seasoned Schemer . Les deux fournissent une introduction très simple et intuitive à la fois au programme et à la programmation fonctionnelle qui se révèle beaucoup plus simple pour les nouveaux étudiants ou les amateurs que n'importe quel volume typique qui déteint comme une interprétation non fictionnelle de War & Peace .

Une fois qu'ils ont dépassé la série Schemer, SICP et On Lisp sont tous deux des choix fantastiques.

wfarr
la source
3

consultez la section programmation des wikibooks

Beaucoup d'entre eux sont entièrement formés, et bon nombre d'entre eux ont des sections plus avancées (qui sont dans des états d'achèvement variables) sur des fonctionnalités spécifiques.

aussi, les écoles w3 ont un grand tutoriel php et une section de référence

leurs sections html et css sont également utiles pour référence.

Jiaaro
la source
3

C ++

Le premier est bon pour les débutants et le second nécessite un niveau plus avancé en C ++.

Serge
la source
3
  • C - Le langage de programmation C - Évidemment, je devais faire référence à K&R, l'un des meilleurs livres de programmation là-bas.
  • C ++ - Accelerated C ++ - Cette introduction claire et bien écrite de C ++ va directement à l'utilisation de la STL et donne de bons exemples clairs et pratiques. À la hauteur de son nom.
  • C # - Pro C # 2008 et la plate - forme .NET 3.5 - Une profondeur bouchée mais merveilleusement écrite et énorme.
  • F # - Expert F # - Conçu pour faire passer les programmeurs expérimentés de zéro à expert en F #. Très bien écrit, l'un des F # inventé par l'auteur, vous ne pouvez donc pas vous tromper!
  • Scheme - The Little Schemer - Approche vraiment unique de l'enseignement d'un langage de programmation très bien fait.
  • Ruby - Programmation Ruby - Affectueusement surnommé le livre «pick ax», c'est LA présentation de facto de Ruby. Très bien écrit, clair et détaillé.
ljs
la source
3

Pour Javascript:

Pour PHP:

Pour la conception et la programmation OO, les modèles:

Pour la refactorisation:

Pour SQL / MySQL:

Ced-le-pingouin
la source
2

C Primer Plus, 5th Edition - Le livre C à obtenir si vous apprenez le C sans aucune expérience de programmation préalable. C'est un de mes favoris personnels car j'ai appris à programmer à partir de ce livre. Il possède toutes les qualités qu'un livre convivial pour débutant devrait avoir:

  • N'assume aucune exposition préalable à la programmation
  • Agréable à lire (sans devenir gênant comme pour les nuls /
  • Ne simplifie pas trop
Imran
la source
2

N'oublions pas Head First Java , qui pourrait être considéré comme la première étape essentielle dans ce langage ou peut-être l'étape après les tutoriels en ligne de Sun. C'est génial dans le but de saisir la langue de manière concise, tout en ajoutant un peu de plaisir, en servant de tremplin pour les livres plus approfondis déjà mentionnés.

Sedgewick propose d'excellentes séries sur les algorithmes qui sont indispensables si vous trouvez les livres de Knuth trop approfondis. Mis à part Knuth, Sedgewick apporte une solide approche du domaine et propose ses livres en C , C ++ et Java . Les livres C ++ pourraient être utilisés à l'envers sur C car il ne fait pas une très grande distinction entre les deux langages dans sa présentation.

Chaque fois que je travaille sur C, C: Un manuel de référence, par Harbison et Steele , m'accompagne partout. Il est concis et efficace tout en étant extrêmement approfondi, ce qui le rend inestimable (pour moi en tout cas).

Les langues mises à part, et si ce fil doit devenir une référence pour les références dans lesquelles je pense qu'il se dirige dans cette direction en raison du nombre de contributions solides, veuillez inclure la maîtrise des expressions régulières , pour des raisons dont je pense que la plupart d'entre nous sont conscients .. Certains diraient également que l'expression régulière peut être considérée comme une langue à part entière. De plus, son utilité dans un large éventail de langues le rend inestimable.

Patrick Loz
la source
2

Pour l'objectif C:

Programmation Cocoa pour Mac OSX - Troisième édition Aaron Hillegass Publié par Addison Wesley

Programmation en objectif C, Stephen G Kochan,

stevechol
la source
2

Head First Javascript est une bonne introduction à JS pour les programmeurs débutants - il explique de manière créative les concepts de programmation de base en utilisant la syntaxe JS. La série Head First est basée sur des techniques de recherche pour vous aider à apprendre et à mémoriser de nouvelles informations. Ils vous font faire beaucoup d'exercices et d'énigmes qui peuvent sembler mineurs, mais qui aident vraiment à cimenter les connaissances dans votre cerveau.

Un exercice que j'ai vraiment aimé était après avoir expliqué les types de données, ils montrent une image d'une rue de la ville et disent "étiqueter tous les types de données que vous pouvez trouver sur cette image." Ainsi, le clignotant sur une voiture est un booléen, le signe sur le magasin est une chaîne et l'adresse est un nombre. Cela m'a aidé à avoir une idée de la façon de traduire des informations réelles dans un programme.

En me basant uniquement sur ce livre, je dirais que la série Head First est un excellent moyen d'apprendre quelque chose la première fois , mais le format narratif dont ils disposent les rendrait difficiles à utiliser comme références.

Nathan Long
la source
2

Compte tenu des développements récents, je pense qu'il est important d'inclure la récente explosion d'offres de cours en ligne gratuits des universités et des entreprises privées. Le nouveau boston est un site de tutoriel que j'ai toujours utilisé pour de nombreuses langues depuis des années, excellent point pour les débutants.

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/

capricieux
la source
1

J'appuie la recommandation de Kristopher de K&R pour C.

J'ai trouvé le livre "Essential Actionscript 2.0" très utile pour le codage AS (il y a une version AS3 maintenant, je crois).

J'ai trouvé qu'avoir de vrais livres à feuilleter est plus utile qu'une référence en ligne dans certains cas. Je ne sais pas vraiment pourquoi.

Herms
la source
1

hmm, je ne sais pas si je dirais que les documents en ligne sont inutiles, mais je suis d'accord qu'il y a quelque chose à propos des livres. Peut-être qu'ils sont mieux écrits, ou c'est peut-être l'acte de bifurquer plus de 50 $ qui vous rend plus enclin à étudier le matériel.

Quoi qu'il en soit, je suis d'accord que les livres devraient faire partie de cette question. Si quelqu'un a des suggestions de livres pour les langues, je modifierai l'article avec les meilleures suggestions.

Craig H
la source
1

La référence que vous avez répertoriée pour Ruby est pour Ruby on Rails. Bien que toujours rubis au fond, ce n'est certainement pas un point de départ pour les personnes qui souhaitent apprendre le rubis.

Pour les tutoriels Ruby, je suggérerais le guide (poignant) de Why sur Ruby comme un excellent point de départ pour toute personne intéressée par la langue.

Si vous souhaitez entrer dans les détails, je recommanderais le livre Programming Ruby , qui est devenu la norme pour tout ce qui concerne Ruby. La troisième édition est en cours d'écriture, mettant en évidence les fonctionnalités de Ruby 1.9, donc je tiendrais un moment si quelqu'un envisage d'acheter ce livre.

Adam Mika
la source
Pourquoi le livre est bon, mais les petites histoires sont bien trop de conneries. Ils m'ont énervé sans m'aider.
Rayne
1

Pour Java, je recommande fortement Core Java . C'est un grand tome (ou deux grands tomes), mais je l'ai trouvé comme l'une des meilleures références sur Java que j'ai lues.

Mémoire libre
la source
1

Je sais que c'est une publication croisée d' ici ... mais, je pense que l'un des meilleurs livres Java est Java Concurrency in Practice de Brian Goetz. Un livre assez avancé - mais, il portera bien sur votre code concurrent et le développement Java en général.

Matt Cummings
la source
1

Le standard de facto pour l'apprentissage des Grails est l'excellent Getting Started with Grails de Jason Rudolph. Vous pouvez débattre s'il s'agit d'un tutoriel en ligne ou d'un livre car il peut être acheté mais est disponible en téléchargement gratuit. Il y a plus de "vrais" livres en cours de publication et je recommande Beginning Groovy and Grails.

EDT
la source
1

C #

C # to the Point par Hanspeter Mössenböck. Sur seulement 200 pages, il explique C # avec une profondeur étonnante, en se concentrant sur les concepts sous-jacents et les exemples concis plutôt que sur les captures d'écran et Visual Studio.

Pour plus d'informations sur les fonctionnalités spécifiques au langage, consultez la spécification du langage C # ECMA-334 .

Framework Design Guidelines , un livre de Krzysztof Cwalina et Brad Abrams de Microsoft, fournit des informations supplémentaires sur les principales décisions de conception derrière la bibliothèque .NET.

tamberg
la source