С# на Linux - Кто-нибудь получил мнение, основанное на опыте использования моно?

Стоит ли изучать С#, если вы пользователь Linux? Существует Mono, но кажется, что он всегда должен быть за кривой с постоянной угрозой действия MS, если они начнут терять деньги.

В настоящее время я больше склоняюсь к Java, поскольку он полностью GPLed, и нет серьезных угроз патентам на программное обеспечение. У этого уже есть большое сообщество oss за этим и имеет прочную репутацию на сервере, тогда как С# все еще должен проявить себя там.

Большим преимуществом для программистов на С# является то, что они дешевле, чем разработчики Java. Я также задаюсь вопросом, как переносимый С# -код. Можно ли просто взять приложение С#, написанное для целевой Mono, и запустить его в окнах?

Ответ 1

Я написал несколько программ командной строки С#, в частности, для запуска в качестве распределенных симуляторов, предназначенных для Ubuntu. Они отлично работают там или в Windows.

Трудно сказать, что ждет в будущем, но С# - мощный язык, и я думаю, что он стоит учиться даже для нашего личного роста. Я презираю Windows самостоятельно, но писал С# некоторое время (для Windows в основном), так как он оплачивает счета.

Novell широко использует Mono для своих Linux-приложений, и я думаю, что их отношения с Microsoft добавили некоторый вес к идее, что .NET для Linux будет придерживаться.

Вот список некоторых компаний, использующих Mono.

Ответ 2

"на сервере, тогда как С# по-прежнему для доказательства там"

Вы знаете, что MySpace встроен в ontop ASP.NET, не так ли? Миллионы хитов в день, сбивающие С# backend.

Ответ 3

Извините за пламенную приманку, но у меня лично больше шансов на переносимость с моно, чем с java. Это не просто выражение, просто мой опыт.

Ответ 5

Учитывая ваш сценарий, меня лично, я бы изучил Java, так как вы найдете переход на С# дальше по прямой, довольно гладкий. Также наличие Java под вашим поясом - очень хорошая вещь. Я бы сказал, что Java гораздо более переносима, чем С#, хотя у вас есть возможность использовать Compact Framework, который будет быстрее загружаться с вашей программой.

Ответ 6

Я работаю в компании, которая использует как Java, так и С#. Я предпочитаю С#, потому что я думаю, что Visual Studio удаляет Eclipse, и мне просто нравится язык лучше. Однако, я думаю, вы могли бы лучше изучить Java в своем случае. У вас больше гибкости как для вашего проекта, так и для карьерного роста. Вы можете учиться С# в любое время.

Ответ 7

С# - хороший язык, и мне гораздо легче работать с C/С++, особенно для приложений GTK.

Я также считаю, что изучение С# было бы намного лучше, чем изучение Java. Я говорю это не иначе, как мой личный вкус, но я также честно и объективно считаю, что у С# будет лучшее будущее, чем Java.

Что касается запуска приложений Mono в Windows, вы можете сделать это без хлопот, но если это приложение графического интерфейса, вам придется либо создать версию Windows, использующую Winforms, либо ваши пользователи должны будут установить GTK для Windows, В любом случае, ваши приложения будут выглядеть намного лучше, чем Java-приложения на обеих платформах.

Наконец, я не думаю, что M $в ближайшее время примет судебное решение против Mono.

Ответ 8

Это работает очень хорошо. IMHO вы должны использовать Mono с сайта разработки (www.go-mono.com), а не версию, предоставленную вашим дистрибутивом.

Кроме того, вы можете попробовать запустить его с помощью машины VMWare, которая также доступна на официальном сайте.