DotGNU — проект организации Free Software Foundation (FSF) по созданию аналога платформы Microsoft .NET на базе свободного программного обеспечения, часть проекта GNU Project.

Целью DotGNU является предоставление разработчикам возможности использования множества языков программирования, как это реализовано в .NET. Но сейчас поддерживается только C# и ограниченно Visual Basic .NET, C и C++.

Состав DotGNU состоит из трёх основных частей: DotGNU Portable.NET — базовый пакет, включающий в себя runtime среду Common Language Infrastructure (CLI) «ilrun», компиляторы языков C# и ANSI C, библиотеки классов, в том числе System.Windows.Forms. Данная реализация System.Windows.Forms от DotGNU не использует сторонних библиотек вроде Gtk, Qt и не зависит от Wine. Portable.NET поддерживает широкий спектр операционных систем (GNU/Linux, различные BSD, Mac OS X, Solaris, AIX) и аппаратных архитектур (x86, PPC, ARM, PA-RISC, s390, IA-64, Alpha, MIPS, SPARC).  — многопользовательский GroupWare-пакет, содержащий обширный набор веб-сервисов, доступных по протоколу XML-RPC, которые могут быть использованы в приложениях. DGEE (DotGNU Execution Environment) — сервер для поддержки веб-сервисов.

Библиотека libjit для компиляции во время выполнения libJIT — открытая библиотека для компиляции во время выполнения (), созданная Ризом Визерли () и Норбертом Боллоу () в рамках проекта DotGNU для реализации CLI Portable.NET. В настоящее время libjit разрабатывается Кириллом Кононенко, Алексеем Демаковым, Клаусом Трейчелом. JIT является составной частью таких технологий, как Java и Microsoft .NET, и позволяет существенно повысить скорость работы приложений. В отличие от своих аналогов, libjit не накладывает ограничений на язык программирования или формат байт-кода. Достаточное внимание уделено также переносимости libjit на разные архитектуры. Если вы используете библиотеку на платформе, для которой ещё не реализована компиляция в машинный код, libjit автоматически переходит в режим интерпретатора.

См. также Mono

Литература

Ссылки

Материалы научных сессий и конференций

Категория:Программное обеспечение проекта GNU Категория:.NET Категория:Компиляторы C Sharp