"Chaque projet peut apporter une nouvelle utilisation du langage"


Interview de Roberto Ierusalimschy (17/09/2012)

Roberto Ierusalimschy est professeur associé au département informatique de l'université PUC-Rio au Brésil. Il a coinventé le langage Lua en 1993 avec Waldemar Celes et Luiz Henrique de Figueiredo.
Il est l'auteur de Programming in Lua  et Lua 5.2 Reference Manual

 

Lua est né en 1993, pour répondre au début à un besoin purement local, aujourd'hui il est utilisé dans de nombreux secteurs et pays, au point qu'en 2011 il figurait dans les 20 langages les plus utilisés de l'index TIOBE. Comment expliquez-vous une telle croissance ?

Le succès d’un langage de programmation est toujours dû à une part de chance. Cependant, la chance seule ne suffit pas. Je pense que l'une des grandes forces de Lua réside dans ses objectifs ciblés, comme sa facilité d'intégration et sa petite taille, qui sont généralement négligés par les autres langages.

Je n'ai jamais cru dans les langages de programmation trop généraux. Chaque langage présente des forces et des faiblesses, et les développeurs préfèrent employer les outils qui conviennent à chaque tâche.


Quels sont les profils des utilisateurs de Lua aujourd'hui ?

J'imagine que l’éventail des utilisateurs de Lua est aujourd'hui très large. Vous y trouverez notamment les développeurs du ver informatique Flame (l’un des plus complexes jamais découvert) et des enfants qui participent à des colonies de vacances informatique où ils apprennent Roblox.

En raison de sa nature, Lua attire deux groupes d'utilisateurs différents. Le premier réunit ceux qui intègrent Lua dans des applications. Il s’agit généralement de programmeurs très expérimentés. Le second rassemble des personnes qui utilisent Lua alors qu'il est déjà intégré dans une application, par exemple les joueurs de World of Warcraft. Vous pourrez évidemment trouver dans ce groupe d'excellents programmeurs, mais la plupart de ces utilisateurs ont une expérience de la programmation très limitée.

Depuis toujours, des utilisateurs de Lua se situent à ces deux niveaux extrêmes de qualification en programmation. Au fil du temps, il semble naturel que les autres utilisateurs se placent entre les deux, là où la distinction entre les utilisateurs finaux experts et les programmeurs professionnels est plus floue.


Quels sont les projets développés en Lua qui vous ont le plus surpris ?

Plusieurs projets m’ont réellement étonné. En raison de la flexibilité de Lua et de l’absence de modèle figé, chaque projet peut apporter une nouvelle utilisation du langage.

En particulier, Adobe Ligthroom est un projet qui m'a toujours surpris. Cette utilisation de Lua est tout sauf classique. Les développeurs emploient Lua de manière plutôt innovante et explorent des fonctionnalités éloignées du langage. Ils dévoilent, même à moi, plusieurs nouveaux angles du langage.


L'industrie du développement du jeux s'est emparé de Lua et a contribué à le rendre populaire. Vous attendiez-vous à un tel phénomène ?

Absolument pas. Cela nous a énormément surpris. Rétrospectivement, cela semble toutefois un choix naturel, car Lua satisfait à plusieurs exigences d'un bon langage de script pour les jeux, comme les performances, la portabilité et les possibilités d'intégration. Plusieurs évolutions récentes de Lua ont été guidées par les jeux, comme le ramasse-miettes incrémental et les coroutines. Mais tout cela était totalement inattendu.


Comment vous-même utilisez-vous Lua ?

Plusieurs de mes outils sont développés en Lua. Par exemple, je rédige mes ouvrages dans un format personnel qui me convient. J'utilise ensuite plusieurs outils écrits en Lua pour les convertir dans d'autres formats plus conventionnels, comme DocBook ou LaTeX.


Comment imaginez-vous l'avenir de Lua ?

Nous avons l'intention de nous focaliser sur les forces du langage. Bien que Lua ne soit pas (et ne sera pas) un langage général, le potentiel d'évolution dans l'écriture des scripts est encore important. Par exemple, quasiment toute application suffisamment complexe pourrait avoir intérêt à proposer une « fenêtre Lua » pour les utilisateurs expérimentés. Avec tous ces enfants qui apprennent à utiliser Lua, nous espérons avoir de plus en plus d'experts dans le futur.


Merci à vous !