19 Punkte von GN⁺ 2024-05-23 | 5 Kommentare | Auf WhatsApp teilen
  • Eine moderne, typsichere und zur Laufzeit sichere Programmiersprache, die zu Bash kompiliert wird
    • Hilft beim Schreiben von Skripten, indem sie während des Kompilierens viele Bugs und Fehler abfängt.
  • Hauptfunktionen
    • Moderne Syntax: Viele Sprachfunktionen werden vertraut wirken und lassen sich deutlich schneller erlernen, als Bash von Grund auf zu lernen.
    • Laufzeitsicherheit: Einer der wichtigsten Bausteine, die in gewöhnlichen Shell-Skripten fehlen; viele Bugs können bereits zur Kompilierzeit erkannt werden.
    • Typsicherheit: Alle Bash-Befehle und Funktionen, die fehlschlagen können, müssen in irgendeiner Form behandelt werden.
  • Kann als portable Lösung unter macOS und Linux verwendet werden.

Meinung von GN⁺

  • Vorteile von Amber
    • Höhere Entwicklerproduktivität: Dank moderner Syntax und Typsicherheit können Entwickler Skripte schneller und sicherer schreiben.
    • Weniger Bugs: Da viele Fehler bereits zur Kompilierzeit erkannt werden, lassen sich Laufzeitfehler reduzieren.
  • Zu beachten
    • Lernkurve: Für bestehende Bash-Skriptautoren kann es Zeit brauchen, sich an neue Syntax und Konzepte zu gewöhnen.
    • Kompatibilitätsprobleme: Es kann zu Kompatibilitätsproblemen mit bestimmten Bash-Skripten kommen.
  • Ähnliche Projekte
    • Fish Shell: Eine weitere Shell-Skriptsprache mit benutzerfreundlicher Syntax und leistungsstarken Funktionen.
    • Zsh: Eine Shell, die mehr Funktionen und Plugins als Bash bietet und von vielen Entwicklern bevorzugt wird.
  • Worauf bei der Einführung der Technologie zu achten ist
    • Migration bestehender Skripte: Der erforderliche Zeit- und Arbeitsaufwand für die Migration vorhandener Bash-Skripte zu Amber sollte berücksichtigt werden.
    • Community-Support: Bei der Einführung einer neuen Sprache ist es wichtig zu prüfen, wie gut Community und Dokumentation unterstützen.

5 Kommentare

 
cometkim 2024-05-27

Das erinnert mich an Batsh, haha.

 
kandk 2024-05-24

Das ist gut!

 
coremaker 2024-05-24

So etwas sollte man vielleicht eher als Transpiler denn als Compiler bezeichnen.

 
secret3056 2024-05-24

Das denke ich auch, aber anscheinend nennt man heutzutage alles einen Compiler.
Sogar den TypeScript-Compiler(?) nennt man tsc ...

 
GN⁺ 2024-05-23
Hacker-News-Diskussion

Zusammenfassung ausgewählter Hacker-News-Kommentare

  • Kompatibilität von Bash und POSIX sh

    • Wäre schön, wenn es kein Werkzeug zum Schreiben von Bash, sondern ein mit POSIX sh kompatibles Werkzeug wäre. So wie MJML beim Schreiben von HTML-E-Mails hilft, wird ein Tool benötigt, das die Komplexität von Bash reduziert.
  • Meinungen zur Transpilierung

    • Die Idee, nach Bash zu transpilen, ist interessant. Gut ist vor allem, dass die Installation einfach ist.
  • Subprozesse und Fehlerbehandlung

    • Es braucht bessere Ansätze für Subprozesse und Fehlerbehandlung. Die aktuell in der Dokumentation gezeigte Methode wirkt unzureichend. Es gibt keine Erwähnung der Weitergabe von Exit-Codes in Pipes.
  • Komplexe DevOps-Aufgaben

    • Man möchte komplexe DevOps-Aufgaben mit Bash erledigen. Wegen der Grenzen von Bash ist es aber umständlich, zusätzlich Werkzeuge wie jq, sed und awk einsetzen zu müssen. Ein Tool wie Amber könnte dieses Problem lösen.
  • Die Ausgabe von Amber

    • Die Ausgabe von Amber ist inkonsistent und schwer lesbar. Die Ausgabe der meisten Compiler ist für Menschen schwer zu lesen, aber Amber bietet derzeit noch keine Vorteile, die diesen Verlust an Lesbarkeit rechtfertigen.
  • Einsatz in Embedded-Systemen

    • Amber könnte nützlich sein, wenn in Embedded-Systemen komplexe Logik verarbeitet werden muss. In Umgebungen, in denen nur Bash verfügbar ist, könnte es eine bessere Alternative sein.
  • Probleme von Bash

    • Pipelines und Subshells sind in Bash langsam. Selbst einfache Bedingungen werden in komplizierte Konstruktionen umgewandelt. Dazu kommen Versionskompatibilitätsprobleme bei externen CLI-Tools. Dass sich Arrays nicht verschachteln lassen, stimmt übrigens nicht.
  • Die Bedeutung, Bash zu lernen

    • Es ist wichtig, Bash zu lernen. Statt eine neue Alternative zu lernen, kann es effizienter sein, die Grundlagen von Bash zu beherrschen.
  • Probleme beim Aufruf externer Programme

    • Für einfache Aufgaben externe Programme aufzurufen, ist ineffizient. Es wäre wünschenswert, wenn in reines Bash kompiliert würde.
  • Verwechslung mit Amber Smalltalk

    • Der gleiche Name wie bei Amber Smalltalk sorgte für Verwirrung. Die neue Sprache verwendet denselben Namen.