Programmation : un nouveau standard pour le C

La norme C11 dépoussière le langage de programmation C. Au menu, une gestion native du multithread et un meilleur support de l’Unicode.

Créé dans les années 1970 par Brian Kernighan et Dennis Ritchie, le langage de programmation C s’est imposé dans le secteur de la programmation système. Il a ainsi fait – et fait toujours – les beaux jours des systèmes d’exploitation de type UNIX. Le C se paye aujourd’hui une cure de jouvence avec la norme C11.

Le C est un langage de bas niveau, facile à appréhender, mais difficile à maîtriser (en particulier dans le cadre de projets complexes). Toutefois, il reste très utilisé, car les compilateurs C sont largement disponibles et permettent de générer du code très performant.

Les spécifications du C n’avaient plus évolué depuis près de 12 ans. Il était donc temps de moderniser cette offre. Ce travail de refonte, démarré il y a plusieurs années, vient de s’achever avec la publication du standard ISO/IEC 9899:2011.

Multithreading et Unicode

La principale nouveauté du C11 est le support du multithreading, qui permettra de tirer directement parti des possibilités des configurations multicœurs. Une avancée dictée par l’évolution du marché des processeurs. Le support des caractères Unicode est également en progrès, tout comme celui des nombres flottants. Enfin, il est possible d’aligner les structures.

La plupart des compilateurs devraient implémenter les spécifications du C11. C’est ainsi le cas du GCC et de Clang, qui ont déjà bien avancé dans ce domaine (le C11 y est parfois référencé en tant que C1X, le nom de code de cette norme avant son adoption).

Crédit photo : © Rob – Fotolia.com