Quand j'ai appris le C ++ pour la première fois il y a 6 à 7 ans, ce que j'ai appris était essentiellement "C with Classes". std::vector
était définitivement un sujet avancé, quelque chose que vous pouviez apprendre si vous le vouliez vraiment . Et il n'y avait certainement personne qui me disait que les destructeurs pouvaient être exploités pour aider à gérer la mémoire. Aujourd'hui, partout où je regarde, je vois RAII et SFINAE , STL et Boost et, enfin, C ++ moderne. Même les personnes qui commencent à peine avec la langue semblent apprendre ces concepts presque dès le premier jour.
Ma question est la suivante: est-ce simplement parce que je ne vois que le "meilleur", c'est-à-dire les questions ici sur SO et sur d'autres sites de programmation qui ont tendance à attirer les débutants (gamedev.net), ou est-ce réellement représentatif du Communauté C ++ dans son ensemble?
Le C ++ moderne devient-il vraiment la valeur par défaut? Plutôt que d'être quelque chose d'extraordinaire sur lequel les experts écrivent, est-ce en train de devenir "la façon dont C ++ est"? Ou suis-je tout simplement incapable de voir les milliers de personnes qui apprennent encore "C avec classes" et écrivent leurs propres tableaux dynamiques au lieu d'utiliserstd::vector
, et font la gestion de la mémoire en appelant manuellement new / delete de leur code de niveau supérieur?
Autant que je veux le croire, il semble incroyable que la communauté C ++ dans son ensemble ait tellement évolué en quelques années. Quelles sont vos expériences et impressions?
(avertissement: quelqu'un qui n'est pas familier avec C ++ pourrait mal interpréter le titre comme demandant si C ++ gagne en popularité par rapport à d'autres langages. Ce n'est pas ma question. "C ++ moderne" est un nom courant pour un dialecte ou un style de programmation dans C ++, nommé d'après le livre " Design C ++ moderne: Programmation générique et modèles de conception appliqués ", et je suis uniquement intéressé par cela par rapport à" l'ancien C ++ ". Donc, inutile de me dire que le temps de C ++ est passé, et nous devrions tous utiliser Python;))