PascalABC.NET
PascalABC | |
---|---|
Семантика | императивная |
Класс языка | мультипарадигменный: структурное, объектно-ориентированное, обобщённое, процедурное программирование |
Тип исполнения | компилятор |
Появился в | 2002 |
Автор | С. С. Михалкович, А. В. Ткачук, И. В. Бондарев, С. О. Иванов |
Расширение файлов |
.pas |
Выпуск | 1.8 сборка 513 (09.11.2012) |
Система типов | статическая |
Основные реализации | PascalABC.NET |
Испытал влияние | Паскаль, Delphi, C# |
Лицензия | freeware |
Сайт | Домашняя страница PascalABC.NET |
Медиафайлы на Викискладе |
PascalABC.NET — система программирования. Язык системы — это реализация Object Pascal для платформы Microsoft.NET, который содержит все основные элементы современных языков программирования: модули, классы, перегрузку операторов, интерфейсы, исключения, обобщенные классы, сборку мусора, а также некоторые средства параллельного программирования.[1]
Основное предназначение системы программирования PascalABC.NET — обучение современному программированию.
Предыстория. Pascal ABC
Система создавалась на факультете математики, механики и компьютерных наук ЮФУ как учебная среда программирования (автор — доцент С. С. Михалкович).
Система представляла из себя фактически интерпретатор языка программирования Паскаль с интегрированной оболочкой. Язык, в основном, соответствовал входному языку Object Pascal. Некоторые возможности, например, записи с вариантами, опускались «как бесполезные». Система Pascal ABC разрабатывалась в среде Delphi для операционных систем, использующих Win32 API.
Несмотря на неполную реализацию языка, система стала удачной заменой уже давно устаревшей системе Turbo Pascal в первоначальном обучении программированию. Уже с версии 2 Pascal ABC стал надёжной средой программирования для начинающих, имеющей практически полную реализацию Object Pascal. Система широко использовалась на мехмате ЮФУ как для обучения студентов, так и в работе Детской компьютерной школы мехмата ЮФУ[2]. Её использование также отмечалось в ряде средних школ Ростова-на-Дону. Благодаря созданию сайта системы Pascal ABC её использование существенно расширилось, система стала известна за пределами Ростова-на-Дону, как учебную систему её использовали во многих регионах СНГ. В каталоге Soft@Mail.ru программа Pascal ABC в 2006 году признавалась программой недели[3], а также признавалась самой популярной программой в категории программирование в 2005[4] и 2007[5].
Система Pascal ABC с сентября 2007 года не развивается и не поддерживается, однако её страница[2] продолжает функционировать и с этой страницы можно загрузить Pascal ABC версии 3.0.1.
PascalABC.NET
В 2005—2006 была предпринята переработка системы, изменён язык реализации — на C#, и изменена её архитектура — на полноценный компилятор языка Object Pascal с расширениями, связанными с платформой .NET. Новая система получила название PascalABC.NET. Система разрабатывается с частым выпуском версий. В июне 2009 года появилась стабильная версия 1.2 (1.2.0.325) PascalABC.NET.
Консольный компилятор PascalABC.NET функционирует на Linux и MacOS под Mono, однако среда разработки не является кроссплатформенной.
В 2007—2008 годах был зафиксирован интерес к системе PascalABC.NET из Болгарии [источник не указан 4416 дней] и других стран.
В сентябре 2009 г. появилась веб-среда разработки[6], позволяющая запускать программы на PascalABC.NET непосредственно из окна браузера. Для зарегистрированных пользователей доступен личный файловый архив программ с возможностью навигации. В августе 2010 г. в WDE появилась возможность создавать простые графические приложения[7].
В августе 2011 г. осуществлен переход на .NET 4.0 (версия 1.8). В январе 2012 г. WDE была переведена на .NET 4.0. С мая 2012 г. веб-среда разработки стала поддерживать компиляторы C#, VB.NET, Iron Python, F# и была переименована в ProgrammingABC.NET WDE.
Особенности языка и стандартные модули
- Операторы
+= -= *= /=
- Внутриблочные описания переменных
- Описание переменных в заголовке цикла
for
- Инициализация переменной при присваивании (
var n: integer := 10;
) в том числе и для локальных переменных - Автоопределение типа переменной при инициализации (
var x := 1;
) - Цикл
foreach
- Подпрограммы с переменным числом параметров
- Множества
set
на базе произвольных типов - Методы в записях
- Наряду со стандартным, упрощённый синтаксис модулей
- Структурная эквивалентность типов для динамических массивов, указателей, множеств и процедурных типов
- Все типы — классы
- Инициализаторы полей классов и записей
- Операция
new
для вызова конструктора - Возможность определять методы как внутри, так и вне интерфейса класса
- Перегрузка операций
- Интерфейсы в стиле .NET
- Подключение пространств имен .NET в разделе
uses
- Обобщённые классы, интерфейсы, подпрограммы и процедурные переменные
- Статические конструкторы
- Автоматическая сборка мусора для объектов
- Атрибуты
- Методы расширения
- Лямбда-функции с явной аннотацией типов
- Поддержка директив OpenMP
- Улучшенный модуль растровой графики GraphABC
- Модуль векторной графики ABCObjects
- Модули исполнителей Робот и Чертёжник (школьная информатика)
- Поддержка неуправляемого кода через external
Пример программы на PascalABC.NET. Прорамма выводит числа от 0 до 9 случайного цвета в случайнюю точку.
uses crt;
var i:integer;
begin
while true do
begin
GotoXY(Random(1,WindowWidth),Random(1,WindowHeight));
TextColor(Random(1,15));
write(Random(9));
Inc(i);
SetWindowTitle(i.ToString+' из 5000');
if i=5000 then
begin
i:=0;
ClrScr;
end;
end;
end.
Лицензия
Pascal ABC и PascalABC.NET всех версий является бесплатным (freeware) программным обеспечением.
Примечания
- ↑ Сайт проекта «Система программирования PascalABC.NET»
- ↑ 1 2 Система программирования Pascal ABC
- ↑ Программы недели -> программирование
- ↑ Номинация Программирование:Рейтинг софта за 2005:Софт@Mail.ru
- ↑ Номинация Программирование:Рейтинг софта за 2007:Софт@Mail.ru
- ↑ PascalABC.Net web development environment (WDE)
- ↑ Модуль графики для WDE - Система программирования PascalABC.NET
Ссылки
- Сайт проекта «Система программирования PascalABC.NET»
- Описание языка PascalABC.NET
- Электронный задачник по программированию Programming Taskbook
- RVGames.de (рус.) — Цифровая книга "Занимательные уроки с паскалем, или PascalABC.NET для начинающих"
- статья PascalABC.NET в Прогопедии — энциклопедии языков программирования (рус.)
- PascalABC на сайте Воскресной компьютерной школы
Литература
- Михалкович С.С. Учебная система программирования PascalABC // Научно-методическая конференция «Современные информационные технологии в образовании: Южный Федеральный округ» 13—14 мая 2004 / Крукиер Л.А., Муратова Г.В.. — Ростов-на-Дону: ЮГИНФО РГУ, 2004. — С. 156—158. — 252 с. — 200 экз.
- Михалкович С.С. Учебная система программирования PascalABC: опыт разработки и использования // Вторая международная научно-практическая конференция «Современные информационные технологии и ИТ-образование»: Сборник трудов. — М., 2006. — С. 394—399.
- Водолазов Н.Н., Михалкович С.С., Ткачук А.В. Опыт разработки учебного языка программирования для платформы .NET // Научно-методическая конференция «Современные информационные технологии в образовании: Южный Федеральный округ» 26—29 апреля 2007 / Крукиер Л.А., Муратова Г.В.. — Ростов-на-Дону: Изд-во «ЦВВР», 2007. — С. 71—73. — 312 с. — 250 экз. — ISBN 978-5-94153-146-2.
- Абрамян М.Э., Михалкович С.С. Основы программирования на языке Паскаль: Скалярные типы данных, управляющие операторы, процедуры и функции. — Ростов-на-Дону: ООО «ЦВВР», 2004. — 198 с. — ISBN 5-94153-075-7.
- Абрамян М.Э. Практикум по программированию на языке Паскаль: Массивы, строки, файлы, рекурсия, указатели. — Ростов-на-Дону: ООО «ЦВВР», 2004. — 187 с. — ISBN 5-94153-001-3.
- Рубанцев Валерий. [RVGames.de Занимательные уроки с паскалем, или PascalABC.NET для начинающих]. — Я + R, 2012. — 698 с.