Now Reading
Programmiersprache: Gleam 0.18 beschert dem Erlang-Umwelt neues Build-Tool

Programmiersprache: Gleam 0.18 beschert dem Erlang-Umwelt neues Build-Tool

Programmiersprache: Gleam 0.18 beschert dem Erlang-Ökosystem neues Build-Tool

[ad_1]

Die typsichere, skalierbare Programmiersprache Gleam ist in Version 0.18 erschienen. Gleam gehört zum Erlang-Umwelt und ist pro die Erlang Virtual Machine konzipiert, soll hinwieder unter anderem beiläufig mit JavaScript zusammenarbeiten. Dasjenige neue Release verschafft jener Sprache denn wichtigste Neuerung ein eigenständiges Build-Tool, gen dies die Netzwerk laut Herausgebern schon länger gewartet nach sich ziehen dürfte.

Wie dem Blogeintrag zur Offenlegung zu schlussfolgern ist, hatten Gleam-Entwicklerinnen und -Entwickler pro ihre Projekte bislang gen dies Standard-Build-Tool jener Programmiersprache Erlang zurückgreifen zu tun sein. rebar3 gilt zwar denn brauchbares Tool pro Builds, war gewiss nicht gen Gleam zugeschnitten und soll pro Einsteiger in die Sprache wenige Hürden und Überraschungen retten. Den Herausgebern zufolge sitzt dies neue Tool besser und ermöglicht Entwicklungsteams fokussierteres Funktionieren am Gleam-Quellcode mit einer angenehmeren Developer Experience.

Dasjenige Build-Tool von Gleam ist im Gleam-Binary enthalten. Von dort verfügen die Gesamtheit, die Version 0.18 herunterladen, selbsttätig gut dies Build-Tool und zu tun sein nichts separat installieren. Projekte lassen sich weiterhin mit dem Gebot gleam new hinstellen. Welcher Anwendungs-Quellcode liegt im src-Verzeichnis, Testcode im Verzeichnis test. Ein kühl angelegtes Projekt schaut etwa wie folgt aus:

$ tree
# ├── README.md
# ├── gleam.toml
# ├── src
# │   └── my_project.gleam
# └── test
#     └── my_project_test.gleam

Wer mit Gleam arbeitet, muss den Quellcode nicht mehr in jener Erlang-Shell umsetzen, welches bislang unter rebar3 jener Standardweg war und Entwickler irritiert nach sich ziehen dürfte. Stattdessen bietet dies neue Build-Tool verknüpfen pro Gleam-Entwickler vertrauteren Gebot:

$ cd my_project
$ gleam run
#   Resolving versions
# Downloading packages
#  Downloaded 2 packages in 0.01s
#   Compiling gleam_stdlib
#   Compiling gleeunit
#   Compiling my_project
#    Compiled in 1.85s
#     Running my_project.main
# Hello from my_project!

Sowie dies Build-Tool läuft, lädt es selbsttätig die Abhängigkeitspakete herunter und kompiliert sie sowie dies Projekt. Erst im nächsten Schrittgeschwindigkeit startet es die Erlang Virtual Machine (BEAM) und ruft die main-Prozedur des Gleam-Projekts gen. Dependencies werden in diesem Fall selbsttätig in einer projektspezifischen Sandbox gespeichert, wodurch keine virtuelle Umgebung oder andere Tools mehr nötig sind. Dasjenige aktuelle Release stellt beiläufig dies Testing gen neue Füße: So sind Gleam-Projekte schon mit gleeunit vorkonfiguriert, einem Wrapper rund um dies Erlang-Testframework EUnit. Tests lassen sich mit folgendem Gebot umsetzen:

$ gleam test
#   Compiling my_project
#    Compiled in 0.24s
#     Running my_project_test.main
# .
# Finished in 0.008 seconds
# 1 tests, 0 failures

Welcher Gebot gleam test soll sich verwandt verhalten wie gleam run, während er die Abhängigkeiten nachdem Begehren herunterlädt und kompiliert. Für jedes dies Gleam-Testing sind Entwickler gewiss nicht gen gleeunit festgesetzt, beiläufig andere Testframeworks kommen infrage, solange sie in BEAM-Sprachen wie Erlang oder Elixir geschrieben sind. Gleam-Projekte enthalten zudem eine File, in jener sich projektspezifische Metadaten wie jener Projektname, die Version und jegliche Dependency festlegen lassen. Wie sich Abhängigkeiten in jener gleam.toml-File ergänzen lassen, führt jener Blogeintrag gen jener Gleam-Webseite mit Beispielen vor.

Gleam setzt gen jener Erlang Virtual Machine gen und nutzt vor allem die Erlang Runtime, laut Herausgebern ohne Verwaltungsdaten. Damit sollen in Gleam geschriebene Programme ebenso schnell und mit Multithreading laufen wie ihre in Erlang geschriebenen Gegenstücke. Kompatibel ist Gleam mit anderen BEAM-Sprachen wie Erlang, Elixir und LFE (Lisp-Flavoured Erlang), wodurch sich Nutzern jener Sprache ein umfangreiches Umwelt mit Tausenden von Open-Source-Bibliotheken erschließt. Wer sich genauer hierfür neugierig, mag verknüpfen Blick gen die Webseite von hex werfen, dem Paketmanager pro dies Erlang-Umwelt. BEAM ist die virtuelle Maschine im Obstkern jener Erlang Open Telecom Platform (OTP) und Teil des Erlang Runtime System (ERTS), dies Erlang-Sourcecode in Bytecode kompiliert, jener sich dann gen BEAM umsetzen lässt.

Sicherheitsaspekte stillstehen laut den Herausgebern im Vordergrund, so soll dies statisch typisierte System von Gleam Fehler zur Compile-Zeit suchen und finden, ehe sie im Kontext den Nutzern kommen. Wenige Teams nutzen es in jener Produktion beim Refactoring, da sich mittels Gleam wohl beiläufig große Änderungen an unbekanntem Quellcode rasch mit geringem Risiko machen lassen. Zu den Highlights jener Sprache zählen unter anderem die gen Aktoren fußende Multi-Core Concurrency, algebraische Datentypen, eine Fehlertoleranz im Stile von Erlang, rasches Kompilieren, volle Typeninferenz, detaillierte Fehlermeldungen, Generics, kein undefiniertes Verhalten und eine zuverlässige Paketverwaltung. Hinter Gleam stillstehen neben jener Netzwerk vier Sponsoren: NineFX, die estnische Yolo-Schar, Memo und SkunkWerks aus Wien.

Geplant sind pro die Zukunft weitere Verbesserungen jener Developer Experience, im Kern des Gleam-Teams steht in diesem Fall dies Language Server Protocol pro IDE-Features in Quellcode-Editoren sowie Support pro dies JavaScript-Compiler-Backend. Gleichermaßen dies Deployment und die damit einhergehenden Funktionalitäten nach sich ziehen die Gleam-Entwickler gen dem Schirm pro kommende Releases.

Gleam ist gen GitHub zu finden. Näheres zum aktuellen Release lässt sich dem Blogeintrag gen jener Gleam-Webseite schlussfolgern. Die erste Offenlegung hatte dies Gleam-Team gen Twitter gepostet. Sämtliche Änderungen im Vergleich zur Vorgängerversion listet dies Changelog gen GitHub gen. Für jedes Neugierige ohne Gleam- und BEAM-Erlebnis steht ein Leitfaden zum Einstieg parat.


(sih)



[ad_2]

View Comments (0)

Leave a Reply

Your email address will not be published.

Scroll To Top