DotGNU против Mono
DotGNU и Mono, похоже, атаковать ту же проблему, а именно внедрять .NET CLR в свободном режиме с открытым исходным кодом с учетом межплатформенной совместимости.
Я немного читал об обоих, и мне сложно решить, какую реализацию использовать для предстоящего проекта. В моем конкретном проекте не нужны System.Windows.Forms, поэтому часть графического интерфейса библиотеки не будет слишком важна.
Итак: кто-нибудь пытался сравнить эти два напрямую? Каковы подводные камни по отношению к другому? Поддерживается ли еще сообщество FOSS другим?
Спасибо всем, кто отвечает:)
Ответы
Ответ 1
Ну, Mono выглядит намного более полным портом для меня, с гораздо большей поддержкой.
Судя по веб-сайту, DotGNU, похоже, говорит о том, что люди не используют .NET, поскольку речь идет о предоставлении жизнеспособной альтернативы. Многие ссылки (например, "последние изменения" ) не кажутся полезными.
Mono, с другой стороны, очень явно активно развивается, поддерживает новую DLR, реализовал поддержку С# 3.0 и LINQ, доступен для установки из пакетов для нескольких платформ, имеет рабочую документацию и т.д. Победитель кажется довольно понятным мне.
Ответ 2
Dotgnu не поддерживает generics и анонимных делегатов, в то время как mono делает.
Я успешно скомпилировал dotgnu из git источников на нескольких платформах с и без libjit. У меня было намного меньше успеха, скомпилировав моно из их последних источников.
Если вы скомпилируете pnet с libjit (./configure --with-jit), производительность dotgnu немного лучше, чем моно для теста nbody.
Итак, если вам нужны дженерики, перейдите к моно. В противном случае перейдите к dotgnu.
PS: Существует определенная разработка в dotgnu git -sources - я время от времени обновляю его и могу видеть новые коммиты так часто.