J’ai choisi le langage C.
[size=125]1. Pour quelles raisons vous l’avez choisi ?[/size]
C’est le premier langage que j’ai approché. Il m’a attiré car il a la réputation d’être rapide et largement utilisé. Le noyau Linux est écrit en C, l’histoire d’Unix et du C sont mêlées.
[size=125]2. Pourquoi vous l’utilisez encore ?[/size]
Je le trouve facile à utiliser. Il n’y a que quelques constructions de base et une bibliothèque standard assez petite. Et donc il nécessite un temps d’apprentissage moins long que le C++.
Chaque construction supplémentaire (objets, héritage, exceptions, template, …) nécessite de se documenter sur son coût en terme de performances, et ça prend du temps. Par exemple j’avais entendu que l’héritage multiple pouvait se réveler coûteux, et que certaines fonctions de la bibliothèque standard du C++ en abusent (c’est peut-être faux, c’est juste pour donner un exemple). Le gars qui n’en a jamais entendu parler ne peut pas le deviner …
Il faut aussi connaître les choses qui se font à la compilation (méthodes surchargées par exemple) et celles qui se font à l’exécution (j’ai pas d’exemple sous la main). En C il n’y a pas de problème : tout est fait à la compilation, donc pas de problème de performance “masqué”.
Donc l’avantage majeur du C, c’est qu’il est simple et sans piège : j’arrive à obtenir rapidement un programme qui est performant (on ne peut pas utiliser une fonctionnalité avancée qui à un impact sur les performances qu’on n’imagine pas).
Par contre, si un jour j’ai le temps d’étudier en profondeur le C++, avec les bons livres, je l’utiliserai car il offre de gros avantages (surcharge de méthodes à la compilation). Et si on connaît ses inconvénients, on peut les éviter.
[size=125]3. L’usage que vous en faites[/size]
Pour les cours et pour moi-même. Pour les projets (à la fac) que l’on me demande de faire, quand on me laisse le choix du langage, je choisi spontanément le C.
[size=125]4. Les caractéristiques de ce langage (impératif, fonctionnel, objet, typage, …)[/size]
On ne présente plus le C. En résumé : il est généralement utilisé de façon impérative, mais il est possible de faire de la programmation fonctionnelle avec. Pas de mécanisme d’objet. Le typage est statique et fort, mais il y a des conversions faites automatiquement lorsqu’un type numérique “trop petit” est utilisé à la place d’un type numérique “grand”. Ces conversions sont faites à la compilation.
Il y a une réelle liberté sur les variables que l’on manipule et sur l’accès à l’espace mémoire. L’allocation et la libération dynamique (= à l’exécution) de la mémoire est manuelle.
[size=125]5. Une/plusieurs phrases passionnées faisant partager votre enthousiasme pour ce langage[/size]
Le C est facile d’accès au débutant (en tout cas ça l’a été pour moi quand j’ai commencé). Il permet de contrôler absolument tout ce qui se passe dans son programme, dans les moindres détails, et ça me plaît.