На цій сторінці показано неперевірені зміни
PascalABC.NET — цемова програмуванняPascal нового покоління, що включає класичнийPascal, більшість можливостей мовиDelphi, а також ряд власних розширень. Він реалізований на платформіMicrosoft.NET і містить всі сучасні мовні засоби: класи,перевантаження операцій, інтерфейси, обробку винятків, узагальнені класи та підпрограми, збірку сміття, лямбда-вирази, засоби паралельного програмування.
PascalABC.NET — це також проста і потужнаінтегроване середовище розробки, що підтримує технологіюIntelliSense, що містить засоби автоформатування, вбудований відладчик і вбудований дизайнер форм. Крім того, консольнийкомпілятор PascalABC.NET функціонує наLinux іMacOS підMono.
У 2003 році на факультеті математики, механіки та комп'ютерних наукПФУ було створене навчальне середовище програмування Pascal ABC. Система є інтегрованою оболонкою з вбудованим інтерпретатором мови програмування Pascal, близької до мовиDelphi. Попри неповну реалізацію мови, вона стала вдалою заміною застарілій системіTurbo Pascal в первісному навчанні програмування. Як навчальну систему її використовували в багатьох регіонахСНД.
У каталозі Soft@Mail.ru програмаPascal ABC в 2006 році визнана програмою тижня.
У 2005—2006 роках система була повністю перероблена: змінена її архітектура — на повноцінний компілятор мови, близької до Delphi, з розширеннями, пов'язаними з платформою.NET. Нова система отримала назвуPascalABC.NET.
У червні 2009 з'явилася перша стабільна версіяPascalABC.NET 1.2.
У вересні 2009 з'явилося вебсередовище розробки WDE, що не вимагає установки PascalABC.NET на локальний комп'ютер і дозволяє запускати програми на PascalABC.NET безпосередньо з вікна браузера. Ключовою особливістю WDE є те, що програма запускається на сервері, а на клієнтський комп'ютер в інтерактивному режимі передаються лише дані вводу-виводу.
У серпні 2010 у WDE з'явилася можливість створювати прості графічні додатки. Вебсередовище розробки було закрите в жовтні 2017 року.
У серпні 2011 здійснено перехід на .NET 4.0 у версії 1.8.
У січні 2012 вебсередовище розробки WDE також була переведена на .NET 4.0 .
З травня 2012 у вебсередовище розробки додана підтримка компіляторівC# ,VB.NET,IronPython іF#, у зв'язку з чим вона була перейменована вProgrammingABC.NET WDE.
У лютому 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, оновлена стандартна бібліотека[1].
+= -= *= /=forVAR N: integer: = 10;VAR X: = 1;foreachset на базі довільних типівSet Of Integernew для виклику конструктора класуusesОскільки в PascalABC.NET можна користуватися всіма бібліотеками платформи .NET, то стандартні модулі нечисленні і орієнтовані на навчання:
vara:arrayofinteger:=(1,3,5,7,9,11,13,15,17,19);begina.Println;//Поміняти місцями першу і другу половини масиву з парною кількістю елементівAssert(a.Lengthmod2=0);varn:=a.Lengthdiv2;a.Skip(n).Concat(a.Take(n)).Println;end.
beginvarp:BigInteger:=1;forvari:=1to100dop:=p*i;write(p);end.
beginSeqWhile(1,1,(x,y)->x+y,x->x<1000).Printend.
beginvard:=newDictionary<string,integer>;foreachvarsinReadLines('words.txt')doforeachvarwordins.ToWordsdod[word]:=d.Get(word)+1;d.Print(NewLine);end.
beginReadLines('words.txt').SelectMany(s->s.ToWords()).GroupBy(v->v).ToDictionary(x->x.Key,x->x.Count()).Print(NewLine);end.
usesArrays;procedureMult(a,b,c:array[,]ofreal;n:integer);begin{$omp parallel for}forvari:=0ton-1doforvarj:=0ton-1dobeginvarcc:=0.0;forvarl:=0ton-1docc+=a[i,l]*b[l,j];c[i,j]:=cc;end;end;constn=1000;beginvara:=Arrays.CreateRandomRealMatrix(n,n,1,1.1);varb:=Arrays.CreateRandomRealMatrix(n,n,1,1.1);varc:=newreal[n,n];vard:=Milliseconds;Mult(a,b,c,n);writeln((Milliseconds-d)/1000);end.
PascalABC.NET є безкоштовним (freeware) програмним забезпеченням, поширюваним під власною пропрієтарною ліцензією.