PascalABC.NET

PascalABC.NET
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

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

История развития

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

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "PascalABC.NET" в других словарях:

  • .Net Remoting — NET Remoting это созданный компанией Microsoft API для межпроцессного взаимодействия. Выпущен в 2002 году вместе с версией 1.0 пакета .NET Framework. Это одна из серии технологий от Microsoft, начатой в 1990 году первой версией OLE для 16 разрядн …   Википедия

  • .NET Framework 3.x — NET Framework 3.0, первоначально называвшийся WinFX интерфейс программирования приложений, который входит в состав операционной системы Windows Vista и Windows Server 2008. Старый интерфейс, Win32 API, будет по прежнему доступен, но из него не бу …   Википедия

  • .NET Framework — Для термина «.NET» см. другие значения. .NET Framework Тип Комп …   Википедия

  • .NET Compact Framework — У этого термина существуют и другие значения, см. .NET. .NET Compact Framework Тип Компьютерная платформа Разработчик Microsoft Операционная система Основанная на Windows CE Последняя версия 3.5 (25 января 2008) Лицензия …   Википедия

  • .NET Remoting — У этого термина существуют и другие значения, см. .NET. .NET Remoting  компонент, созданный компанией Microsoft. API для межпроцессного взаимодействия. Реализация от Microsoft протокола SOAP (веб сервисы). Выпущен в 2002 году вместе с… …   Википедия

  • .NET Micro Framework — У этого термина существуют и другие значения, см. .NET. .NET Micro Framework Тип Компьютерная платформа Разработчик Microsoft Операционная система не требуется Последняя версия 4.2 Лицензия Apache 2.0, MS EULA …   Википедия

  • .NET Show — The .NET Show Официальный логотип шоу с февраля 2001 года Жанр Обзоры новейших разработок корпорации Microsoft Автор(ы) Роберт Хесс Ведущий(е) …   Википедия

  • ASP.NET — Проверить нейтральность. На странице обсуждения должны быть подробности. ASP.NET  технология создания веб приложений и веб сервисов от компании Майкр …   Википедия

  • ASP.NET MVC Framework — Тип Веб фреймворк Разработчик Microsoft Написана на C# Операционная система Кроссплатформенное ПО Аппаратная платформа .NET Framework, Mono …   Википедия

  • Список .NET-языков — Эта страница информационный список. Языки программирования .NET (Языки с поддержкой CLI или CLI языки)  компьютерные языки программирования, используемые для создания библиотек и программ, удовлетворяющих требованиям Comm …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»