PascalABC.NET | это... Что такое PascalABC.NET? (original) (raw)
PascalABC
Семантика: | императивная |
---|---|
Класс языка: | мультипарадигменный: структурное, объектно-ориентированное, обобщённое, процедурное программирование |
Тип исполнения: | компилятор |
Появился в: | 2002 |
Автор(ы): | С. С. Михалкович, А. В. Ткачук, И. В. Бондарев, С. О. Иванов |
Релиз: | 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 из Болгарии [источник не указан 22 дня] и других стран.
В сентябре 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](726664)**
- Подпрограммы с переменным числом параметров
- Множества
**set**
на базе произвольных типов (**set of** integer
) - Методы в записях
- Наряду со стандартным, упрощённый синтаксис модулей
- Структурная эквивалентность типов для динамических массивов, указателей, множеств и процедурных типов
- Двумерные динамические массивы
- Все типы — классы
- Инициализаторы полей классов и записей
- Операция
**new**
для вызова конструктора - Возможность определять методы как внутри, так и вне интерфейса класса
- Перегрузка операций
- Интерфейсы в стиле .NET
- Подключение пространств имен .NET в разделе
**uses**
- Обобщённые классы, интерфейсы, подпрограммы и процедурные переменные
- Статические конструкторы
- Автоматическая сборка мусора для объектов
- Атрибуты
- Методы расширения
- Лямбда-функции с явной аннотацией типов
- Поддержка директив OpenMP
- Поддержка неуправляемого кода через external
Стандартные модули
Поскольку в PascalABC.NET можно пользоваться всеми библиотеками платформы .NET, то стандартные модули ориентированы исключительно на обучение:
- Модуль растровой графики GraphABC
- Модуль векторной графики ABCObjects
- Модуль Arrays для ввода-вывода-заполнения одномерных и двумерных динамических массивов
- Модуль Collections, содержащий упрощенные классы коллекций
- Модуль MPI - обертка над MPI-функциями
- Модули исполнителей Робот и Чертёжник (школьная информатика)
Примеры программ
Пример 1. Использование методов расширения для программирования в функциональном стиле
uses Arrays;
var a: array of integer := (1,3,5,7,9,11,13,15,17,19);
begin a.Writeln; // Поменять местами первую и вторую половины массива с четным количеством элементов Assert(a.Length mod 2 = 0); var n := a.Length div 2; a.Skip(n).Concat(a.Take(n)).ToArray().Writeln; 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 с.