- PascalABC.NET
-
PascalABC Семантика: Класс языка: мультипарадигменный: структурное, объектно-ориентированное, обобщённое, процедурное программирование
Тип исполнения: Появился в: 2002
Автор(ы): С. С. Михалкович, А. В. Ткачук, И. В. Бондарев, С. О. Иванов
Релиз: 1.8 сборка 513 (09.11.2012)
Типизация данных: Основные реализации: 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 из Болгарии
и других стран.В сентябре 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
на базе произвольных типов (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 с.
IDE (сравнение) Универсальные Anjuta • Visual Studio • NetBeans • Eclipse • KDevelop • Xcode • Geany • MonoDevelop • Aptana Studio • Open Watcom • Komodo • Kylix
Си/C++ Borland C++ • C++ Builder • Code::Blocks • CodeLite • wxDev-C++ • Pelles C • Oracle Solaris Studio • Qt Creator • Ultimate++ • Microsoft QuickC
Бейсик PowerBASIC • Turbo Basic • Visual Basic • QBasic • QuickBASIC • PureBasic
Java WebLogic • BlueJ • DrJava • Greenfoot • JCreator • JDeveloper • IntelliJ IDEA • JBuilder • JGRASP
Паскаль Delphi • Lazarus • MSE • PascalABC.NET • MIDletPascal • PocketStudio • Morfik • Turbo Pascal • QuickPascal • Visible Pascal • Geany
PHP Aptana Studio with PHP plugin • Delphi for PHP (RadPHP) • Eclipse PDT • Zend Studio • NuSphere PhpED • PHP Expert Editor • phpStorm • Adobe Dreamviewer
Python ActionScript Adobe Flash • Adobe Flash Builder • FlashDevelop • CodeDrive • IntelliJ IDEA • Eclipse FDT • Realaxy ActionScript Editor
Ruby Категории:- Появились в 2002 году
- Языки программирования по алфавиту
- Интегрированные среды разработки
- Семейство языков программирования Pascal
- Компиляторы языка Паскаль
- Объектно-ориентированные языки программирования
- Языки программирования платформы .NET
- Операторы
Wikimedia Foundation. 2010.