Préface▲
Pensez en Java est une introduction à l'informatique et à la programmation destinée aux lecteurs ayant peu ou pas d'expérience. Nous commençons par les concepts les plus élémentaires et prenons soin de définir tous les termes lorsqu’ils sont utilisés pour la première fois. Le livre présente chaque nouvelle idée dans une progression logique. Les sujets plus larges, tels que la récursivité et la programmation orientée objet, sont divisés en plus petits exemples et introduits sur plusieurs chapitres.
Ce livre est intentionnellement concis. Chaque chapitre couvre le matériel d’une semaine de cours en université. Il ne s'agit pas d'une présentation complète de Java, mais d'une première introduction à des concepts et techniques de programmation. Nous commençons par de petits problèmes et des algorithmes de base et travaillons en direction de la conception orientée objet. Dans le vocabulaire de la pédagogie informatique, ce livre utilise l'approche « étude tardive des objets ».
La philosophie derrière le livre▲
Voici les principes directeurs de ce livre :
- un concept à la fois. Nous décomposons les sujets qui perturbent les débutants en une série de petites étapes, leur permettant d’appliquer chaque nouveau concept séparément avant de continuer ;
- équilibre entre Java et concepts. Le livre ne concerne pas principalement Java ; il utilise des exemples de code pour illustrer la science informatique. La plupart des chapitres commencent par les fonctionnalités du langage et se terminent par des concepts ;
- concision. Un objectif important du livre est d'être suffisamment petit pour que les étudiants puissent lire et comprendre le texte en entier dans un cours universitaire d'un semestre ;
- accent mis sur le vocabulaire. Nous essayons d'introduire un minimum de termes et de les définir avec soin lors de leur première utilisation. Nous les récapitulons également dans des glossaires à la fin de chaque chapitre ;
- développement de programme. Il existe de nombreuses stratégies pour écrire des programmes, notamment ascendantes, descendantes et autres. Nous montrons plusieurs techniques de développement de programmes, permettant aux lecteurs de choisir les méthodes qui leur conviennent le mieux ;
- plusieurs courbes d'apprentissage. Pour écrire un programme, vous devez comprendre l'algorithme, connaître le langage de programmation et pouvoir déboguer les erreurs. Nous abordons ces aspects, ainsi que d’autres, tout au long du livre, et incluons une annexe résumant nos conseils.
Annexes▲
Les chapitres de ce livre sont destinés à être lus dans l'ordre, car chacun s'appuie sur le précédent. Nous incluons également trois annexes avec du matériel qui peut être lu à tout moment.
Annexe 1 : outils de développement
Les étapes de compilation, d’exécution et de débogage du code Java dépendent des détails de l’environnement de développement et du système d’exploitation. Nous avons évité de mettre ces détails dans le texte principal, car ils peuvent être gênants. Au lieu de cela, nous fournissons à cette annexe une brève introduction à DrJava - un environnement de développement interactif (EDI) utile pour les débutants – et à d’autres outils de développement, notamment Checkstyle pour la qualité du code et JUnit pour les tests.
Annexe 2 : graphiques Java 2D
Java fournit des bibliothèques permettant de travailler avec des graphiques et des animations. Ces rubriques peuvent intéresser les étudiants. Les bibliothèques requièrent des fonctionnalités orientées objet que les lecteurs ne comprendront pas complètement avant le Chapitre 11, mais qui peuvent être utilisées beaucoup plus tôt.
Annexe 3 : débogage
Nous fournissons des suggestions de débogage tout au long du livre, mais nous rassemblons également nos conseils de débogage dans une annexe. Nous recommandons aux lecteurs de relire cette annexe plusieurs fois au cours de la lecture du livre.
Utilisation des exemples de code▲
La plupart des exemples de code de ce cours sont disponibles dans un dépôt Git à l'adresse https://github.com/AllenDowney/ThinkJavaCode. Git est un « système de contrôle de version » qui vous permet de garder la trace des fichiers qui composent un projet. Une collection de fichiers sous le contrôle de Git est appelée un « dépôt ».
GitHub est un service d'hébergement qui fournit un stockage pour les dépôts Git et une interface web pratique. Il offre plusieurs façons de travailler avec le code :
- vous pouvez créer une copie du dépôt sur GitHub en appuyant sur le bouton Fork. Si vous n'avez pas encore de compte GitHub, vous devez en créer un. Après la bifurcation, vous disposerez de votre propre dépôt sur GitHub, que vous pourrez utiliser pour suivre le code que vous écrivez. Vous pouvez ensuite « cloner » le dépôt, ce qui télécharge une copie des fichiers sur votre ordinateur ;
- vous pouvez également cloner le référentiel sans forker. Si vous choisissez cette option, vous n'avez pas besoin d'un compte GitHub, mais vous ne pourrez pas enregistrer vos modifications sur GitHub ;
- si vous ne voulez pas du tout utiliser Git, vous pouvez télécharger le code dans une archive ZIP en utilisant le bouton « Télécharger ZIP » sur la page GitHub, ou ce lien : http://tinyurl.com/ThinkJavaCodeZip.
Après avoir cloné le dépôt ou décompressé le fichier ZIP, vous devriez avoir un répertoire appelé ThinkJavaCode avec un sous-répertoire pour chaque chapitre du livre.
Tous les exemples de ce livre ont été développés et testés avec le kit de développement Java SE 8. Si vous utilisez une version plus récente, les exemples de ce livre devraient continuer à fonctionner. Si vous utilisez une version plus ancienne, il se peut que certains d'entre eux ne fonctionnent pas.