The topic of this article may not meet Wikipedia's general notability guideline. (April 2016) |
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 | |
---|---|
Paradigm | Multi-paradigm: procedural, functional, object-oriented, generic |
Designed by | S.S. Mikhalkovich, Ivan Bondarev, A.V. Tkachuk, S.O. Ivanov |
First appeared | 2002 |
Stable release | 3.1.0.1166
/ 12 February 2016 |
Typing discipline | Static, partially inferred |
Implementation language | PascalABC.NET |
OS | Cross-platform |
License | LGPLv3 |
Filename extensions | .pas |
Website | pascalabc |
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).
PascalABC.NET is a joint development of Russian and German programmers. In Russia, the development center is located at the Faculty of Mathematics, Mechanics and Computer Science, Southern Federal University.
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[1].
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)