1 points par GN⁺ 2024-12-25 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2024-12-25
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.

    • Le contrôle précis du C++ est agréable.
    • Les systèmes de build et la gestion des paquets sont difficiles.
    • Le C++ a une syntaxe et un runtime complexes.
  • Il y a beaucoup d'avis contradictoires sur le C++. La qualité moderne du C++ coexiste avec ses problèmes hérités.

    • Les performances et la technicité du C++ sont agréables.
    • Le C++ n'est pas adapté au « vrai » développement logiciel.
  • 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.

    • Comprendre les détails techniques du C++ prend du temps.
  • 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.

    • La complexité du C++ est lourde.
  • Les mécontentements autour du C++ viennent surtout des codebases anciennes. J'ai vécu la même chose avec Rust.

    • Le problème vient d'un mauvais software engineering.
  • Certaines personnes ont du plaisir avec le C++, mais personnellement je trouve le C++ complexe.

    • J'utilise le C quand un niveau de contrôle bas est nécessaire.
  • J'ai été impressionné par C++11, et la documentation de cppreference.com est excellente.

    • L'intégration d'autres bibliothèques dans un projet est difficile.
  • 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.

    • Avec une ancienne base de code, c'est une autre expérience.
  • J'ai appris le C++ mais je ne l'ai pas approfondi. Rust et sa programmation fonctionnelle ont de très bonnes performances.

    • Il y a peu de raisons d'utiliser le C++.
  • std::regex en C++ a de mauvaises performances et un support Unicode insuffisant. Il faut généralement l'éviter.