Muon est un langage de programmation de bas niveau moderne, inspiré de C, C #, Go, Rust et Python.

  • Fortement et statiquement typé.
  • Orienté données: Juste des fonctions, des structures et des enums. NO: classes, héritage, propriétés, etc.
  • Pas de runtime: L’absence d’exécution rend le langage plus simple, réduit la latence de démarrage des applications et facilite l’utilisation du code Muon à partir d’autres langages.
  • Noyau extrêmement minimal: Une langue ne devrait pas dicter les dépendances. Il existe une bibliothèque standard, mais elle est complètement facultative.
  • Haute performance: S’efforcer d’obtenir la parité avec C.
  • Gestion de la mémoire flexible: Les programmeurs peuvent basculer dynamiquement entre les allocateurs et définir leurs propres allocateurs.
  • Évitez les pièges de sécurité de la mémoire communs: La mémoire est initialisée à zéro. Les limites du tableau sont vérifiées (peuvent être désactivées si nécessaire).
  • Pas de comportement indéfini: Un comportement indéfini peut entraîner divers bogues difficiles à détecter. Dans Muon, tous les comportements, y compris ceux spécifiques à la plate-forme, sont définis.
  • L’ergonomie compte: Les programmeurs passent beaucoup de temps à travailler avec une langue. L’ergonomie est donc importante. Muon a:
    • Inférence de type pour les valeurs de retour de fonction et les locales
    • Génériques
    • Commander des déclarations indépendantes
    • Newline comme instruction separator
    • Syntaxe d’appel de fonction uniforme
    • Notation du type de référence
    • Espaces de noms
  • Échec rapide: Généralement, le signalement / le traitement des erreurs se produit via les valeurs de retour. Pour les erreurs irrécupérables et les erreurs qu’un appelant n’est pas prêt à gérer, Muon fournit un abandon.
  • Petite langue: S’efforcer d’avoir un langage simple et petit. Avoir moins de moyens de faire quelque chose encourage un écosystème plus cohérent et plus ciblé.
  • Outils rapides et rapides: Fournir des outils centrés sur le retour rapide d’informations et l’amélioration de la compréhension du programme. Exemple: serveur de langues, REPL, rechargement à chaud, débogueurs, profileurs.

Source : GitHub

Related Articles
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *