PascalABC.NET — диалект языка Pascal для платформ .NET и Mono, а также компилятор и среда разработки для него. Разрабатывается в Южном Федеральном Университете и используется для обучения программированию. Среда разработки работает только под Windows, но компилятор работает и в GNU/Linux под Mono.
Долгое время проект имел проприетарную лицензию (распространялся при этом бесплатно), но 28 августа 2015 года (одновременно с выпуском версии 3.0) переведён на GNU LGPL.
Особенности (с официального сайта):
- Ряд расширений языка Pascal, в числе которых оператор foreach, внутриблочные описания переменных, автоопределение типа при описании, встроенные множества произвольных типов, упрощенный синтаксис модулей, методы в записях, операция new для создания объектов, определение тел методов внутри классов, безымянные классы, автоклассы, целые произвольной длины.
- Самые современные средства языков программирования: обобщенные классы и подпрограммы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, n-мерные динамические массивы.
- Генерация эффективного кода для платформы .NET.
- Высокая совместимость с Delphi.
- Высокая скорость выполнения программ.
- Возможность доступа к огромному количеству .NET-библиотек от контейнерных классов до средств работы с сетью.
- Среда разработки с встроенным отладчиком, обеспечивающая подсказки по коду, переход к определению и реализации подпрограммы, шаблоны кода, автоформатирование кода.
- Встроенный в среду разработки дизайнер форм для быстрого создания оконных приложений.
- Простая и эффективная растровая графическая библиотека.
- Средства параллельного программирования в виде директив OpenMP.
- Встроенный электронный задачник Programming Taskbook.
- Модули исполнителей Робот и Чертежник, используемых в школьной информатике.
- Механизм проверяемых заданий, обеспечивающий автоматическую постановку и проверку заданий.
- Наличие Web-среды разработки WDE, позволяющей запустить программу прямо из окна браузера.
- Возможность опубликовать в интернете ссылку на файл, сохраненный в Web-среде разработки.
- Возможность запуска консольного компилятора под Mono в современных версиях Linux.
- Использование многолетнего опыта обучения программированию при создании языка и среды.
>>> Подробности