Содержание
Система создавалась на факультете математики, механики и компьютерных наук ЮФУ как учебная среда программирования (автор — доцент С. С. Михалкович).
Система представляла из себя фактически интерпретатор языка программирования Паскаль с интегрированной оболочкой. Язык, в основном, соответствовал входному языку 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
- Подпрограммы с переменным числом параметров
- Множестваset на базе произвольных типов ( set of integer )
- Методы в записях
- Наряду со стандартным, упрощённый синтаксис модулей
- Структурная эквивалентность типов для динамических массивов, указателей, множеств и процедурных типов
- Двумерные динамические массивы
- Все типы — классы
- Инициализаторы полей классов и записей
- Операция new для вызова конструктора
- Возможность определять методы как внутри, так и вне интерфейса класса
- Перегрузка операций
- Интерфейсы в стиле .NET
- Подключение пространств имен .NET в разделе uses
- Обобщённые классы, интерфейсы, подпрограммы и процедурные переменные
- Статические конструкторы
- Автоматическая сборка мусора для объектов
- Атрибуты
- Методы расширения
- Лямбда-функции с явной аннотацией типов
- Поддержка директив OpenMP
- Поддержка неуправляемого кода через external
Стандартные модули
Поскольку в PascalABC.NET можно пользоваться всеми библиотеками платформы .NET, то стандартные модули ориентированы исключительно на обучение:
- Модуль растровой графики GraphABC
- Модуль векторной графики ABCObjects
- Модуль Arrays для ввода-вывода-заполнения одномерных и двумерных динамических массивов
- Модуль Collections, содержащий упрощенные классы коллекций
- Модуль MPI — обертка над MPI-функциями
- Модули исполнителей Робот и Чертёжник (школьная информатика)
PascalABC.NET | |
---|---|
Семантика | императивная |
Класс языка | мультипарадигменный: структурное, объектно-ориентированное, обобщённое, процедурное программирование, функциональное программирование |
Тип исполнения | компилятор |
Появился в | 2002 |
Автор | С. С. Михалкович, И. В. Бондарев, А. В. Ткачук, С. О. Иванов |
Выпуск | 3.5.1, сборка 2250 (14.09.2019) |
Система типов | статическая |
Основные реализации | PascalABC.NET, Pascal ABC (поддержка прекращена) |
Испытал влияние | Паскаль, Delphi, C#, Python |
Лицензия | LGPL |
Сайт | pascalabc.net |
Платформа | .NET CLR (WinXP и старше), Mono (Linux, MacOS) |
PascalABC.NET — язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нём можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм. Кроме того, консольный компилятор PascalABC.NET функционирует на Linux и MacOS под Mono.
Содержание
История развития [ править | править код ]
В 2003 году на факультете математики, механики и компьютерных наук ЮФУ была создана учебная среда программирования Pascal ABC. Система представляла собой интегрированную оболочку со встроенным интерпретатором языка программирования Паскаль, близкого к языку Delphi. Несмотря на неполную реализацию языка, она стала удачной заменой устаревшей системе Turbo Pascal в первоначальном обучении программированию. Как учебную систему её использовали во многих регионах СНГ. В каталоге Soft@Mail.ru программа Pascal ABC в 2006 году признавалась программой недели [1] .
![]() |
|
---|---|
![]() |
Внешний вид программы. |
В 2005—2006 годах система была полностью переработана: изменена её архитектура — на полноценный компилятор языка, близкого к Delphi, с расширениями, связанными с платформой .NET. Новая система получила название PascalABC.NET. В июне 2009 года появилась первая стабильная версия PascalABC.NET 1.2.
В сентябре 2009 г. появилась веб-среда разработки WDE, не требующая установки PascalABC.NET на локальный компьютер и позволяющая запускать программы на PascalABC.NET непосредственно из окна браузера. Веб-среда разработки была закрыта в октябре 2017 года.
В августе 2011 г. осуществлен переход на .NET 4.0 (версия 1.8).
В феврале 2013 г. вышла версия PascalABC.NET 2.0 с дизайнером форм и поддержкой проектов.
15 мая 2013 г. вышла версия 2.1 с английской локализацией интерфейса и сообщений об ошибках.
15 февраля 2014 г. вышла версия PascalABC.NET 2.2. Многократно ускорено обращение к символам строки на запись.
28 августа 2015 г. вышла версия PascalABC.NET 3.0. PascalABC.NET стал свободным и распространяется под лицензией LGPLv3.
12 февраля 2016 г. вышла версия PascalABC.NET 3.1. Появились кортежи и срезы, значительно обновлена стандартная библиотека.
29 августа 2016 г. вышла версия PascalABC.NET 3.2. Появились операторы yield и yield sequence, обновлена стандартная библиотека.
30 августа 2017 г. вышла версия PascalABC.NET 3.3. Появились стандартные модули GraphWPF и Graph3D (для Windows Vista и выше), упрощенный цикл loop, операция безопасного среза, кортежное присваивание, поддержка Nullable-типов. Добавлена украинская локализация интерфейса и сообщений об ошибках.
11 февраля 2018 г. вышла версия PascalABC.NET 3.3.5. Добавлен стандартный модуль NumLibABC (учебная библиотека численных методов), реализованы форматные строки и операция возведения в степень. В полную версию дистрибутива (для Windows Vista и выше) интегрирована .NET 4.7.1, для Windows XP оставлен дистрибутив с .NET 4.0.
25 мая 2018 г. вышла версия PascalABC.NET 3.4. Реализовано некоторое подмножество Pattern Matching, расширенный оператор is.
1 сентября 2018 г. вышла версия PascalABC.NET 3.4.2. Реализованы расширенные свойства, расширенные индексные свойства и автосвойства, добавлен модуль WPFObjects как замена устаревшему ABCObjects.
25 мая 2019 г. вышла версия PascalABC.NET 3.5. В Pattern Matching добавлена возможность сопоставления со списками, кортежами и константами.
Особенности языка [ править | править код ]
Расширения языка Паскаль [ править | править код ]
- Операторы += -= *= /=
- Операция ** для возведения в степень
- Внутриблочные описания переменных
- Описание переменных в заголовке цикла for
- Инициализация переменной при описании ( var n: integer := 10; )
- Автоопределение типа переменной при инициализации ( var x := 1; )
- Цикл foreach
- Упрощенный цикл loop
- Подпрограммы с переменным числом параметров
- Множестваset на базе произвольных типов ( set of integer )
- case по строкам
- Методы в записях
- Возможность определять методы как внутри, так и вне интерфейса класса или записи
- Наряду со стандартным, упрощённый синтаксис модулей
- Операция new для вызова конструктора
- Инициализаторы полей классов и записей
- Перегрузка операций [2]
- Автоклассы
- Безымянные классы
- Лямбда-выражения
- Тип функции в стиле T->T
- Тип кортежа в стиле (T1,T2)
- Тип последовательности sequence of T
- Кортежное присваивание (a,b) := (b,a)
- Срезы a[from:to:step] и безопасные срезы a?[from:to:step] для массивов, списков и строк
- Операторы yield и yield sequence для генерации последовательностей
- Оператор match . with сопоставления с образцом
- Расширенная операция is
- Расширенные свойства, автосвойства
- Интерполяция строк
- Частичная поддержка директив OpenMP
Особенности языка, связанные с платформой .NET [ править | править код ]
- Все типы — классы
- Стандартный тип BigInteger
- Стандартный тип Complex
- Форматные строки
- Многомерные динамические массивы
- Интерфейсы .NET
- Подключение пространств имен .NET в разделе uses
- Обобщённые классы, интерфейсы, подпрограммы и процедурные переменные
- Автоматическая сборка мусора для объектов
- Атрибуты
- Методы расширения
- Поддержка неуправляемого кода через external
- Типы type? , допускающие значение nil (синоним Nullable )
Стандартные модули [ править | править код ]
Поскольку в PascalABC.NET можно пользоваться всеми библиотеками платформы .NET, стандартные модули немногочисленны и ориентированы на обучение:
- Модуль растровой графики GraphWPF
- Модуль растровой графики GraphABC(устаревший)
- Модуль 3D графики и анимации Graph3D(на основе свободной библиотеки Helix Toolkit)
- Модуль векторной графики WPFObjects
- Модуль векторной графики ABCObjects(устаревший)
- Модуль FormsABC для создания графических интерфейсов (на базе технологии Windows Forms)
- Модуль NumLibABC(библиотека численных методов)
- Модули исполнителей Робот и Чертёжник(школьная информатика)
- Модуль электронного задачника Programming Taskbook(базовая версия)
PascalABC.NET | |
---|---|
Семантика | императивная |
Класс языка | мультипарадигменный: структурное, объектно-ориентированное, обобщённое, процедурное программирование, функциональное программирование |
Тип исполнения | компилятор |
Появился в | 2002 |
Автор | С. С. Михалкович, И. В. Бондарев, А. В. Ткачук, С. О. Иванов |
Выпуск | 3.5.1, сборка 2250 (14.09.2019) |
Система типов | статическая |
Основные реализации | PascalABC.NET, Pascal ABC (поддержка прекращена) |
Испытал влияние | Паскаль, Delphi, C#, Python |
Лицензия | LGPL |
Сайт | pascalabc.net |
Платформа | .NET CLR (WinXP и старше), Mono (Linux, MacOS) |
PascalABC.NET — язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нём можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм. Кроме того, консольный компилятор PascalABC.NET функционирует на Linux и MacOS под Mono.
Содержание
История развития [ | ]
В 2003 году на факультете математики, механики и компьютерных наук ЮФУ была создана учебная среда программирования Pascal ABC. Система представляла собой интегрированную оболочку со встроенным интерпретатором языка программирования Паскаль, близкого к языку Delphi. Несмотря на неполную реализацию языка, она стала удачной заменой устаревшей системе Turbo Pascal в первоначальном обучении программированию. Как учебную систему её использовали во многих регионах СНГ. В каталоге [email protected]Mail.ru программа Pascal ABC в 2006 году признавалась программой недели [1] .
![]() |
|
---|---|
![]() |
Внешний вид программы. |
В 2005—2006 годах система была полностью переработана: изменена её архитектура — на полноценный компилятор языка, близкого к Delphi, с расширениями, связанными с платформой .NET. Новая система получила название PascalABC.NET. В июне 2009 года появилась первая стабильная версия PascalABC.NET 1.2.
В сентябре 2009 г. появилась веб-среда разработки WDE, не требующая установки PascalABC.NET на локальный компьютер и позволяющая запускать программы на PascalABC.NET непосредственно из окна браузера. Веб-среда разработки была закрыта в октябре 2017 года.
В августе 2011 г. осуществлен переход на .NET 4.0 (версия 1.8).
В феврале 2013 г. вышла версия PascalABC.NET 2.0 с дизайнером форм и поддержкой проектов.
15 мая 2013 г. вышла версия 2.1 с английской локализацией интерфейса и сообщений об ошибках.
15 февраля 2014 г. вышла версия PascalABC.NET 2.2. Многократно ускорено обращение к символам строки на запись.
28 августа 2015 г. вышла версия PascalABC.NET 3.0. PascalABC.NET стал свободным и распространяется под лицензией LGPLv3.
12 февраля 2016 г. вышла версия PascalABC.NET 3.1. Появились кортежи и срезы, значительно обновлена стандартная библиотека.
29 августа 2016 г. вышла версия PascalABC.NET 3.2. Появились операторы yield и yield sequence, обновлена стандартная библиотека.
30 августа 2017 г. вышла версия PascalABC.NET 3.3. Появились стандартные модули GraphWPF и Graph3D (для Windows Vista и выше), упрощенный цикл loop, операция безопасного среза, кортежное присваивание, поддержка Nullable-типов. Добавлена украинская локализация интерфейса и сообщений об ошибках.
11 февраля 2018 г. вышла версия PascalABC.NET 3.3.5. Добавлен стандартный модуль NumLibABC (учебная библиотека численных методов), реализованы форматные строки и операция возведения в степень. В полную версию дистрибутива (для Windows Vista и выше) интегрирована .NET 4.7.1, для Windows XP оставлен дистрибутив с .NET 4.0.
25 мая 2018 г. вышла версия PascalABC.NET 3.4. Реализовано некоторое подмножество Pattern Matching, расширенный оператор is.
1 сентября 2018 г. вышла версия PascalABC.NET 3.4.2. Реализованы расширенные свойства, расширенные индексные свойства и автосвойства, добавлен модуль WPFObjects как замена устаревшему ABCObjects.
25 мая 2019 г. вышла версия PascalABC.NET 3.5. В Pattern Matching добавлена возможность сопоставления со списками, кортежами и константами.
Особенности языка [ | ]
Расширения языка Паскаль [ | ]
- Операторы += -= *= /=
- Операция ** для возведения в степень
- Внутриблочные описания переменных
- Описание переменных в заголовке цикла for
- Инициализация переменной при описании ( var n: integer := 10; )
- Автоопределение типа переменной при инициализации ( var x := 1; )
- Цикл foreach
- Упрощенный цикл loop
- Подпрограммы с переменным числом параметров
- Множестваset на базе произвольных типов ( set of integer )
- case по строкам
- Методы в записях
- Возможность определять методы как внутри, так и вне интерфейса класса или записи
- Наряду со стандартным, упрощённый синтаксис модулей
- Операция new для вызова конструктора
- Инициализаторы полей классов и записей
- Перегрузка операций [2]
- Автоклассы
- Безымянные классы
- Лямбда-выражения
- Тип функции в стиле T->T
- Тип кортежа в стиле (T1,T2)
- Тип последовательности sequence of T
- Кортежное присваивание (a,b) := (b,a)
- Срезы a[from:to:step] и безопасные срезы a?[from:to:step] для массивов, списков и строк
- Операторы yield и yield sequence для генерации последовательностей
- Оператор match . with сопоставления с образцом
- Расширенная операция is
- Расширенные свойства, автосвойства
- Интерполяция строк
- Частичная поддержка директив OpenMP
Особенности языка, связанные с платформой .NET [ | ]
- Все типы — классы
- Стандартный тип BigInteger
- Стандартный тип Complex
- Форматные строки
- Многомерные динамические массивы
- Интерфейсы .NET
- Подключение пространств имен .NET в разделе uses
- Обобщённые классы, интерфейсы, подпрограммы и процедурные переменные
- Автоматическая сборка мусора для объектов
- Атрибуты
- Методы расширения
- Поддержка неуправляемого а через external
- Типы type? , допускающие значение nil (синоним Nullable )
Стандартные модули [ | ]
Поскольку в PascalABC.NET можно пользоваться всеми библиотеками платформы .NET, стандартные модули немногочисленны и ориентированы на обучение:
- Модуль растровой графики GraphWPF
- Модуль растровой графики GraphABC(устаревший)
- Модуль 3D графики и анимации Graph3D(на основе свободной библиотеки Helix Toolkit)
- Модуль векторной графики WPFObjects
- Модуль векторной графики ABCObjects(устаревший)
- Модуль FormsABC для создания графических интерфейсов (на базе технологии Windows Forms)
- Модуль NumLibABC(библиотека численных методов)
- Модули исполнителей Робот и Чертёжник(школьная информатика)
- Модуль электронного задачника Programming Taskbook(базовая версия)