Krótki przegląd języka Clojure i jego cech
Zasoby by rozpocząć przygodę z Clojure
Wielka podróż po wszystkim co Clojure ma do zaoferowania
Materiały pomagające odbyć naukę
Mamy tętniącą życiem i rozwijającą się społeczność. Dołącz do nas do naszej grupy Gooogle, znajdź nas na IRC w #clojure lub dołącz do naszego kanału Slack.
Clojure posiada zestaw użytecznych cech, które razem tworzą proste, spójne i silne narzędzie.
Clojure is a dynamic environment you can interact with. Almost all of the language constructs are reified, and thus can be examined and changed. You can grow your program, with data loaded, adding features, fixing bugs, testing, in an unbroken stream.
Clojure provides the tools to avoid mutable state, provides functions as first-class objects, and emphasizes recursive iteration instead of side-effect based looping. Clojure is impure, yet stands behind the philosophy that programs that are more functional are more robust.
Clojure is a member of the Lisp family of languages. Many of the features of Lisp have made it into other languages, but Lisp's approach to code-as-data and its macro system still set it apart. Additionally, Clojure’s maps, sets, and vectors are as first class in Clojure as lists are in Lisp.
Systems that utilize runtime polymorphism are easier to change and extend. Clojure offers simple, powerful and flexible mechanisms for runtime polymorphism. Clojure’s protocols and datatypes features add mechanisms for abstraction and data structure definition with no compromises vs the facilities of the host platform.
Clojure simplifies multi-threaded programming in several ways. Because the core data structures are immutable, they can be shared readily between threads. Clojure, being a practical language, allows state to change but provides mechanism to ensure that, when it does so, it remains consistent, while alleviating developers from having to avoid conflicts manually using locks etc.
Clojure is designed to be a hosted language, sharing the JVM type system, GC, threads etc. All functions are compiled to JVM bytecode. Clojure is a great Java library consumer, offering the dot-target-member notation for calls to Java. Clojure supports the dynamic implementation of Java interfaces and classes.
Spółka Cognitect, opiekunowie Clojure, oferuje wsparcie komercyjne dla Clojure. Bez względu na stopień, w jakim zaadoptowałeś Clojure lub jesteś do tego gotowy - możesz oprzeć się na wsparciu 24x7 Cognitect.
Cognitect oferuje wsparcie rozwojowe, produkcyjne, oraz usługi przeglądu architektonicznego dla firm i zespołów wdrażających Clojure i ClojureScript.
“Stworzyliśmy jedno z najlepszych narzędzi w branży. Uważamy, że platforma ta jest lepszym sposobem na tworzenie oprogramowania i chcemy byś miał zaufanie do niej i używał ją. Open source nie oznacza, że jesteś zostawiony sam sobie.” – cognitect.com
“Nasz system zbudowany na Clojure właśnie obsłużył pierwszy czarny piątek i przeszedł przez to bez problemu.”
“Clojure jest funkcjonalnym językiem programowania od góry do dołu. Oznacza to, że kod napisany w języku Clojure jest modułowy, reużywalny i łatwy do zrozumienia.”
“Rozmawialiśmy o istniejącej społeczności Clojure, o dojrzałości samego języka i o tempie rozwoju branży. Firmy dostrzegają szybkość dostarczania rozwiązań na rynek... z wykorzystaniem Clojure.”