Boo est 100% compatible avec C #?
-
16-09-2019 - |
Question
Boo
semble comme une langue très cool. Est-ce 100% compatible C #? Je veux dire: je peux utiliser un C # DLL / classe? Puis-je utiliser le cadre de XNA?
La solution
Pour autant que je sache, Boo a une mise en œuvre sur le dessus du CLR .NET - ce qui implique qu'il devrait être en mesure à la fois consommer et être consommé par le code C #. La syntaxe ne peut pas toujours être assez Boo lors de la consommation de C # -. Mais le contraire devrait être tout à fait élégante, étant donné la syntaxe de Boo
En outre, toutes les classes de la BCL .NET devrait être à votre disposition dans Boo.
Autres conseils
Oui Boo est facilement consommé par C # et vice versa. La plupart des meilleures caractéristiques de Boo ne sont pas retenus à C #, telles que des macros syntaxiques, pour des raisons évidentes, mais vous pouvez créer des macros en C # et les consommer à Boo. De plus Boo a la belle caractéristique d'être en mesure de créer des modules, ce qui est quelque chose que vous ne pouvez pas faire en C #.
Les deux peuvent créer des méthodes d'extension. Boo a taper « canard » en C # a maintenant le mot-clé « dynamique ». Alors qu'ils sont tous les deux vous fonctionnellement équivalent peut-être finir par voir les deux fusionnent finalement.
Boo a actuellement des problèmes connus avec les génériques, mais la fonctionnalité sera complètement pris en charge une fois qu'ils sont tous aplanies. Je pense qu'il y aura à un travail supplémentaire fait pour soutenir la nouvelle Co / Contra-variance dans .NET 4 dispose ainsi.
Il ne serait pas différent que d'utiliser VB.NET avec C #. Actuellement, la seule grande différence entre les deux (fonctionnellement) est Boo ne pas pointeurs ... mais il y a des façons de gérer cela.
PS: Boo est une langue merveilleuse
.IIRC, toute langue qui compile en IL (Intermediate Language, la version .NET du bytecode Java) peut fonctionner avec toute autre langue qui fait la même chose. Ainsi, vous pouvez mélanger C #, F #, ASP.NET, VB.NET, et si Boo fait la même chose, vous devriez être en mesure d'utiliser C # ainsi.