PascalABC.NET

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Miks2012 (обсуждение | вклад) в 21:29, 3 декабря 2012. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
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

Внешние изображения
Внешний вид программы.

В 20052006 была предпринята переработка системы, изменён язык реализации — на 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 // Научно-методическая конференция «Современные информационные технологии в образовании: Южный Федеральный округ» 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 с.

Шаблон:Нет интервики