On entend souvent dire que Linux manque d’homogénéité. Je trouve cette idée tout à fait exacte. Ne vous m’éprenez pas, je suis fan, j’adore cette diversité justement. Cependant, je trouve que celle-ci est mal gérée et que diversité ne rime pas forcément avec foutoir! Il existe en effet un très grand nombre d’API dont les conventions sont toutes différentes, la documentation plus ou moins complète, etc…Je trouve pour une fois que Microsoft à parfaitement compris la chose en proposant son Framework .NET. Un ensemble parfaitement homogène et très bien documenté. Alors pourquoi pas un tel framework pour Linux?
Microsoft réussit a proposer une telle chose pour un ensemble de langages puisqu’il transforme ces derniers en les rendant compatible CLR. Une adaptation de ceux-ci est donc nécessaire. Cela ne colle évidemment pas à la philosophie et à la façon de faire linuxienne. En revanche, on peut créer des bindings. Un binding est un pont entre deux langages et plus généralement entre le C et un langage de plus haut niveau. L’idée que j’expose ici est une homogénéisation de ces bindings à travers tous les langages pour fournir une API commune et facilité l’accès à une documentation. Le résultat serait un framework orienté objet utilisant des namespaces (ou une convention de nommage pour les langages non “namespacisé”). Bien-sûr on est loin du Framework .NET mais c’est un premier pas vers une façon de faire que je considère bien plus moderne.