Clojure: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
LaaknorBot (discussione | contributi)
m Bot: Aggiungo az:Clojure
m Corretto un collegamento che portava a una "pagina di disambiguazione" nell'introduzione
 
(25 versioni intermedie di 20 utenti non mostrate)
Riga 1:
{{S|informaticasoftware}}
genere = [[{{Linguaggio di programmazione]]|
{{Software |
|nome = Clojure |
|immagine =
logo = [[File:Clojure-glyph.svg|250px]]|
|didascalia =
sviluppatore|autore = Rich Hickey |
UltimaVersione = 1.3 |
|data = 2007
DataUltimaVersione = [[23 settembre]] [[2011]] |
|versione =
sistema_operativo = Multipiattaforma|
|utilizzo = funzionale, concorrente
genere = [[Linguaggio di programmazione]]|
|paradigmi = [[Programmazione funzionale|funzionale]]
licenza = Eclipse Public License |
|tipizzazione = forte, dinamica
sito_web = [http://www.clojure.org www.clojure.org]
|estensione = .clj, .cljs, .edn
|influenzato_da = [[Lisp]], [[Erlang (linguaggio di programmazione)|Erlang]], [[Haskell (linguaggio)|Haskell]], [[ML (linguaggio di programmazione)|ML]], [[Prolog]], [[Scheme]], [[Java (linguaggio di programmazione)|Java]], [[Ruby (linguaggio di programmazione)|Ruby]]
|ha_influenzato = [[Elixir (linguaggio di programmazione)|Elixir]]
|sistema_operativo = Multipiattaforma|
|licenza = Eclipse Public License |
|sito_web =
}}
 
In [[informatica]] '''Clojure''' è un dialetto del [[linguaggio di programmazione]] [[Lisp]].: Alcunealcune importanti caratteristiche sono lo sviluppo interattivo, la filosofia secondo cui lo stesso codice è un dato, le [[Macro (informatica)|macro]] e la compilazione in [[Java (linguaggio di programmazione)|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]] [[Programmazione funzionale|funzionale]], unito alla persistenza dei dati in memoria e alla loro gestione tramite [[Software transactional memory|STM]] permette di realizzare più facilmente programmi basati sul [[calcolo parallelo]] e [[Multithreading|multithread]].
 
Il supporto del [[paradigma di programmazione]] [[Programmazione funzionale|funzionale]], unito alla persistenza dei dati in memoria e alla loro gestione tramite [[Software transactional memory|STM]] permette di realizzare più facilmente programmi basati sul [[calcolo parallelo]] e [[Multithreading|multithread]].
 
== Filosofia ==
Rich Hickey sviluppò Clojure poiché voleva avere a disposizione un moderno linguaggio [[Lisp]] in grado di supportare il [[paradigma di programmazione]] [[Programmazione funzionale|funzionale]], di sfruttare una piattaforma software già esistente e di gestire facilmente la [[Concorrenza (informatica)|concorrenza]].
 
== Esempi==
[[Hello world]]:
 
<syntaxhighlight lang="clojure">
(println "Hello world!")
</syntaxhighlight>
 
Definizione di una funzione:
 
<syntaxhighlight lang="clojure">
(defn square [x]
(* x x))
</syntaxhighlight>
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{en}}[http://clojure.org Home page]
* {{en}}[cita web|1=http://java.ociweb.com/mark/clojure/article.html |2=Guida introduttiva a Clojure]|lingua=en|accesso=25 agosto 2009|dataarchivio=28 giugno 2011|urlarchivio=https://web.archive.org/web/20110628234040/http://java.ociweb.com/mark/clojure/article.html|urlmorto=sì}}
{{Controllo di autorità}}
{{Portale|informatica}}
 
[[Categoria:Linguaggi di programmazione funzionali]]
[[Categoria:Linguaggi per JVM]]
 
[[ar:كلوجر (لغة برمجة)]]
[[az:Clojure]]
[[ca:Clojure]]
[[cs:Clojure]]
[[de:Clojure]]
[[el:Clojure]]
[[en:Clojure]]
[[es:Clojure]]
[[fr:Clojure]]
[[he:Clojure]]
[[is:Clojure]]
[[ja:Clojure]]
[[ka:Clojure]]
[[pl:Clojure]]
[[pt:Clojure]]
[[ro:Clojure]]
[[ru:Clojure]]
[[sv:Clojure]]
[[uk:Clojure]]
[[zh:Clojure]]