Совместим ли Boo на 100% с C#?
-
16-09-2019 - |
Вопрос
Boo
кажется, очень крутой язык.Совместим ли он на 100% с C#?Я имею в виду:могу ли я использовать любую DLL/класс С#?Могу ли я использовать платформу XNA?
Решение
Насколько мне известно, у Boo есть реализация поверх .NET CLR, что означает, что она должна иметь возможность как потреблять, так и использоваться кодом C#.Синтаксис не всегда может быть красивым при использовании Boo из C#, но противоположное должно быть весьма элегантным, учитывая синтаксис Boo.
Кроме того, все классы .NET BCL должны быть доступны вам в Boo.
Другие советы
Да, Boo легко используется C#, и наоборот.Большинство лучших функций Boo, например синтаксические макросы, по очевидным причинам не переносятся на C#, но вы можете создавать макросы на C# и использовать их в Boo.Кроме того, у Boo есть приятная возможность создавать модули, чего нельзя сделать в C#.
Они оба могут создавать методы расширения.В Boo используется «утиная» типизация, а в C# теперь есть ключевое слово «динамический».Хотя они оба функционально эквивалентны, в конечном итоге вы можете увидеть их слияние.
В настоящее время у Boo есть известные проблемы с дженериками, но эта функция будет полностью поддерживаться, как только все они будут устранены.Я подозреваю, что придется проделать некоторую дополнительную работу и для поддержки новых функций Co/Contra-variance в .NET 4.
Это ничем не отличается от использования VB.NET с C#.В настоящее время единственное большое различие между ними (функционально) заключается в том, что у Boo нет указателей...но есть способы справиться с этим.
ПС:Бу ЭТО замечательный язык.
IIRC, любой язык, который компилируется в IL (промежуточный язык, версия байт-кода Java для .NET), может работать с любым другим языком, который делает то же самое.Таким образом, вы можете смешивать C#, F#, ASP.NET, VB.NET, и если Boo делает то же самое, вы также сможете использовать with с C#.