PascalABC.NET

This is an old revision of this page, as edited by Ibond84 (talk | contribs) at 17:46, 4 April 2016. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

PascalABC.NET - is a new generation Pascal programming language, including classic Pascal, most Delphi language features, as well as a number of their own extensions. It is implemented on the Microsoft.NET platform and contains all the modern language features: classes, operator overloading, interfaces, exception handling, generic classes and routines, garbage collection, lambda expressions, parallel programming tools.

PascalABC.NET
ParadigmMulti-paradigm: procedural, functional, object-oriented, generic
Designed byS.S. Mikhalkovich, Ivan Bondarev, A.V. Tkachuk, S.O. Ivanov
First appeared2002; 23 years ago (2002)
Stable release
3.1.0.1166 / 12 February 2016; 9 years ago (2016-02-12)
Typing disciplineStatic, partially inferred
Implementation languagePascalABC.NET
OSCross-platform
LicenseLGPLv3
Filename extensions.pas
Websitepascalabc.net/en/
Influenced by
Delphi, Pascal, C#, Python

PascalABC.NET is also a simple and powerful IDE with integrated debugger, IntelliSense system, form designer, code templates and code auto-formatting. Command-line PascalABC.NET compiler is also available on Linux and MacOS (under Mono).

Key features of PascalABC.NET

Pascal language extensions

  • Operators += -= *= /=
  • in-block variable definitions
  • Variable declaration in for loop header
  • Variable declaration with initialization (var n: integer := 10;)
  • Variable type deduction (var x := 1;)
  • foreach
  • Routines with a variable number of parameters
  • set of any type (set of integer)
  • Methods in records
  • Methods defined in class declaration
  • Simplified syntax of units
  • Keyword new для вызова конструктора
  • Field initializers
  • Operator overloading
  • Static constructors
  • Directives OpenMP
  • case for strings
  • function type syntax T->T
  • tuple type syntax (T1,T2)