Interview : à la découverte de Rust

Interview : À la découverte de Rust

Nos Sfeiriens Emmanuel Longeau et Sébastien Friess ont profité de Devoxx pour s’entretenir avec Olivier Bourgain et Jean-Baptiste Petit qui étaient sur place pour animer une introduction à Rust. Ce langage de Mozilla a fait ses premiers pas en 2010, et dispose d’arguments de plus en plus convaincants.

(Fiche Wikipedia / Site officiel)

 

SFEIR : Quand êtes-vous tombés dans le Rust ?

Olivier : Moi j’ai commencé à m’y intéresser il y a quelques années. On devait en être à la version 0.6. Mais c’est vraiment entre la version 0.8 et la 1.0 que je m’y suis plongé plus sérieusement. Et maintenant j’en fais dans mon garage !

Jean-Baptiste : De mon côté, ça fait quelques mois seulement. C’est la curiosité qui m’a poussé à essayer Rust, pour savoir pourquoi les gens semblaient si intéressés. Le fait qu’Olivier me répète depuis un an “c’est trop cool Rust” m’a aussi motivé ! Et maintenant, j’en fais aussi pour moi, dans mon garage, pour le plaisir ! *rires*

 

SFEIR : Pour quel genre d’applications conseillerez-vous Rust ?

Olivier : Quand on a besoin d’être bas niveau, de performance, de sécurité. Par exemple s’il faut parser des inputs sur lesquels on n’a aucun contrôle, c’est très adapté.

Jean-Baptiste : Ce n’est pas du tout un concurrent de Java ou de Go, qui sont des langages faciles à utiliser et à apprendre, où tout est fait pour nous simplifier la vie. On les utilise du coup pour faire des apps complexes de métier. Rust n’est pas si facile que ça à apprendre, il a un coût d’entrée assez élevé, et s’adresse à des besoins différents.

 

SFEIR : Qu’est-ce qui est le plus difficile dans l’apprentissage de Rust ?

Olivier : Ownership, borrowing et lifetime. C’est ce qui est dur à intégrer au départ. Le reste c’est vraiment de la syntaxe.

Jean-Baptiste : Même si c’est lié à borrowing, j’ai eu du mal à comprendre au début pourquoi il y avait plusieurs types de strings, à quoi ça servait, etc. Une fois qu’on a compris, c’est totalement cohérent, ils ont fait des choix intelligents. Mais quand on vient de Java, ça semble étrange.

 

SFEIR : Comment ça se passe côté communauté et écosystème ?

Olivier : La communauté est super sympa, accueillante, répond facilement aux questions. Il y a vraiment toujours quelqu’un pour aider. Côté librairies, l’écosystème est très riche, mais aussi très jeune. Beaucoup de ressources sont encore en version 0.x, mais c’est très prometteur. Exemple avec Tokio, pour faire du réseau très performant, asynchrone, ou encore Clippy qui fait du checking de code très avancé. Il y a aussi Geoffroy Couprie qui a fait nom, qui est également très pratique.

 

SFEIR : Côté bases de données, on trouve des outils aussi ?

Oliver et JB : Il y a des choses, mais souvent, on utilise des bindings. En Rust tu peux binder du C très facilement, du coup tu peux binder des clients natifs. Le coût du binding n’est pas élevé, contrairement au Java, c’est une solution efficace. Les structures sont proches du C, mais il faut penser à les tagger pour qu’elles aient la même représentation que ce qu’elles auraient en C, ce qui permet de binder les deux de manière transparente.

 

SFEIR : Merci à vous deux ! Un petit mot pour la fin ?

Olivier : Rust ça déchire !

Vous aimerez aussi...