Die Programmiersprache Racket
- Racket ist eine ausgereifte, praktische, erweiterbare, robuste und elegante Programmiersprache.
- Racket ist eine Sprache für Language-Oriented Programming und hat unter anderem folgende Merkmale:
- Unterstützung für Higher-Order Occurrence Typing
- integrierte Scribble-Sprache zur Dokumentenerstellung
- Unterstützung für Logikprogrammierung wie mit Datalog
- ein leistungsfähiges Makrosystem, von kleinen bis großen Makros, einfacher Erstellung von DSLs und Unterstützung sämtlicher Syntaxformen
- Das Racket-Ökosystem besteht aus Software, Tutorials und Dokumentation, Community, Büchern, Bildung, Merchandise und mehr.
- Racket wurde von vielen Organisationen und Einzelpersonen gefördert, darunter die NSF, DARPA, FIPSE, die Exxon Foundation, Microsoft, Mozilla und Google.
Meinung von GN⁺
- Einer der größten Vorteile von Racket ist die Unterstützung für Language-Oriented Programming. Dadurch lassen sich Domain-Specific Languages (DSLs) leicht erstellen, was zur Steigerung der Produktivität beitragen kann.
- Aufgrund der Eigenschaften von Lisp-Sprachen werden jedoch viele Klammern verwendet, was für Einsteiger die Lesbarkeit beeinträchtigen kann. Es wäre möglicherweise gut, wie bei Clojure statt Klammern andere Syntaxformen einzuführen.
- Tutorials und Dokumentation sind gut ausgebaut, was das Lernen erleichtert. Die Sprache wird auch häufig in der Ausbildung eingesetzt.
- Sie kann zwar als allgemeine Programmiersprache verwendet werden, hat aber auch eine Spezialisierung auf die Erstellung von DSLs oder auf Bildungszwecke wie SICP. Für den Einsatz in echten Produktionsumgebungen scheinen Bibliotheken und Ähnliches noch etwas zu fehlen.
- Für alle, die mit funktionalen Sprachen anfangen möchten, ist sie als Lernsprache empfehlenswert. Für die praktische Arbeit sollte man jedoch auch Haskell, OCaml und F# in Betracht ziehen.
1 Kommentare
Hacker-News-Kommentar
Zusammenfassung:
typed/racket,racket/guiundscribble/basein einer einzigen Anwendung integrieren lassen. Die Tutorial-Kapitel, die die einzelnen Sprachen erklären, werden ohne Bezug zueinander behandelt, was verwirrend ist.#langfür Lua.