Clojure
| Clojure | |
|---|---|
| Autore | Rich Hickey |
| Data di origine | 2007 |
| Ultima versione | 1.6 |
| Utilizzo | |
| Paradigmi | funzionale |
| 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 | www.clojure.org |
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
- (EN) Guida introduttiva a Clojure
| Controllo di autorità | GND: (DE) 7722643-4 |
|---|