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

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.

Особенности языка

Стандартные модули

Поскольку в PascalABC.NET можно пользоваться всеми библиотеками платформы .NET, то стандартные модули ориентированы исключительно на обучение:

Примеры программ

Пример 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) программным обеспечением.

Примечания

  1. Сайт проекта «Система программирования _PascalABC.NET_»
  2. 1 2 Система программирования Pascal ABC
  3. Программы недели -> программирование
  4. Номинация Программирование:Рейтинг софта за 2005:Софт@Mail.ru
  5. Номинация Программирование:Рейтинг софта за 2007:Софт@Mail.ru
  6. PascalABC.Net web development environment (WDE)
  7. Модуль графики для WDE - Система программирования PascalABC.NET

Ссылки

Литература

Просмотр этого шаблона IDE (сравнение)
Универсальные AnjutaVisual StudioNetBeansEclipseKDevelopXcodeGeanyMonoDevelopAptana StudioOpen WatcomKomodoKylix
Си/C++ Borland C++C++ Builder • Code::Blocks • CodeLitewxDev-C++Pelles COracle Solaris StudioQt CreatorUltimate++Microsoft QuickC
Бейсик PowerBASICTurbo BasicVisual BasicQBasicQuickBASICPureBasic
Java WebLogicBlueJ • DrJava • Greenfoot • JCreator • JDeveloperIntelliJ IDEAJBuilder • JGRASP
Паскаль DelphiLazarusMSEPascalABC.NETMIDletPascalPocketStudio • Morfik • Turbo PascalQuickPascalVisible PascalGeany
PHP Aptana Studio with PHP plugin • Delphi for PHP (RadPHP) • Eclipse PDTZend StudioNuSphere PhpED • PHP Expert EditorphpStormAdobe Dreamviewer
Python Boa Constructor • Eclipse+PyDev • EricGeanyIDLEKomodoNetBeans • PyCharm • PyScripter • SPE
ActionScript Adobe FlashAdobe Flash BuilderFlashDevelop • CodeDrive • IntelliJ IDEAEclipse FDT • Realaxy ActionScript Editor
Ruby RubyMine
Просмотр этого шаблона .NET Framework
Архитектура Base Class LibraryCommon Language Infrastructure.NET assemblyметаданныеCOM Interop
Инфраструктура Common Language RuntimeCommon Type SystemCommon Intermediate Language • Virtual Execution System • Dynamic Language Runtime
Языки Microsoft C#Visual Basic .NETC++/CLI (Managed) • Visual J#JScript .NETWindows PowerShellIronPythonIronRubyF#Spec#Sing#
Другие языки A#Boo • IronLisp • L# • NemerleP#PascalABC.NETPHPScalaCobra • Delphi Prism
Windows Foundations PresentationCommunicationWorkflow
Компоненты ADO.NET (Entity Framework · Data Services) · ASP.NET (AJAX · MVC · Dynamic Data) · .NET Remoting · Language Integrated Query · Windows CardSpace · Windows Forms · XAML · ClickOnce · Dynamic Language Runtime · Parallel FX Library (PLINQ · TPL)
Реализации DotGNUMono.NET Compact Framework (Xbox 360) • .NET Micro FrameworkPortable.NETXNA FrameworkSilverlight • Shared Source Common Language Infrastructure
Сравнения C# и Java • C# и Visual Basic .NET
Будущие технологии Acropolis • Jasper