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:

Einzelnachweise

  1. ACM Sigplan Programming Languages Software Award|
  2. Racket License Notice
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.