J'ai eu envie de cocher toutes les réponses également, je ne l'ai pas fait car je me suis aperçu ces derniers temps que je ne connaissais pas ce langage, au final.
J'ai (réellement) appris la programmation avec le C. Logique pour un étudiant en électronique et info industrielle. Et puis un beau jour, on a eu un cours de C++. Pardon : de C avec classes ! En réalité, ce cours était un cours de POO et le prof avait décidé d'utiliser le C++ pour montrer ce qu'est une classe. C'était pratique puisque ses élèves connaissaient le C et donc n'étaient pas perdus par la syntaxe.
Ayant un bon niveau en C, connaissant le principe des classes, je pensais pouvoir écrire C/C++ sur mon CV, en tout bonne fois. Mais depuis quelques mois, je lis de temps en temps des sujets C++ sur Developpez.com et je ne comprends rien !

Mais rien de rien !

J'ai découvert il y a peu la STL et les vectors en faisant un code en Qt à la maison. Mais pourquoi on ne m'avait jamais parlé de ces vectors et de la STL ??
POURQUOI ???
Pour aller au delà de l'enseignement, je pense que l'intérêt de C++ pour la plupart des gens est limité. C++ est comme C : un langage où tout (ou presque) est à la charge du développeur. Cela permet de faire des applications ultra personnalisables, optimisables, maitrisées. Le soucis pour moi est qu'on retrouve les problèmes du C : compilation parfois lourde, problème de portabilité, évolution relativement lente (comparé à Java ?).
J'ai aussi l'impression que, comme tout est à faire, il n'y a du coup rien de tout fait, prêt à l'emploi. Comme je l'ai dit, je ne connais pas la STL et c'est peut-être qu'une impression, mais je ne dois pas être le seul à l'avoir.
Je compare avec d'autres langages :
1) J'ai utilisé Java au boulot, alors que je n'y connaissais rien. La puissance de la Javadoc et des milliers de classes incluses dans le JDK font que tu peux coder rapidement des applications relativement complexes, sans faire appel à des lib externes. Cela attire plus qu'un langage CIY (Code It Yourself ^^).
2) J'apprends Python en ce moment et ce langage est simple et souple. J'aime la rigueur des langages compilés mais il est vraiment que pour faire des petites applications, un développeur amateur ou un pro souhaitant faire un outil perso, se tournera plus facilement vers Python que vers C++.
Enfin, de ma courte expérience professionnelle, je pense qu'il est plus simple de dire à un mec "tiens, tu connais pas, mais tu vas faire du Java" que de lui dire la même chose avec C++. Java est à la mode, Java ça a l'air cool, Java c'est portable, nianianiania. J'ai travaillé sur des projets où personne ne maitrisait vraiment les technos utilisées (vive les SSII) alors on utilise des technologies "simples". On remplace des applications en C / C++ (certes rapides mais difficiles à maintenir) par des applications en Talend Open Studio (moins rapides mais beaucoup plus simples à prendre en main).
Je ne vois pas C++ comme un langage à utiliser à tout va. Tu utilises ce langage quand tu sais pourquoi tu en as besoin. Pour cette raison, je ne vois pas C++ devenir un langage "grand public" que tout le monde aura envie d'apprendre.
Partager