Rejoindre le discord NaN
Bonjour à tous.
Tout développeur le sait : il est parfois difficile d'avancer dans ses lectures lorsqu'on cherche à apprendre de nouvelles notions. Il peut être également difficile de bien choisir la ressource qui traite de ces notions. De plus, nous n'avons, pendant la lecture, que notre point de vue et celui de l'auteur (ou du moins ce que l'on en comprend) pour juger de la pertinence des informations qu'on lit.
C'est pourquoi des membres de la communauté Nan proposent de se réunir à intervalles réguliers pour discuter d'un livre, sur le discord Groupe #NaN dans les canaux "Club de lecture" et "Vocal".
Les objectifs sont les suivants :
- avoir un groupe pour se motiver mutuellement à avancer dans la lecture ;
- avoir des points de vue différents, d'autres habitudes, d'autres langages ;
- produire des commentaires pertinents à propos de diverses ressources.
Pour rester ouvert à un maximum de personnes différentes (autant d'un point de vue du langage que du niveau), le livre choisi devra :
- parler d'un thème de l'informatique au sens large (y compris conception, gestion de projet, etc), indépendant d'un langage (même si l'illustration par un langage particulier convient) ;
- posséder un intérêt pour des développeurs de tout niveau (le but est d'avoir matière à débattre y compris pour des débutants, pas de faire du question-réponse) ;
- être dispo quelque part en PDF.
Le livre est choisi par tout ceux qui le souhaitent, en deux temps :
- on propose des livres qui semblent intéressant à lire ;
- on discute et on vote pour choisir le livre.
Le club de lecture se réunit un mercredi toutes les 2 semaines, de 20h à 21h30, sur le discord. Vous pouvez simplement être présent pour écouter les conversations, ou intervenir à l'écrit sur le canal Club de lecture ou à l'oral sur le vocal.
Chaque séance aborde un chapitre du livre. Au début de la séance, un volontaire fait un résumé du chapitre pendant 15 à 20 minutes, puis nous discutons de ce chapitre. En fin de séance, les notes prises sont publiées sur le GitHub.
Le premier livre choisi était "Coder proprement", de Robert C. Martin.
Résumé complet du livre et commentaire global
Voici les résumés des chapitres et des discussions :
- Chapitre 1 - Code propre. Séance du 16 octobre 2017.
- Chapitre 2 - Noms significatifs. Séance du 30 octobre 2017.
- Chapitre 3 - Fonctions. Séance du 6 novembre 2017.
- Chapitre 4 - Commentaires. Séance du 13 novembre 2017.
- Chapitre 5 - Mise en forme. Séance du 28 novembre 2017.
- Chapitres 6 et 7 - Objets et structures de données et Gestion des erreurs. Séance du 4 décembre 2017.
- Chapitres 8 et 9 - Limites et Tests unitaires. Séance du 8 janvier 2018.
- Chapitre 10 - Les classes. Séance du 15 janvier 2018.
- Chapitre 11 - Systèmes. Séance du 22 janvier 2018.
- Chapitre 13 - Concurrence. Séance du 29 janvier 2018.
- Annexe A - Concurrence. Séance du 5 février 2018.
Le livre actuellement en cours de lecture est "Introduction to Algorithms" de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest et Clifford Stein.
- Chapitre 1 - The Role of Algorithms in Computing. Séance du 26 février 2018.
- Chapitre 2 - Getting Started. Séance du 5 mars 2018.
- Chapitre 3 - Growth of Functions. Séance du 12 mars 2018.
- Chapitre 4 - Divide-and-Conquer. Séance du 19 mars 2018.
- Chapitre 5 - Probabilistic Analysis and Randomized Algorithms. Séance du 9 avril 2018.
- Chapitre 6 - Heapsort. Séance du 16 avril 2018.
- Chapitre 7 - Quicksort. Séance du 23 avril 2018.
- Chapitre 8 - Sorting in Linear Time. Séance du 30 avril 2018.
- Chapitre 9 - Medians and Order Statistics.
- Chapitre 10 - Structures de données élémentaires.
- Chapitre 1 - Fundamentals of Quantitative Design and Analysis. Séance prévue le 29 juillet 2020.
- Chapitre 2 - Memory Hierarchy Design
- Chapitre 3 - Instruction-Level Parallelism and Its Exploitation
- Chapitre 4 - Data-Level Parallelism in Vector, SIMD, and GPU Architectures
- Chapitre 5 - Thread-Level Parallelism
- Chapitre 6 - Warehouse-Scale Computers to Exploit Request-Level and Data-Level Parallelism
- Chapitre 7 - Domain-Specific Architectures
- Annexe A - Instruction Set Principles
- Annexe B - Review of Memory Hierarchy
- Annexe C - Pipelining: Basic and Intermediate Concepts
Annexes hors version papier
- Annexe D - Storage Systems
- Annexe E - Embedded Systems
- Annexe F - Interconnection Networks
- Annexe G - Vector Processors in More Depth
- Annexe H - Hardware and Software for VLIW and EPIC
- Annexe I - Large-Scale Multiprocessors and Scientific Applications
- Annexe J - Computer Arithmetic
- Annexe K - Survey of Instruction Set Architectures
- Annexe L - Advanced Concepts on Address Translation
- Annexe M - Historical Perspectives and References