After Hours

Matz Matsumoto, le pape du codage Ruby

Le 09-02-2026
Chapitre Personnages

Dans le domaine de la programmation objet, il y a plusieurs niveaux d’écriture, selon que l’on applique ou non les principes fondamentaux de l’objet. Il y a les puristes intransigeants sur les dogmes et les "libertaires". Yukihuro Matsumoto fait partie de la première famille.

Yukihuro Matsumoto, dit "Matz", est un japonais formé à l’université de Tsukuba, là où s’est tenue une célèbre exposition universelle en 1985, qui a conçu le langage Ruby OO (orienté Objet).

Matz bénéficie aujourd’hui d’une aura pour au moins 2 raisons. La première est qu’il est toujours à l’écoute des développeurs, avec qui il entretient des relations très amicales. La seconde étant que Ruby, son produit majeur, est un modèle du genre, respectueux des principes, facile à utiliser, à condition de ne pas vouloir le mettre à "toutes les sauces".

Matsumoto a souvent expliqué que le succès de Ruby devait beaucoup à Emacs, une sorte de super-éditeur, orienté textes, qu’il avait "rencontré" en 1993.

Ruby est un langage script orienté objet, rapide et simple, dont la syntaxe s’inspire d’Eiffel de Bertrand Meyer et de l’Ada de Jean Ichbiah, deux français, soit dit en passant…

De Smalltalk, Matz a récupéré le concept du "tout objet". Toute donnée étant un objet, y compris les types et une constante est le résultat d'une instanciation de classe.

Evidemment, ça peut choquer les tenants de  l’ Integer variable; (ou de toute autre déclaration de type), mais quand on y réfléchit, c’est tout à fait logique et facilite la maintenance.

Ruby, qui s’appuie sur des conventions de nommage et des notations implicites, comporte un ramasse-miettes qui n’est pas transcendant, mais permet la modification des classes pendant l’exécution par remplacement de méthodes.

En termes d’héritage, Matz n’est pas tombé dans le piège de l’héritage multiple, qu’il a remplacé par la capacité d’inclure des modules dans les classes, le "mixin", ce qui revient à peu près au même.

Autres caractéristiques : des nombres entiers de taille illimitée, avec conversion automatique, si nécessaire et des variables dont la portée est définie implicitement par leur syntaxe : @var est une variable d’instance, @@var une variable de classe, Var ou VAR est une constante.

Pour les "fous" de programmation, Matz occupe une place à part et la communauté qui environne le produit, a longtemps été l’une des plus solides du marché. 

Il existe des "run time" de Ruby pour les principaux environnements : IronRuby, une implémentation .NET, JRuby une machine virtuelle Java qui interprète directement du code natif Ruby, Rubynius et surtout YARV.

Interrogé sur l’origine du mot "Ruby", Matz a eu cette réponse on ne peut plus logique : "Ruby c’est mieux que Perl".

On l’aura compris, Yukihuro Matsumoto a été le "copain" de tous les développeurs Ruby, à qui il a apporté assistance et considération. Dans ce monde souvent très étriqué de la conception des langages, ce n’est pas fréquent. Une bouffée d’air frais dans le milieu de l’Open Source, dont il aura été l’un des plus sympathiques contributeurs. 

Certains estiment que cette attitude de proximité lui viendrait de son appartenance à l'église des "Saints des derniers jours", les mormons dont il a été l'un des missionnaires. Pourquoi pas...