Программируем на C# в Linux

Начав обучение программированию на языке C# (потому что это модно и молодежно), я подумал - а нет ли возможности писать программы на этом же языке под Linux? Оказывается, даже более чем есть. Всем известная компания Novell создала проект Mono - воплощение системы .NET Framework для свободного программного обеспечения. Проект активно развивается, несмотря на то что Microsoft свою руку к этому делу вообще не приложила. Ныне поддержкой проекта занимается корпорация Xamarin. Но обо всем по порядку.

.NET Framework - это, если грубо сказать, платформа, выполняющая на своем языке (CLR) различные программы, если углубится, то это вообще набор библиотек и инструкций что и как делать программе. Mono по сути является этой самой платформой, только открытой, может, конечно, немного не так написано как на оригинал, но тем не менее программы на ней пишутся, и вполне спокойно.

Но одной платформы и компилятора будет маловато, для удобства нужна хорошая и удобная среда. К счаcтью, не так давно вышла новая версия MonoDevelop.

Скачать же сию среду можно здесь. Как поставить на популярные дистрибутивы, там написано, у меня же ArchLinux, и я просто взял ее из AUR.

Тут довольно странно получается, что при компиляции на выходе получается обычный exe-файл, и его даже можно запустить на Windows, при наличии .NET Framework и GTK-библиотек, если вы пишите оконное приложение. То есть можно вообще даже не заморачиваться по поводу кроссплатформенности, это радует. Также если писать что-то простое, то можно это сделать даже в командной строке:

- запишем исходник в текстовом файле (например, Sample.cs). Для примера возьмем Hello World!

using System;
  public class Test {
    public static void Main(string[] args) {
      Console.WriteLine("Hello World!");
    }
  }

- скомпилируем исходник и запустим получившееся

$ mcs test.cs
$ mono test.exe

В ответ у нас выйдет строка "Hello World!", и получившийся бинарник так же можно запустить на Windows (с предустановленной Mono или .NET Framework) или Mac OS X. Есть тут только одна тонкость - как было видно из примера, запускать надо именно через mono.

Вот, собственно, и все. Как видите, ничего сложного.

Комментарии

Аватар пользователя IIIypuk

Сам я не пробовал mono, но знакомый говорил, что проблем при компиляции не бывало.
Он из-за какого то бага в VS установил в виртуалку Ubuntu и в ней кодил  

Добавить комментарий