Racket (Programmiersprache)
Racket ist eine multi-paradigmatische Programmiersprache in der Lisp-Scheme-Familie. Sie ist Nachfolger des Scheme-Dialekts PLT Scheme. Racket ist auch eine integrierte Entwicklungsumgebung (IDE) mit umfangreicher Bibliothek.
Racket | |
---|---|
Basisdaten | |
Paradigmen: | multi-paradigmatisch |
Erscheinungsjahr: | 2010 (PLT Scheme 1994) |
Designer: | PLT Inc. |
Entwickler: | PLT Inc. |
Typisierung: | stark, statisch |
Dialekte: | Typed Racket, Lazy Racket, Scribble, FrTime |
Standardisierungen: | R5RS, R6RS |
Beeinflusst von: | Scheme |
Betriebssystem: | Linux, macOS, FreeBSD, Windows |
Lizenz: | LGPL, MIT, Apache |
racket-lang.org |
2018 erhielt Racket den Programming Languages Software Award von ACM SIGPLAN. In der Laudatio wurden dessen singuläre Bedeutung sowohl in Forschung als auch Lehre von Programmiersprachen über rund zwanzig Jahre hervorgehoben.[1] Es ist eine führende Programmiersprache zur Erzeugung von Programmiersprachen mit Resultaten zur Erweiterung von Programmiersprachen (Language Extensibility). Es spielte eine wichtige Rolle in der Forschung zu rekursiven Modulen 1. Klasse, Gradual Typing, Functional Reactive Programming und Kontrakten höherer Ordnung. Die IDE DrRacket fand weite Verbreitung in Einführungskursen zu Programmiersprachen und bei neueren Lehrbüchern. Jedoch lernt es sich inzwischen mit andern Programmiersprachen einfacher als mit Racket, da diese meist einen besseren Praxisbezug haben. Grund hierfür ist, dass diese bei größeren Firmen genutzt werden. Ein simpler Einstieg in Java ist beispielsweise mit Javakara oder auch mit Blue-J möglich.
Racket ist Open-Source-Software unter GNU Lesser General Public License bzw. MIT-Lizenz und Apache-Lizenz.[2]
Code-Beispiele
Das klassische Hallo-Welt-Programm:
#lang racket/base
"Hello, World!"
Generierung eines Sierpinski-Dreiecks:
#lang racket
(require 2htdp/image)
(let sierpinski ([n 8])
(if (zero? n)
(triangle 2 'solid 'red)
(let ([t (sierpinski (- n 1))])
(freeze (above t (beside t t))))))
Grafische Ausgabe des Sierpinski-Dreiecks in der integrierten Entwicklungsumgebung DrRacket:
Weblinks
- Offizielle Website (englisch)