Racket

Racket (precedentemente nominato PLT Scheme) è nato, come dalla genesi del nome si evince, da un’implementazione del linguaggio Scheme (che a sua volta è un dialetto di Lisp), al quale sono state aggiunte diverse nuove funzionalità, che lo hanno reso un nuovo linguaggio.

E’ un linguaggio di programmazione ad uso generale, multi-paradigma. Viene spesso installato in pacchetto con un ambiente di sviluppo, DrRacket (precedentemente noto con il nome DrScheme).

E’ nato (come anche Scheme del resto, e Lisp più in generale) in un contesto didattico, per progetazione e implementazione di nuovi linguaggi di programmazione. Come nel caso di altri Lisp, ha presto oltrepassato gli ambiti di uso iniziali ed è diventato un linguaggio generico, utilizzabile in un qualsiasi contesto.

Viene fornito con un compilatore in bytecode, con un compilatore JIT (questo ultimo non per tutte le architetture dei processori, ma solo per alcune principali), con diverse librerie di programmi, e con un gestore di pacchetti per l’ installazione delle ulteriori estensioni del linguaggio.

Come ogni Lisp che si rispetti, anche Racket ha un potente sistema di meta-programmazione, con un sistema molto versatile di macro.

Una cosa che rende Racket eccellente, è il fatto che è stato il primo linguaggio di programmazione di ordine superiore a introdurre un sistema di contratti come parte integrante del linguaggio. Dato che un sistema di contratti garantisce il controllo quando le funzioni (o metodi) vengono invocati, è possibile verificare che il programma si comporti in modo coerente con le specifiche funzionali rendendo possibile la scrittura del codice privo di difetti.

Racket è certamente uno di quei linguaggi che un’azienda dovrebbe avere nel proprio bagaglio di competenze, e i nostri corsi sono strutturati per questo scopo.