programming. The goal is to use all cores or processors of a computer to improve performance. To reach this goal, tasks have to be distributed among several threads. The .NET Framework's ThreadPool class offered a way to efficiently work with several threads. The Task Parallel Library (TPL) was introduced in .NET 4.0 to provide more features for parallel programming. Operators can be overloaded in Oxygene using the class operator syntax: class operator implicit(i : Integer) : MyClass; Note, that for operator overloading each operator has a name, that has to be used in the operator overloading syntax, because for example "+" would not be a valid method name in Oxygene. Program structure Oxygene does not use "Units" like Delphi does, but uses .NET namespaces to organize and group types. A namespace can span multiple files (and assemblies), but one file can only contain types of one namespace. This namespace is defined at the very top of the file: namespace ConsoleApplication1; Oxygene files are separated into an interface and an implementation section, which is the structure known from Delphi. The interface section follows the declaration of the namespace. It contains the uses clause, which in Oxygene imports types from other namespaces: uses System.Linq; Imported namespaces have to be in the project itself or in referenced assemblies. Unlike in C#, in Oxygene alias names cannot be defined for namespaces, only for single type names (see below). Following the uses clause a file contains type declarations, like they are known from Delphi: interface type ConsoleApp = class public class method Main; end; As in C#, the Main method is the entry point for every program. It can have a parameter args : Array of String for passing command line arguments to the program. More types can be declared without repeating the type keyword. The implementation of the declared methods is placed in the implementation section: implementation class method ConsoleApp.Main; begin // add your own code here Console.WriteLine('Hello World.'); end; end. Files are always ended with end. Types As a .NET language, Oxygene uses the .NET type system: There are value types (like structs) and reference types (like arrays or classes). Although it does not introduce own "pre-defined" types, Oxygene offers more "pascalish" generic names for some of them, so that for example the System.Int32 can be used as Integer and Boolean (System.Boolean), Char (System.Char), Real (System.Double) join the family of pascal-typenames, too. The