Key features of PascalABC.NET Pascal language extensions
System units
Samples 1. Swap the first and second halves of an array 2. 100! 3. Greater common divisor of two integers 4. Display all Fibonacci numbers less than 1000 5. Word frequence dictionary for a file 5а. Word frequency dictionary for a file. Solution in functional style 6. Parallel matrix multiplication using OpenMP directives
See also
References
External links
{{Multiple issues|{{COI|date=June 2018}}{{notability|date=April 2016}}{{more citations needed|date=April 2016}} }}{{Use dmy dates|date=September 2016}}{{Infobox programming language | name = PascalABC.NET | logo = | caption = | paradigm = Multi-paradigm: procedural, functional, object-oriented, generic | year = {{Start date and age|df=yes|2002}} | designer = S.S. Mikhalkovich, Ivan Bondarev, A.V. Tkachuk, S.O. Ivanov | programming_language = PascalABC.NET | latest release version = 3.4.2.1944 | latest release date = {{Start date and age|df=yes|2019|01|25}} | typing = Static, partially inferred | influenced by = Delphi, Pascal, C#, Python | operating_system = Cross-platform | license = LGPLv3 | website = {{URL|pascalabc.net/en/}} | file_ext = .pas }}
PascalABC.NET is a Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions. It is implemented on the .NET Framework 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 (OpenMP only as of 2016).
PascalABC.NET is also a simple and powerful integrated development environment 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.
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 (invoking a constructor)
Field initializers
Operator overloading
Static constructors
Directives OpenMP
case for strings
function type syntax T->T
tuple type syntax (T1,T2)
yield and yield sequence
pattern matching
System units
Most units are focused on education:
Raster graphics units GraphABC (based on Windows Forms), GraphWPF (based on WPF)
Vector graphics units ABCObjects (based on Windows Forms), WPFObjects (based on WPF)
3D graphics & animation unit Graph3D (based on the Helix Toolkit library)
Unit FormsABC to create simple windows application without form designer
Units-executors Robot and Drawman (school computer science)
Samples
1. Swap the first and second halves of an array
2. 100!
3. Greater common divisor of two integers
4. Display all Fibonacci numbers less than 1000
5. Word frequence dictionary for a file
5а. Word frequency dictionary for a file. Solution in functional style
6. Parallel matrix multiplication using OpenMP directives