Un ingénieur en trading haute fréquence compare le passage de C++ à Rust à « l’entrée dans les portes de l’enfer »
Selon un cadre d’un établissement de trading électronique s’exprimant sous couvert d’anonymat, « beaucoup des meilleurs éléments de la communauté C++ commencent à expérimenter Rust. » L’un de ces ingénieurs, interviewé par Hackernews, dit beaucoup de bien de ce langage… mais encore plus de mal.
L’ingénieur en question a tenté de transférer dans Rust un système de trading à faible latence, « mais a fini par jeter l’éponge au bout de 6 mois de développement. » Pourtant, dit-il, ce langage « a fait de ma vie un rêve pour 80% du codebase. »
Mais alors, que s’est-il donc passé ? Il raconte que Rust était utile dans des domaines non essentiels requérant une moindre exigence de haute performance. Partout ailleurs, c’était « un cauchemar à mettre en œuvre. » En tant que langage de programmation, Rust est beaucoup plus sûr que C++ - en d’autres termes, il sacrifie souvent la rapidité à la sécurité. On peut essayer de contourner le problème en marquant des blocs de code avec le mot-clé 'unsafe {}' mais notre ingénieur indique que ce code « a fini par s’avérer 1000 fois plus sujet aux erreurs que C. »
Il a essayé d’utiliser le mot-clé ‘unsafe’ pour avoir « le meilleur des deux mondes » et alterner entre C pour le code critique et Rust pour le reste. Pourtant, au lieu d’entrer « dans le monde de C, » il a « littéralement franchi les portes de l’enfer, où un cast temporaire tout ce qu’il y a de plus innocent peut vous envoyer en plein bug de chargement/réorganisation aléatoire. »
Cela ne signifie pas que l’ingénieur n’utilise que des langages C. Selon lui, pour les calculs lourds, les C++, Fortran et autres Cobol sont « juste impraticables, et très lents à développer. » Lui plaide plutôt la cause de Python, en particulier de ses bibliothèques Panda, qu’il estime – et c’est un chiffre « conservateur » - déjà utilisées par 80% des traders haute et moyenne fréquence.
Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com in the first instance. Whatsapp/Signal/Telegram also available (Telegram: @SarahButcher)
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)