Tout ne se résume pas à Python. Vous feriez bien d'apprendre Rust

eFC logo
Rust coding language

Si vous recherchez actuellement un emploi en programmation dans la finance, vous feriez bien d'apprendre Python : Goldman Sachs propose actuellement environ 320 offres d'emploi mentionnant Python, et J.P. Morgan 809 offres. Mais si vous voulez décrocher un job en finance à plus long terme, vous devriez vous familiariser avec un langage qui est beaucoup plus ciblé : Rust ("rouille" en anglais). Les partisans de Rust suggèrent qu'il deviendra incontournable au fil du temps.

Une expertise dans Rust ne vous permettra pas de décrocher tout de suite un job, mais elle fait de petites incursions dans les grandes banques. J.P. Morgan propose un job en lien avec Rust dans le cadre de son Roar big data project. Goldman Sachs n’a aucun emploi en lien avec Rust, mais ses partisans sont certains que ce sera bientôt le cas, car Rust sert à beaucoup de choses...

« Je programme principalement en Python et je connais toutes ses imperfections », explique un développeur quantitatif qui programme en Rust pendant son temps libre. « En comparaison, Rust s'apparente à une cure de rafraîchissement ».

Présenté comme un « langage de programmation système qui fonctionne à une vitesse fulgurante, empêche les erreurs de segmentation et garantit la sécurité des threads », Rust remplacera probablement C et C ++ plutôt que Python. « Rust est un langage de programmation système qui peut être utilisé pour construire de grands systèmes stables et efficaces », explique le développeur. « Cela peut être aussi fondamental pour un système d'exploitation aussi rapide qu'un système de trading dans un hedge fund ». À l'heure actuelle, le C ++ est fréquemment utilisé dans le trading haute fréquence, car il est rapide, mais Rust est encore plus rapide et offre des avantages supplémentaires.

« Ce qui fait que Rust est remarquable, c'est sa sécurité », déclare le développeur quant. « Le langage est conçu de telle sorte qu'il vérifie, au moment de la compilation, qu'il n'y a aucune circonstance où le programme sera laissé en suspens dans des conditions de mémoire incertaines ». Bien que C ++ prétende offrir des fonctionnalités similaires, elles peuvent être mises à mal par "l'arrogance des développeurs" convaincus que leur code est parfait. « Dans Rust, le programme est conçu de telle sorte que s’il démarre réellement, vous pouvez être très sûr qu’il ne corrompra pas la mémoire système car il finira par faire des choses que vous n’aviez tout simplement pas anticipées », déclare le quant.

Cela signifie que Rust est un langage beaucoup plus sûr à utiliser que ses prédécesseurs. « Rust est applicable lorsque l'efficacité de l'exécution et la sécurité sont des besoins essentiels », déclare un autre développeur. Pour le moment, Mozilla utilise principalement ce langage pour faire fonctionner son navigateur Firefox, mais les défenseurs affirment qu'il sera sûrement repris par les banques en temps et en heure.

« Techniquement, Rust peut tout faire », déclare le quant qui programme en Python. « J'explore actuellement ses capacités de codage numérique et analytique pour les applications financières - résolution des PDE, tarification des options, etc. Avec Rust, j'ai le sentiment pour la première fois que vous pouvez" avoir le beurre et l'argent du beurre ».

Contrairement à C ++, Python et Java, qui sont des langages de programmation orientés objet (OOP), Rust est un langage de programmation 'trait-based'. Cela signifie que, « plutôt que de construire une structure et de lui donner des capacités comme dans le monde OOP, vous devez définir le comportement à un niveau abstrait », explique le quant. « Vous définissez ensuite ce comportement pour des structures de données particulières, séparant ainsi le données du comportement ». Il ajoute que cela nécessite un peu de" réapprentissage "- surtout si vous êtes habitué à penser en termes de POO.

Mais l'effort supplémentaire en vaut la peine. Les partisans disent que Rust est le premier véritable langage de programmation du 21ème siècle. « Les logiciels modernes doivent être capables de s'adapter à plusieurs threads et process, et de communiquer davantage avec le trafic externe », déclare le quant. « J'ai beaucoup plus de succès dans l'écriture de programmes parallèles et asynchrones sous Rust qu'en C ++ ou C, et les principes élémentaires de sécurité placent le langage dans l'une des meilleures positions pour l'écriture de code parallèle stable et extensible ».

Bien sûr, il y a des inconvénients. Le principal est que Rust n'est pas encore très utilisé et ne vous procurera pas de travail dans un avenir proche. Les fonctions de sécurité ont également un coût, bien que certains soutiennent que cela en vaut la peine. « En tant que développeur, vous devez réfléchir plus activement à ce qui peut mal tourner avec votre programme », déclare le quant. « Parce que si quelque chose peut mal tourner, alors Rust ne vous laissera pas construire le binaire tant que vous ne pouvez pas garantir que rien de grave ne se passera. - Par comparaison, en C, vous pouvez simplement construire un fichier binaire "non sécurisé" et éviter de l'utiliser. de manière incertaine. C’est pourquoi il y a tant de code défectueux ».

Rust se développe lentement. Une compilation des activités de développement sur Github en janvier 2018 a mis Rust au 18e rang avec une base d’utilisateurs qui progresse. JavaScript, Python, Java et C ++ figuraient au top et un langage comme Go se développe très vite. Cependant, les fans de Rust affirment que Go est sujet aux erreurs de concomitance qui n'apparaissent pas avec Rust.

« Travailler avec Rust est un plaisir. Il présente de nombreux avantages et, s'il a le temps de faire mûrir son écosystème, il deviendra un véritable trésor à l'avenir », déclare un développeur. C'est pourquoi vous feriez peut-être mieux de commencer à l'apprendre dès maintenant.

Vous avez un scoop, une anecdote, un conseil ou un commentaire que vous aimeriez partager ? Contact : tiochem@efinancialcareers.com

A lire aussi…

Secteurs les plus recherchés

Loading...

Recherche emploi

Rechercher articles

Close