Oxygene (linguaggio)
Oxygene (noto in precedenza come Chrome) è un linguaggio di programmazione sviluppato da RemObjects Software per la Common Language Infrastructure (CLI). Oxygene è basato sul linguaggio Object Pascal. Rispetto a Delphi.NET (ora deprecato), Oxygene non garantisce piena compatibilità nelle versioni precedenti, ma è progettato per essere pienamente integrato con la piattaforma .NET, supportando tutte le caratteristiche e le tecnologie fornite dal runtime .NET.
Oxygene linguaggio di programmazione | |
---|---|
Autore | RemObjects Software |
Data di origine | 2005 |
Ultima versione | 10.0.0.2485 (18 febbraio 2020) |
Paradigmi | programmazione orientata agli oggetti e calcolo parallelo |
Implementazione di riferimento | |
Licenza | shareware |
Sito web | elementscompiler.com/elements/oxygene/ |
A partire dal 2008, RemObjects Software ha fornito in licenza il suo compilatore e la tecnologia IDE a Embarcadero per poterli usare nel prodotto Delphi Prism.[1] Delphi Prism offre piena integrazione in Visual Studio 2005/2008.
Il linguaggio Oxygene
modificaOxygene tra le sue origini da Object Pascal (in generale) e da Delphi (in particolare) è stato progettato per riflettere le linee guida .NET. Non tutte le caratteristiche di Object Pascal e Delphi, quindi, sono supportate da Oxygene. Oxygene è un linguaggio di programmazione orientato agli oggetti. Inoltre fornisce supporto al livello del linguaggio per la programmazione parallela. L'obiettivo è utilizzare tutti i processori di un computer al fine di migliorare le prestazioni di un programma. Per raggiungere tale obiettivo, i task devono essere distribuiti su diversi thread.
Overloading degli operatori
modificaIn Oxygene gli operatori possono essere sovraccaricati usando la sintassi class operator
:
class operator implicit(i : Integer) : MyClass;
Struttura di un programma
modificaOxygene non utilizza le "Units" (unità) come fa invece Delphi, ma utilizza i namespace .NET per organizzare e raggruppare i tipi. Un namespace può estendersi attraverso molteplici file, ma un singolo file può contenere esclusivamente tipi di uno specifico namespace. Il namespace è definito in cima a ciascun file con la seguente sintassi:
namespace ConsoleApplication1;
I file Oxygene distinguono una sezione interfaccia e una di implementazione, una struttura mutuata da Delphi. La sezione interfaccia segue la dichiarazione del namespace e contiene le clausole uses
, che in Oxygene importano tipi da altri namespace:
uses
System.Linq;
I namespace importati devono trovarsi nello stesso progetto o in "assembly" referenziati dallo stesso. Al contrario di C#, in Oxygene non è possibile definire alias per i namespace, ma solo per i singoli tipi.
Così come in Delphi, la sezione interfaccia può contenere inoltre dichiarazioni di tipo. Ad esempio:
interface
type
ConsoleApp = class
public
class method Main;
end;
Come in C#, nella sezione di implementazione il metodo Main è il punto d'ingresso (entry point) per ogni programma. Esso può avere un parametro args : Array of String
per permettere il passaggio di argomenti da riga di comando.
L'implementazione dei metodi dichiarati è inserita nella sezione di implementazione:
implementation
class method ConsoleApp.Main;
begin
// add your own code here
Console.WriteLine('Hello World.');
end;
end.
Infine, i file terminano sempre con l'istruzione end.
Note
modifica- ^ (EN) Pagina Web di Embarcadero Delphi Prism Archiviato il 28 giugno 2010 in Internet Archive.
Collegamenti esterni
modifica- (EN) Sito ufficiale, su elementscompiler.com.