2010-11-19 33 views
-1

Mes exigences sont les suivantes:Quel langage basé sur le bytecode utiliser lorsque l'implémentation et la taille du code sont importantes?

  • bytecode Virtual Machine
  • syntaxe C comme
  • Petite mise en œuvre et la taille du code
  • Garbage Collection pas nécessaire

serait utilisé dans environnements contraints micro-contrôleurs.

+2

Je pense "mineur WTF" chaque fois que je lis une exigence comme "syntaxe x-like". La syntaxe est la syntaxe - tant qu'elle n'est pas trop obscure, elle peut être lue et comprise après relativement peu de temps, en supposant qu'on connaisse la langue/la sémantique sous-jacente (sinon, tout est perdu;)). – delnan

Répondre

0

Les deux qui viennent immédiatement à l'esprit sont Lua et Mono, les deux pouvant être intégrés dans un programme.

  • Code-octet VM: Lua et Mono se compilent tous les deux en octets. Mono en plus des méthodes JIT à l'exécution pour de meilleures performances.
  • Syntaxe de type C: Lua a une syntaxe de type C et Mono prend en charge de nombreuses langues, y compris C#.
  • Petite implémentation et taille de code: Lua gagne ici. Notez que Mono peut être distribué avec une version allégée des bibliothèques de framework. Par exemple, vous pouvez supprimer l'assembly System.Xml si vous n'effectuez pas d'analyse XML, etc.
  • GC: Mono et Lua prennent en charge la récupération de place. Je ne suis pas sûr si c'est un pro ou un con pour vos besoins.
+0

Pour le gc: ce n'est pas vraiment nécessaire, donc ce n'est ni l'un ni l'autre. En outre, mono serait sérieusement exagéré en ce qui concerne la taille. – metafex

+0

Ok. Notez que le runtime Mono et corlib sont vraiment tout ce dont vous avez besoin. Vous pouvez réduire l'empreinte à quelques Mo. (Bien sûr, si c'est pour un périphérique embarqué, quelques Mo c'est beaucoup, donc je comprends pourquoi vous évitez Mono.) – cdhowie