Clojure
Clojure | |
---|---|
Autore | Rich Hickey |
Data di origine | 2007 |
Ultima versione | 1.10.0 (17 dicembre 2018) |
Utilizzo | {{{utilizzo}}} |
Paradigmi | funzionale |
Tipizzazione | {{{tipizzazione}}} |
Estensioni comuni | .clj, .cljs, .edn |
Influenzato da | Lisp, Erlang, Haskell, ML, Prolog, Scheme, Java, Ruby |
Ha influenzato | Elixir |
Implementazione di riferimento | |
Sistema operativo | Multipiattaforma |
Licenza | Eclipse Public License |
Sito web | |
Clojure è un dialetto del linguaggio di programmazione Lisp. Alcune importanti caratteristiche sono lo sviluppo interattivo, la filosofia secondo cui lo stesso codice è un dato, le macro e la compilazione in Java bytecode, che permette a Clojure di funzionare su una macchina virtuale Java e di accedere facilmente a tutte le librerie Java.
Il supporto del paradigma di programmazione funzionale, unito alla persistenza dei dati in memoria e alla loro gestione tramite STM permette di realizzare più facilmente programmi basati sul calcolo parallelo e multithread.
Filosofia[modifica | modifica wikitesto]
Rich Hickey sviluppò Clojure poiché voleva avere a disposizione un moderno linguaggio Lisp in grado di supportare il paradigma di programmazione funzionale, di sfruttare una piattaforma software già esistente e di gestire facilmente la concorrenza.
Esempi[modifica | modifica wikitesto]
(println "Hello world!")
Definizione di una funzione:
(defn square [x]
(* x x))
Collegamenti esterni[modifica | modifica wikitesto]
- (EN) Home page, su clojure.org.
- (EN) Guida introduttiva a Clojure, su java.ociweb.com.
Controllo di autorità | GND (DE) 7722643-4 |
---|