Рубрика:
Карьера/Образование /
Пятая пара
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
МИХАИЛ УШАКОВ, разработчик электронной аппаратуры и программного обеспечения для ядерной гаммарезонансной спектроскопии в Уральском федеральном университете
Инструментарий разработчика C#
На страницах «Пятой пары» мы в основном говорим о свободном ПО и Linux. Но это не значит, что мы обходим вниманием молодых разработчиков, предпочитающих иные платформы
C# является управляемым языком. Это означает, что C#-приложения выполняются в особой среде (CLR): такая схема, с одной стороны, ограничивает доступ к памяти и позволяет избежать связанного с этим неопределенного поведения приложений (что было характерно для программ на C/C++ при попытке записи в невыделенную память, например, в массив по индексу, превосходящему максимальный; в C# в аналогичной ситуации будет сгенерировано исключение ArgumentOutOfRangeException), а с другой, ограничивает производительность. Однако в ряде случаев C# обладает более высокой производительностью, чем другой популярный управляемый язык – Java [1].
На рис. 1 приведен общий итог сравнения производительности C# и Java под Windows и C# Mono в Linux, составленный на основе результатов, полученных в статье по ссылке выше. По оси ординат – число операций в микросекунду (чем больше значение, тем лучше).

Рисунок 1. Сравнение производительности C#, Java и Mono
Большим преимуществом С# являются развивающийся синтаксис языка, появление так называемого синтаксического сахара (например, Extension-методов), наличие удобных классов коллекций элементов, поддержка лямбда-выражений, LINQ и т.д. Такие возможности существенно ускоряют разработку программного обеспечения.
В данной статье будет представлен небольшой обзор свободного (или по крайней мере бесплатного) инструментария для разработки C#-приложений в Windows, доступный в силу указанных выше свойств для любого желающего. Однако немогу не отметить, что Visual Studio, по моему мнению, является оптимальной средой для C#, позволяет легко конфигурировать настройки проекта, подключать дополнительные библиотеки, отлаживать приложения. Если у вас есть лицензия на использование этого продукта Microsoft, то я настоятельно рекомендую остановиться на нем. Студентам естественно-научных и технических специальностей следует проверить, является ли их вуз партнером программы Microsoft Academic Alliance (https://www.dreamspark.com/default.aspx). Если это так, то у вас есть возможность получить лицензионные продукты от Microsoft.
Сборка, отладка, профилирование C#-приложений
В отсутствие «полновесной» Visual Studio в качестве интегрированной среды разработки можно использовать:
Microsoft Visual Studio Express – это сильно урезанный вариант Visual Studio. Редактор кода, компилятор и отладчик – все это присутствует в данной среде, однако Express-версия не позволит, например, редактировать ресурсы проекта (.resx-файлы), подключать плагины, обладает урезанным набором инструментов; кроме того, Express-версии Visual Studio, как и, к примеру, Eclipse, доступны отдельно для каждого языка (С++, С#, VB). Это не очень удобно, так как не всегда хочется переключаться между окнами Visual Studio, к тому же Visual Studio Professional/Premium создала этой IDE репутацию «одной среды для всего».
Для SharpDevelop 4.2 потребуется установить .NET Framework 4.0 и пакет среды времени выполнения С++ (Microsoft Visual C++ Redistributable 2008 x86 или x64, в зависимости от архитектуры процессора и установленной операционной системы). Основное преимущество SharpDevelop – очень быстрая работа, что особенно важно для запуска на слабых компьютерах, например, на Pentium III или Pentium IV. Интерфейс весьма похож на интерфейс Visual Studio (см. рис. 2).

Рисунок 2. Интерфейс SharpDevelop
SharpDevelop позволяет создавать проекты на языках программирования C++, Python, Boo и, конечно, же C#, в том числе и веб-проекты с поддержкой ASP.NET MVC 4. IDE может легко подключать дополнительные фреймворки, например, для работы с базами данных (Entity Framework). В числе достоинств данного продукта – то, что SharpDevelop позволяет открывать решения (Solution, .sln) и проекты (.csproj), созданные в Visual Studio до версии 2010 включительно. Среда имеет механизм загрузки пакетов библиотек и компонентов – NuGet, который позволяет легко интегрировать нужные библиотеки в проект – см. рис. 3, где я одним кликом добавил в проект пакет модульных тестов. Если открыть файл packages.config, то можно увидеть в списке пакетов соответствующую запись:
<package id="NUnit" version="2.6.2" targetFramework="net35">

Рисунок 3. Добавление Entity Framework в проект с помощью NuGet в SharpDevelop
Из интересных особенностей SharpDevelop следует отметить возможность конвертировать приложение C# в приложение на Ruby, Python или VB.NET в один клик.
Статью целиком читайте в журнале «Системный администратор», №10 за 2013 г. на страницах 85-91.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|