Насколько надежен Mono для разработки на C# в Linux и OS X? Я думал об изучении C# на стороне, и мне было интересно, хватит ли обучения с использованием Mono.





Все должно быть в порядке. Теперь он поддерживает C# 3.0. Я обычно стараюсь придерживаться таргетинга 2.0, и он очень стабилен.
У меня Winforms и ASP.NET отлично работали. Единственное, что следует учитывать, это то, что в настоящее время поддержка WPF отсутствует.
Чтобы выучить язык, у вас все будет хорошо. В моно отсутствуют некоторые библиотеки, но это не помешает вам выучить язык. Вы можете найти более подробную информацию на Страница моно проекта: часто задаваемые вопросы.
.NET 2.0 полностью реализован, и если вы планируете использовать только .NET 2.0, почти гарантировано, что он будет работать должным образом (даже WinForms) :) Другие версии все еще находятся в стадии интенсивной разработки, поэтому вам нужно проверить веб-сайт Mono.
Я использую моно уже более 2 лет. Работа в окнах и .Net, дома в GNU / Linux. Мне удалось без проблем запускать как приложения с графическим интерфейсом пользователя, так и приложения ASP.NET из одного и того же репозитория SVN. Единственные изменения, которые мне пришлось внести, касались строк подключения. ASP.NET хорошо работает под mod_mono для apache и xsp2. Некоторые части .NET 3.5 отсутствуют, но определенно работают для .NET 2.0 и более ранних версий.
Monodevelop идет хорошо, и я считаю, что отладчик тоже работает хорошо.
Я не могу говорить о поддержке Mono OSX, но она используется для некоторых довольно больших проектов в Linux, таких как Банши и F-точка. Monodevelop - довольно приличная IDE, доступная для него.
Я считаю, что изучать C# с помощью моно очень жизнеспособно. У меня нет практического опыта работы с моно, но платформа кажется очень стабильной, и моно используется во многих коммерческие и открытые приложения.
Недавно Mono объявила, что полностью поддерживает .NET 3.5, и в целом Mono хорошо справляется с большинством вещей. Большая часть работы выполняется добровольцами, поэтому вы все равно будете сталкиваться с крайними случаями, которые вызовут проблемы, но они очень быстро реагируют на bugzilla и списки рассылки.
Еще одна замечательная функция, которую они только что добавили, - это возможность удаленно подключаться к процессу, запущенному на Linux / Mac, из Visual Studio в Windows. Это дает вам возможность отлаживать любые проблемы, специфичные для вашей системы.
Mono очень хорош в OSX. Единственная часть стека, которой не хватает, - это графический интерфейс, ни Gtk #, ни Winforms не работают так же хорошо, как в Linux.
Мононуклеоз де-факто .NET для Unix.
Я не предлагаю, но рекомендую вам изучить C#, используя Мононуклеоз. Таким образом, вы окунетесь в кроссплатформенный подход .NET.
Теперь, используя Инструменты Xamarin Mono (http://xamarin.com/), вы также можете разрабатывать кроссплатформенные мобильные приложения, разделяющие код между Android, iOS и WindowsPhone (и другими).
После этого поста поддержка OSX значительно улучшилась, Monodevelop теперь официально выпущен для платформы, а Banshee для OSX, я полагаю, находится в стадии бета-тестирования.