2 points par GN⁺ 2023-08-20 | 1 commentaires | Partager sur WhatsApp
  • Moonbit, un nouveau langage spécialement conçu pour WebAssembly (Wasm), vise à exploiter pleinement son potentiel dans le cloud et l’edge computing
  • Les langages Wasm traditionnels de bas niveau comme Rust et C/C++ sont difficiles à apprendre et lents à compiler, tandis qu’un langage de haut niveau comme Golang génère un code inefficace et lourd
  • Avec l’objectif d’être rapide, concis et convivial, Moonbit cherche à offrir la vitesse et la compacité de Wasm tout en éliminant les inconvénients des options existantes
  • Le langage est dirigé par Hongbo Zhang et son équipe expérimentée, qui disposent de plus de 10 ans d’expertise en conception et développement de langages
  • Influencé par Golang et Rust, Moonbit combine la simplicité du système de packages de Golang avec l’expressivité de Rust, et inclut un puissant pattern matching, l’inférence de types, les génériques et le polymorphisme ad hoc via les traits
  • Le système de types de Moonbit est conçu pour la vitesse, la parallélisation et la vérification incrémentale, offrant ainsi un excellent support IDE
  • Le langage a été conçu pour permettre une optimisation de programme entier dans une représentation intermédiaire (IR) à plusieurs niveaux, afin d’améliorer l’agencement mémoire et de fournir un meilleur contexte pour l’analyse des flux de données et de contrôle
  • Contrairement à ReScript et Rust, Moonbit permet une analyse sémantique parallèle au niveau des fonctions, ce qui facilite le traitement de grands monorepos, offre des temps de réponse de l’ordre de la milliseconde et améliore fortement l’évolutivité de l’IDE
  • Moonbit est conçu pour une élimination efficace du code mort, afin de réduire la taille du code final, renforcer la sécurité et diminuer la surface de vulnérabilité
  • Le langage facilite aussi la programmation grâce à une gestion automatique de la mémoire, ce qui le distingue de Rust. Contrairement à Golang, il évite les éléments risqués comme les pointeurs ou les l-values
  • Moonbit fonctionne aussi comme une plateforme, avec un outil de build rapide, un gestionnaire de paquets, un compilateur, un IDE, ainsi qu’un Cloud IDE original, sans conteneur et utilisable hors ligne
  • Un simple exemple de Fibonacci met en avant les atouts de Moonbit, notamment une excellente inférence de types locale, une taille Wasm compacte, de bonnes performances et une grande convivialité
  • Moonbit devrait atteindre le statut bêta d’ici la fin du T2 2024, ce qui indique une stabilité relative, un minimum de bugs et une interface robuste de fonctions externes (FFI) pour interagir avec les hôtes Wasm
  • L’équipe Moonbit accueille volontiers la participation de la communauté et les premiers retours via son forum, Discord ou son compte Twitter

1 commentaires

 
GN⁺ 2023-08-20
Commentaires sur Hacker News
  • Le responsable du projet présente Moonbit, un langage WebAssembly rapide, concis et convivial, et partage un lien vers un IDE en ligne pour que les utilisateurs puissent l’essayer.
  • La documentation du projet est disponible sur GitHub, et le compilateur sera publié lorsque le projet atteindra l’état bêta. Cela est prévu pour la fin du T2 2024.
  • Certains utilisateurs ont exprimé des inquiétudes concernant l’incohérence d’usage des mots-clés func et fn pour la définition des fonctions.
  • Des comparaisons ont été faites entre Moonbit et d’autres langages comme AssemblyScript et Grain, et des questions ont été soulevées sur les avantages distinctifs de Moonbit.
  • Certains se disent enthousiastes à l’idée que Moonbit soit un langage moderne ciblant WebAssembly avec un ramasse-miettes (GC).
  • Des questions ont été posées sur le GC de Moonbit, en particulier au sujet de la taille du binaire résultant pour Fibonacci.
  • L’équipe Moonbit prévoit d’atteindre l’état bêta d’ici la fin du T2 2024, et son plan stratégique comprend l’intégration de WebAssembly GC pour WebAssembly 2.0 ainsi qu’un GC maison pour WebAssembly 1.0.
  • Certains utilisateurs ont suggéré d’ajouter Grain à la comparaison des langages sur le site de Moonbit.
  • Des inquiétudes ont été exprimées au sujet du fait que le lien vers l’équipe du projet mène vers une page d’université chinoise, ce qui a conduit à suggérer qu’il pourrait s’agir d’un projet universitaire.
  • Des questions ont été posées sur un éventuel lien entre le projet et Meta. Son créateur, Hongbo Zhang, a déjà travaillé chez Meta sur des projets open source de langages de programmation.