Compiler-Toolchain: Elements 11 soll Visual Basic.NET neues Leben einhauchen

Mercury heißt das neue Hauptfeature der Compiler-Toolchain für das plattformübergreifende Entwickeln nativer Anwendungen, und sein Fokus liegt auf .NET-Support.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

RemObjects hat die elfte Hauptversion seiner Compiler-Toolchain Elements herausgegeben, mit der sich native Anwendungen auf unterschiedlichen Plattformen in den Programmiersprachen Go, Java, Swift, C# und dem Object-Pascal-Dialekt Oxygene erstellen lassen. Highlight ist das darin enthaltene Sprachfeature Mercury: Es umfasst eine erweiterte Version der Programmiersprache Visual Basic.NET und soll die .NET-Plattform mit ihren Features für sämtliche mit Elements kompatiblen Plattformen unterstützen.

Die Programmiersprache Visual Basic.NET steht hierbei der Ankündigung zufolge im Zentrum, da zuletzt unklar war, ob, wann und in welcher Form Microsoft die Sprache künftig weiterentwickelt. Die Visual-Basic-Community wartet schon länger auf ein klares Bekenntnis seitens Microsoft, es mit C# und der .NET-Plattform kompatibel zu halten, wie sich den Kommentaren unter einem Blogeintrag der Microsoft-Entwickler zu dem Thema entnehmen lässt. Mercury ist laut seinen Herausgebern als Alternative zur Microsoft-eigenen Weiterentwicklung von Visual Basic.NET gedacht.

Das Release ist offenbar vollständig kompatibel mit Visual Basic.NET (VB) in seiner jetzigen Form und fügt eine Reihe von Spracherweiterungen hinzu, die C#-9-Features unterstützen, so zum Beispiel Pointer und unsicheren Code, neue lazy-Eigenschaften oder die in C# 9 neu eingeführten Records. Außerdem verdankt Visual Basic.NET seiner nun begonnenen Zugehörigkeit zum Toolchain-Compiler eine Reihe weiterer neuer Fähigkeiten beispielsweise rund um das aspektorientierte Programmieren mit Attributen, die den Code zur Compile-Zeit betreffen, und kartierte Typen (mapped types).

Das Minimalziel ist offenbar, Kompatibilität mit .NET und C# dauerhaft zu gewährleisten. Darüber hinaus kündigt das Elements-Team in dem Blogeintrag zum Release an, bereits nach vorne zu schauen und weitere Neuerungen für Visual Basic.NET zu planen. Hierzu greifen die Entwickler zunächst auf eigene Ideen und Erfahrungen zurück, nehmen aber auch Nutzerfeedback aus der Visual-Basic-Community an. Wie sich dem Blogeintrag entnehmen lässt, sollen bestehende VB-Projekte sich bereits relativ leicht konvertieren lassen und benötigen dann offenbar kaum Anpassungen, um die neuen Sprachfertigkeiten zu übernehmen.

Hauptanliegen ist dabei den Herausgebern zufolge, die Kompatibilität mit der .NET-Runtime zu gewährleisten. So verspricht das Elements-Team, dass Mercury Schritt halten wird mit der Evolution von .NET und C#, also künftig auch gemeinsam mit .NET 6, 7 oder 8 sowie den entsprechenden APIs laufen soll. Gleiches gilt dann für C# 10 und folgende Versionen.

Über die .NET-Plattform hinaus soll Mercury weitere Plattformen nativ unterstützen, ohne dafür auf die Runtimes von .NET, Mono oder Xamarin zugreifen zu müssen. Visual-Basic-Entwicklerinnen und -Entwickler sollen mit Elements 11 in der Lage sein, Applikationen für Win32, Linux, WebAssembly, Android und die gängigen Apple-Plattformen zu erstellen. Die nativen Windows-APIs lassen sich mit Mercury bereits ansprechen, die Herausgeber versprechen hier eine ähnliche Performance wie bei C oder C++ (aber ohne C-Code zu nutzen).

Als Besonderheit hebt das Elements-Team hervor, dass sich .NET-basierte Anwendungen mit der Compiler-Toolchain nicht nur über Mono und .NET Core, sondern auch durch nativen Linux-Code schreiben lassen. Mercury lässt sich in der Entwicklungsumgebung Visual Studio einsetzen, die Visual-Basic.NET-Entwickler offenbar bevorzugt verwenden. Wer etwas Neues ausprobieren möchte, kann jedoch auch auf die Elements-eigenen IDEs Water (für Windows) und Fire (für Mac) umsteigen. Mehr Informationen finden sich in der Blogankündigung zu Mercury sowie in einem separaten Blogeintrag zu Elements 11 auf den Seiten von RemObjects.

Die Compiler-Toolchain, zu der das elfte Element mit Mercury gehört, gibt es seit 15 Jahren. Der Elements-Compiler erlaubt es seinen Nutzerinnen und Nutzern, unterstützte Programmiersprachen in Projekten zu mischen, ohne Code-Passagen übersetzen oder eine eigene Library einbinden zu müssen, mittlerweile C#, Delphi, Go, WebAssembly, Visual Basic.NET sowie Swift, Java, Go und Oxygene (Object Pascal). Die Software Mercury ist als Standalone-Version und als Teil des kompletten Elements-Pakets erhältlich. Wer sich dafür interessiert, kann eine Testversion ausprobieren, ansonsten stehen Abo-Versionen mit monatlichen und jährlichen Laufzeiten zur Verfügung.

(sih)