Sélections de ressources pour le C++, Qt et le développement en général
NB: Certaines ressources peuvent commencer à dater, une partie de leur contenu peut avoir perdu de leur intérêt.
Pour le C++
Pour débuter
- C++ Primer. Livre de base, pédagogique, complet et à jour. Pour commencer.
- Coder efficacement – Bonnes pratiques et erreurs à éviter (en C++). Livre de base, pédagogique, sur la conception.
- Effective Modern C++. Pédagique, montre les problématiques rencontrées dans le C++03 et comment le C++11/14 permet de les résoudre.
- Professional C++. Livre plus avancé, regroupe techniques et bonnes pratiques, orienté utilisation professionnelle (et pragmatique).
- Practical C++ Metaprogramming. Introduction à la méta-programmation. Livre récent et gratuit.
En vrac
- C++ Concurrency in Action
- C++ Templates
- C++ Template Metaprogramming
- Intel Threading Building Blocks
- Modern C++ Design
- The C++ Standard Library: A Tutorial and Reference, mis a jour pour le C++11.
- The Art of Concurrency, pour les algo concurrents
Scott Meyers
Bjarne Stroustrup
- C++ Programming Language, la référence, mise à jour pour le C++11. Cependant, je ne conseille pas forcement l’achat de ce livre. Le bénéfixe par rapport à une site gratuit comme https://en.cppreference.com/w/ est probablement très réduit.
- Programming: Principles and Practice Using C++
- Tour of C++
Herb Sutter
The Addison-Wesley Signature Series
Séries de très livres bons livres sur la conception object, la gestion de projet, la méthode Agile, etc.
Sélection de videos
Les principales chaînes :
Autres chaines :
- A9 Videos
- ACCU conferences
- BoostCon
- LLVM
- NVIDIADeveloper
- Code::Dive
- Android Developers
- Google Developers
- ]Martin Fowler](http://martinfowler.com/videos.html#rest)
## Tutoriels video :
Pour Qt
Je n’ai pas lu les dernières publications sur Qt, donc je ne pourrais pas me prononcer sur la qualité de tous les livres. Pour ceux que j’ai lu :
- C++ GUI Programming with Qt 4. En anglais. Ancien, écrit pour Qt 4, mais reste une référence a mon avis.
- Advanced Qt programming. En anglais. Même chose, ce livre est complémentaire au précédent.
- Créer des applications avec Qt5. En français. Contient beaucoup de QML. (Auto-promo : il s’agit du livre auquel j’ai participé). Il n’est plus imprimé, seule la version en ligne est disponible legalement.
- Qt5 Cadaque : livre gratuit en ligne, en anglais, sur le QML uniquement. Moins complet que le livre précédent (moins de 300 pages), mais plus recent.
- Introduction to Design Patterns in C++ with Qt
Ceux que je n’ai pas lu :
-
[[https://www.amazon.fr/Maîtrisez-Qt-développement-dapplications-professionnelles/dp/2746089211 Maîtrisez Qt 5]] (francais) -
[[https://www.packtpub.com/application-development/qt5-c-gui-programming-cookbook Mastering Qt 5]] (en anglais, mais ecrit par un francais) -
[[https://www.packtpub.com/application-development/qt5-c-gui-programming-cookbook Qt5 C++ GUI Programming Cookbook]] (anglais) -
[[https://www.packtpub.com/game-development/game-programming-using-qt Game Programming Using Qt: Beginner’s Guide]] (anglais) -
[[https://www.packtpub.com/application-development/qt-5-blueprints Qt 5 Blueprints]] (anglais) -
[[https://www.packtpub.com/application-development/application-development-qt-creator-second-edition Application Development with Qt Creator]] (anglais)
Mes anciennes thématiques
Ces ressources concernent des domaines sur lesquels je ne travaille plus. Elles peuvent donc ètre obsolète.
Pour la 3D et OpenGL
- Mathematics for 3D Game Programming and Computer Graphics, le premier à lire, base mathématique pour la 3D avec applications avec OpenGL. Beaucoup de techniques “avancées” pour la 3D (ombres, lumière, rendu, physique, collision, fluides, etc)
- OpenGL Programming Guide, la référence officielle, un peu austère, à jour pour OpenGL 4.5 (9eme édition).
- OpenGL SuperBible, plus agréable à lire que le précédent.
- OpenGL Insight, bien fait et techniques intéressantes (tesselation, debug contexts, WebGL, etc).
- La série des Gpu Pro 1 à 5, pour les techniques avancées de 3D
- La série des GPU Gems tome 1, tome 2 et tome 3, gratuits, complet et en ligne
- Learning Modern 3D Graphics Programming
Pour Vulkan
- https://vulkan-tutorial.com/
- https://github.com/GameTechDev/IntroductionToVulkan
- https://www.khronos.org/vulkan/
- https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-part-1
- https://computergraphics.stackexchange.com/questions/4422/directx-openglvulkan-concepts-mapping-chart/4432
Pour les jeux vidéos (hors moteurs de jeux)
- Game Engine Architecture
- Game Engine Gems
- La série des “Game Programming Gems”
Pour le GPU computing
- Algorithms and Parallel Computing, pour comprendre l’algorithmique parallèle
Pour CUDA
- CUDA par l’exemple, très pédagogique et en français
- Programming Massively Parallel Processors, un peu plus avancé que le précédent
- GPU Computing Gems, 2 livres (Jade et Émeraude), nombreux exemples d’applications
- CUDA Programming
- (2011) CUDA application design and development
Pour OpenCL
- OpenCL Programming Guide, la référence de Khronos
- Heterogeneous Computing with OpenCL (Gaster)