Caractéristiques
du langage C
- Langage structuré:
la notion de bloc (entre accolades) permet de structurer le
programme.
- Efficacité des programmes:
il possède les mêmes possibilités de
contrôle de la machine que l'assembleur et il
génère un code compact et rapide
- Modulaire: une
application pourra être découpée en modules qui
pourront être compilés séparément puis
regroupés en un seul programme exécutable par l'éditeur de liens. Un ensemble de programmes
déjà opérationnels pourra être réuni
dans une librairie. Cette aptitude
à créer des librairies permet d'étendre le langage
C.
- Souple et permissif:
peu de vérifications et d'interdits, hormis la syntaxe.
C'est un défaut pour une initiation à la programmation
car les
nouveaux programmeurs peuvent rapidement prendre de mauvaises habitudes
et
profiter de la permissivité du langage pour écrire des
programmes atroces (heureusement vos enseignants sont là !!!...)
- Portable:
le langage C n'avait pas été fait
spécifiquement pour une sorte de machine, ou pour une sorte de
système. C'est donc un langage hautement portable. Tout
programme écrit en (ANSI) C peu être recompilé sans
aucun changement d'une machine à l'autre, d'un système
(LINUX par exemple) à l'autre (WINDOWS par exemple).
- Spectre d'applications large:
son rayon d'action s'étend du bas niveau de la machine
(le C peut générer du code aussi rapide que du code
assembleur), au haut niveau. Virtuellement, on peut donc tout faire
avec du C : du pilote de matériel jusqu'au logiciel de gestion,
en passant par les jeux même si il faut reconnaître qu'il
excelle surtout dans les domaines plutôt techniques...
Quelques défauts:
- Compilateur peu bavard et peu
explicite: Les messages du compilateurs sont
souvent peu intelligibles et déroutants surtout pour des
programmeurs débutants. C'est une conséquence de la
permissivité du langage. Seule une bonne expérience
de programmeur permet de cibler rapidement (à vrai dire pas tout
le temps) l'erreur en fonction du message.
- Une syntaxe parfois assez
pauvre: rend la programmation fastidieuse (par exemple
pour la manipulation des caractères ou pour les
entrées-sorties).
suivant plan