Clojure
| Clojure linguaggio di programmazione | |
|---|---|
| Autore | Rich Hickey |
| Data di origine | 2007 |
| Ultima versione | 1.10.3 (4 marzo 2021) |
| Utilizzo | funzionale, concorrente |
| Paradigmi | funzionale |
| Tipizzazione | forte, dinamica |
| 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.org/ |
In informatica 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))
Altri progetti[modifica | modifica wikitesto]
Wikimedia Commons contiene immagini o altri file su Clojure
Collegamenti esterni[modifica | modifica wikitesto]
- (EN) Home page, su clojure.org.
- (EN) Guida introduttiva a Clojure, su java.ociweb.com.
| Controllo di autorità | LCCN (EN) sh2011003332 · GND (DE) 7722643-4 |
|---|