Envoyé par
alex_pi
Si vraiment tu es face à un choix totalement binaire C/C++, je conseillerais le C++. En effet, le C n'est pas un langage de programmation, c'est un assembleur multiprocesseur. S'il s'est largement imposé à la communauté informatique mondiale, ce n'est évidement pas par une suppériorité quelconque sur les autres langages, mais uniquement parce qu'il est d'une exceptionnelle trivialité, et qu'il est donc très facile d'écrire un compilo pour chaque nouvelle architecture. Vu que tout est à la charge du programmeur du logiciel, celui qui écrit le compilo n'a pas particulièrement à réfléchir, et écrire un compilo C sans trop d'optimisation se fait très rapidement. C'est quand même un langage qui date des années 70. Disons que depuis, la théorie des langages de programmation a fait quelque petit progrès.
Beaucoup de gens me répondront "au moins avec le C, tu sais ce que tu fais, tu es proche de la machine, tu gères toi même ta mémoire, etc." Et 95% d'entre eux ne sauront en fait pas dutout ce qu'ils font, ne sauront absolument pas gérer leur mémoire, et produiront donc des programmes sans aucune sureté à l'execution, bourrés de memleak, et finalement pas plus rapide qu'un programme Java, mais qu'ils auront mis 5 fois plus de temps à développer, et 20 fois plus à débugger. L'immense majorité des applications informatiques n'ont absolument pas besoin de ce prétendu gain en performance apporté par le C, surtout que ce gain n'est effectif qu'avec de très bon programmeurs, ce qui est en fait franchement rare. Bref, pour le coeur d'un système d'exploitation, ok, le C, c'est bien (c'est même raisonnablement indispensable). Pour un client mail, franchement, c'est débile.
Donc oui, je conseillerais le C++ qui a quand même l'avantage d'avoir bénéficié de quelques années d'expérience de plus ! Et qui autorise même à programmer proprement (bref, sans pointeur, juste avec des références), et même à faire de l'objet ;-)
Après, pour rester dans la même catégorie de langage, si tu as plus de choix, je préfère quand même Java. Encore un peu plus de progrès par rapport à l'époque où le C++ a été conçu, une meilleure "intégration globale" je trouve. Et qu'on ne vienne pas me chercher les poux avec les histoires stupides de performance ! Grmbl...
Et pour quitter le domaine des langages impératifs, moi z'aime bien les langages fonctionnels :-D Ou formulé autrement, je suis un afficionados d'OCaml.
Voilà voilà :-)
Partager