PascalABC.NET

This is an old revision of this page, as edited by Ibond84 (talk | contribs) at 18:53, 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_programming, Garbage_collection_(computer_science), Anonymous_function, 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) [1].

PascalABC.NET is popular in russian schools and universities. In Southern Federal University, it is used as the main language for teaching students of Information technology in the course "Fundamentals of programming" and for teaching children in one of the largest computer schools in Russia.

Programming Taskbook developed by Prof M. E. Abramyan is a part of PascalABC.NET. This taskbook contains 1100 learning tasks and covers almost all sections of a basic programming curriculum[2].

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)

Samples

See also

References