-
Le plaisir de C++
- Je pense que les programmeurs ont parfois oublié pourquoi ils ont commencé à programmer.
- En travaillant sur des projets en C++, j'ai pu m'amuser et concrétiser diverses idées.
- C++ ne gêne pas le programmeur dans ce qu'il souhaite accomplir.
-
Les problèmes de la méta-programmation par templates en C++
- Depuis la fin des années 90 jusqu'au début des années 2000, la communauté C++ s'est obsessionnellement concentrée sur la méta-programmation par templates.
- Cela a fait de C++ un langage complexe et difficile à utiliser.
- Java, lui, a proposé une meilleure expérience utilisateur en tenant compte des besoins des développeurs.
-
Les changements remarquables de C++11
- C++11 a apporté de nombreuses améliorations au langage.
- Les fonctionnalités
auto, nullptr, range-for, expressions lambda, <chrono>, <regex>, unique_ptr, shared_ptr et <thread> ont été ajoutées.
- Ces changements ont rendu C++ plus moderne et plus facile à utiliser.
-
Les fonctionnalités modernes de C++
- Il prend en charge diverses fonctionnalités, comme l'exploration du système de fichiers, la gestion des paquets, les bibliothèques de matrices, le graphique, GUI et TUI.
- Comme C++ permet d'accéder directement à de nombreuses bibliothèques et API, on peut quasiment tout créer.
-
La liberté créative de C++
- C++ est un langage qui laisse place à la créativité, en s'affranchissant des contraintes hiérarchiques de langages plus autoritaires.
- cppreference.com est un excellent site de documentation de C++, qui décrit très bien tous les mots-clés et toutes les bibliothèques.
-
Les limites de C++
- Les messages d'erreur des compilateurs sont parmi les pires de l'industrie, et les outils de build sont difficiles à utiliser.
- La complexité du langage et son héritage historique rendent la courbe d'apprentissage raide.
- Le modèle RAII (Resource Acquisition Is Initialization, Acquisition des ressources à l'initialisation) peut être peu pratique dans des cas concrets.
-
Conclusion
- C++ reste un langage amusant et puissant, et il faut se défaire des préjugés du passé.
- C++ offre aux programmeurs une liberté créative et ouvre la voie à la réalisation d'une grande variété de projets.
1 commentaires
Avis de Hacker News
Je n'aime pas le C++, mais j'ai eu une expérience satisfaisante en projet personnel. Rust et CI/CD offrent une bonne fiabilité à long terme, mais les systèmes de build et la gestion des paquets sont difficiles.
Il y a beaucoup d'avis contradictoires sur le C++. La qualité moderne du C++ coexiste avec ses problèmes hérités.
Il est difficile d'intégrer des dépendances tierces dans un projet C++, alors que la plupart des langages modernes résolvent ça avec une simple installation.
J'ai appris les nouvelles fonctionnalités de C++, mais j'ai eu du mal à cause des erreurs du compilateur, donc je suis resté sur C++14.
Les mécontentements autour du C++ viennent surtout des codebases anciennes. J'ai vécu la même chose avec Rust.
Certaines personnes ont du plaisir avec le C++, mais personnellement je trouve le C++ complexe.
J'ai été impressionné par C++11, et la documentation de cppreference.com est excellente.
Avec une équipe qui maîtrise bien le C++ moderne, le C++ est excellent. Les performances sont excellentes et le débogage et l'optimisation sont faciles.
J'ai appris le C++ mais je ne l'ai pas approfondi. Rust et sa programmation fonctionnelle ont de très bonnes performances.
std::regexen C++ a de mauvaises performances et un support Unicode insuffisant. Il faut généralement l'éviter.