Есть ли недостатки в обучении С# в MonoDevelop?

Я хочу научиться С#, потому что... В наши дни это выглядит довольно доступным языком. Больше, чем C, не так много, как PHP/MySQL в моей области, но я предпочел бы быть разработчиком программного обеспечения, чем веб-разработчик. В любом случае, я запускаю linux, и у меня нет надежды работать на платформе Windows, пока я не куплю новый компьютер. Итак, есть ли недостатки в изучении С# под Linux? Если да, есть ли хорошие уроки онлайн для такого? Какие-нибудь хорошие учебники онлайн для изучения С# вообще?


Обновление

так что я получаю, что главный недостаток заключается в том, что, хотя полная спецификация языка С# реализована в моно, полная инфраструктура .Net - это не так. Но, пока я не смогу получить новую систему и не запускаю окна, мне кажется, что не хватает полной структуры.

Ответы

Ответ 1

Спецификация языка полностью реализована, но сама структура не является. Поэтому изучение языка С# не будет отличаться (игнорируя преимущества использования визуальной студии в качестве вашей среды IDE). Запись на рамки будет немного отличаться.

edit > Это также зависит от того, какое программирование вы намерены делать. Многие части моно, которые не являются полными, также часто являются крайними случаями для новичков, с которыми вы вряд ли столкнетесь. Поэтому, если вы просто изучаете С#, есть очень хороший шанс, что вы не столкнетесь с теми частями фреймворка, которые еще не были реализованы (и я имею в виду, что они очень быстро обновляют моно, вы уже видели, поэтому к тому времени, когда вы будете готовы изучить структуру и все, что она влечет за собой, есть хороший шанс, что она может быть завершена к тому времени)

Ответ 2

Обучение С# на linux действительно может быть хорошим, когда вы начинаете делать это на окнах, вы будете знать оба. IDE не будет таким современным, но я готов поспорить, что не так много людей, которые могут сделать это на обоих.

Вы сможете сосредоточиться на реальном языке С#, и вы сможете изучить IDE microsoft, когда сможете использовать С# в окнах.

Ответ 3

Основные недостатки, которые я вижу:

  • Последние версии .NET не поддерживаются
  • Различные инструменты между Mono и Visual Studio

Несмотря на это, я думаю, вы можете много узнать о С# на Mono.

Ответ 4

Какие-нибудь хорошие учебники онлайн для изучения С# вообще?

Вот учебник, который я написал:

http://www.csharp-station.com/Tutorial.aspx

Обратная связь указала, что весь код в учебнике отлично работает на Mono.

Джо

Ответ 5

Изучение языка не должно повредить, я не буду зависеть от него, чтобы приземлить вас на работу. Однако имейте в виду, что многие из служб времени выполнения, к которым осуществляется доступ через С#, могут быть недоступны. Знание этих услуг, возможно, так же важно, как, если не больше, самого языка.

Ответ 6

Основная проблема с С# в Linux заключается в том, что ваша система разработки не будет такой же хорошей, по мнению большинства людей. Но вы можете отлично справиться с vi (1)...

Ответ 7

В MonoDevelop у вас не будет всех новейших функций платформы .NET, где-то между 2.0 и 3.5. Однако он поддерживает С# 3.0.

Ответ 8

Моно набирает силу очень быстро. Я слышал ругательства, что MS молча поддерживает Mono (см. Их подход с получением SL для работы в Linux). В некоторых случаях mono фактически превосходит .net на сервере на базе Windows.

Недостатком будет IDE и функции, о чем многие уже упоминали. Visual Studio на сегодняшний день является лучшей IDE.

Он поддерживает Asp.Net MVC IIRC, хотя.

Ответ 9

Моно преодолевает единственный большой недостаток использования .NET от Microsoft для многих разработчиков, требования для работы на платформе Windows. Предоставляя общий исходный выпуск .NET Framework на несколько платформ, а затем создавая проект с открытым исходным кодом вокруг его расширения, Mono Project предоставил сильные стороны .NET для широкого круга разработчиков. Возможность разработки с использованием различных языков, все с использованием общего интерфейса и развертывания на нескольких платформах - очень важная стратегия развития.

Что касается аспектов веб-сервисов Mono, то почти все Framework имеют полное значение, так что разработчик может начать разработку веб-сервисов сегодня с помощью Mono. В Mono реализованы почти полные реализации ASP.NET, ADO.NET и Web Forms, а также почти все пространство имен SYSTEM. Для получения более подробной информации посетите официальный сайт mono, mono-project.com ознакомьтесь с этими статьями в Cool Solutions for Developers:

Ответ 10

Ну нет ничего плохого, если мы узнаем что-то, и, возможно, мы сможем улучшить его, что будет более полезно для будущих пользователей. Вероятно, это сила открытого источника. Я думаю, что все разработчики согласятся на этот вопрос:)