Devrais-je apprendre Mojo ?

johnharry2 Messages postés 1 Date d'inscription samedi 14 décembre 2024 Statut Membre Dernière intervention 25 décembre 2024 - Modifié le 14 déc. 2024 à 11:41
mamiemando Messages postés 33535 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 février 2025 - 19 déc. 2024 à 18:07

Bonjour à tous,
J'ai récemment lu un article sur Mojo ici : Mojo - Un langage de programmation émergent pour l'IA. Cela semble intéressant, surtout pour l'IA/ML. Me le recommandez-vous ? Comment se compare-t-il à Python ?

In case you want to read: https://syntaxscenarios.com/mojo/mojo-an-emerging-programming-language-for-ai/

A voir également:

2 réponses

chrisjoe21 Messages postés 1 Date d'inscription samedi 14 décembre 2024 Statut Membre Dernière intervention 14 décembre 2024
Modifié le 14 déc. 2024 à 11:46

Mojo est effectivement un langage prometteur, en particulier pour l'IA et le ML, grâce à sa combinaison de performance proche de C++ et de simplicité inspirée de Python. Si vous travaillez déjà avec Python, vous pourriez trouver Mojo intéressant, notamment pour des cas où les performances sont cruciales. Cependant, Mojo en est encore à ses débuts, donc son écosystème est moins mature que celui de Python. Je vous recommande de l'explorer si vous êtes curieux et cherchez à optimiser des modèles complexes ou gourmands en ressources.




This article is really helpful : https://syntaxscenarios.com/mojo/mojo-an-emerging-programming-language-for-ai/

0
mamiemando Messages postés 33535 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 février 2025 7 828
Modifié le 19 déc. 2024 à 18:11

Bonjour,

Comme le titre de l'article le suggère, Mojo est émergeant et actuellement, la plupart des gens qui travaillent dans l'IA utilisent surtout Python. Donc si tu hésites entre ces deux langages, Python est à mon avis un choix plus sûr, car c'est une compétence que tu mettras plus facilement en valeur lors de tes entretiens.

L'écrasante majorité des gens qui utilisent des frameworks d'IA/ML (chercheurs, data scientists, développeurs) le font via Python.

L'article suggère un gain de performance significatif. En vrai, c'est trompeur car ça dépend du contexte. Si on prend le context de l'IA/ML que tu évoques :

  • Les frameworks couramment utilisés en python dans le cadre de l'IA et du Machine Learning (pytorch par exemple) sont implémentés dans des langages bien plus performants (C, C++). C'est le cas de torch et tensorflow (C/C++). Python peut s'interfacer avec du C/C++ au travers de wrappers (c'est ce que permet pytorch). Le surcoût induit est négligeable en pratique. Ainsi, on se cantonne à du python (à moins d'être développeur desdits frameworks).
    • Donc non, ton programme n'ira pas 89x plus vite parce qu'il est écrit en Mojo (ni même en C/C++)
    • J'ai des doutes sur les résultats avancés par cette page. Pour ma part, j'ai plutôt observé un facteur x6 (resp. x10) entre un programme écrit en python pur Python sur un thread et un programme écrit en C++ (resp. C) équivalent. 
  • Du propre aveu de cette page, Mojo n'est jamais qu'un autre langage de plus et avoue que ce qui dépote, c'est le C/C++ (et à l'avenir, ce sera peut-être Rust).

Si on prend un contexte plus général, où tu dois recoder "à la main" un programme Mojo tire peut-être son épingle du jeu, car il sera sans doute plus simple à écrire que du C/C++ et plus performant que du Python. Cependant, même si c'est le cas, c'est toujours compliqué pour un nouveau langage de faire sa place dans un paysage où les gens veulent facilement pouvoir réutiliser du code open source (et là, il y a tellement de choix en python que pour un nouveau langage ce sera très compliqué de le concurrencer).

Bonne chance

0