Harven
Harven | |
---|---|
Paradigmen: | multiparadigmatisch: strukturiert, imperativ, deklarativ, objektorientiert, ereignisorientiert, funktional, generisch, reflexiv, parallel |
Erscheinungsjahr: | 2019 |
Designer: | Niklas Fehde, Microsoft |
Entwickler: | Niklas Fehde, Microsoft |
Aktuelle Version: | closed beta 1.0 (07.05.2019) |
Typisierung: | statisch, stark, explizit (optional: dynamisch, duck, implizit) |
Beeinflusst von: | C-Sharp |
Betriebssystem: | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
Lizenz: | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
Harven ist eine typsichere, objektorientierte Allzweck-Programmiersprache, welche durch eine Translation in C# übersetzt und dann compiled wird. Voraussetzungen sind das .NET Framework 4.7.2, was bedeutet, dass die Verwendung an Windows gebunden ist.
Aktuell ist noch keine offizielle Version von Harven veröffentlicht worden. Es existiert nur eine Beta-Version.
Die Änderungen zu dem Zwillingsbruder C# sind in der Syntax auffindbar, Harven soll eine smartere und einfachere Syntax bieten, welche sich auf Flexibilität und Zeit-Effizienz spezialisiert.
Konzept[Bearbeiten]
Die Syntax von Harven ist ähnlich zu der von C#.
Harven bietet allerdings Features, die Microsoft nicht durchsetzt, da sie nicht "Community tauglich" sind, d.h. keine Anwendung für eine Masse, sondern nur für einzelne Personen finden. Beispiele sind der implement-Befehl bzw. die Implementierung von Code-Paketen.
Das besondere an der Sprache ist, dass ebenfalls auch einfach die normale C#-Syntax verwendet werden kann. Ebenso können die Syntax vermischt werden.
Syntax[Bearbeiten]
An der Syntax gibt es einige Änderungen. Diese Änderungen sind allerdings optional zu der C#-Syntax, so muss man z.B. import nicht zwingend verwenden, denn using würde ebenfalls noch funktionieren. Die größten Besonderheiten sind hier aufgelistet:
- using wurde durch import ersetzt
- namespace wurde durch module ersetzt
- internal wurde durch hidden ersetzt
- protected wurde durch secure ersetzt
- foreach wurde durch for each ersetzt
- Die in-Anweisung in foreach-Iterationen wurde durch @ ersetzt
- Die []-Klammern von Arrays wurden durch das Kürzel Arr ersetzt, so wird string[] durch stringArr ersetzt. Dies gilt für die Typen string, double, int, float, long, char, byte und short
- System.IO durch io ersetzt
- System.Threading durch threading ersetzt
- System.Diagnostics durch disgnostics ersetzt
- System.Linq durch linq ersetzt
- System.Windows.Forms durch winforms ersetzt
- Der '.', welcher z.B. Klasse und Methode separiert, wurde durch '->' ersetzt
- Die Standardmethode besitzt die Abkürzung "main"
Code-Beispiele[Bearbeiten]
Hier ist ein einfaches Hello-World Programm:
import sys;
import io;
import threading;
import diagnostics;
import linq;
module Module1
{
public class Class
{
main(stringArr arguments)
{
Console->WriteLine("Hello, World!");
Console->ReadKey();
}
}
}
Diese artikel "Harven" ist von Wikipedia The list of its authors can be seen in its historical and/or the page Edithistory:Harven.