Clojure

Web Name: Clojure

WebSite: http://clojure.org

ID:50979

Keywords:

Clojure,clojure,programming

Description:

Clojure is a robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool. The Clojure Programming Language Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language, yet remains completely dynamic – every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. I hope you find Clojure's combination of facilities elegant, powerful, practical and fun to use. Rich Hickey author of Clojure and CTO Cognitect “Our Clojure system just handled its first Walmart black Friday and came out without a scratch.” Anthony Marcar, Senior Architect Walmart Labs “Clojure is a functional programming language from top to bottom. This means that code written in Clojure is very modular, composable, reusable and easy to reason about.” Chris Price, Software Engineer Puppet Labs “We discussed the existing Clojure community, the maturity of the language itself and the momentum we saw in the industry. Companies are seeing speed to market deliveries ... based on Clojure.” Dave Elliman, Head of Technology ThoughtWorks Features Clojure has a set of useful features that together form a simple, coherent, and powerful tool. Dynamic Development 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. Functional Programming 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. LISP 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. Runtime Polymorphism 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. Concurrent Programming 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. Hosted on the JVM 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. Cognitect Cognitect is a collection of experienced, thoughtful technologists, passionate about helping organizations deploy technology effectively and humanely to build better futures. In addition to working directly with companies to deliver innovative solutions, Cognitect offers architectural review, training and talent development services for companies and teams deploying Clojure and ClojureScript. Cognitect are also the makers of Datomic, a transactional database with a flexible data model, elastic scaling, and rich queries. Datomic Ions let you develop Clojure applications for AWS by deploying your code to a running Datomic cluster. “We have created some of the sharpest tools in the business. We believe this platform is a better way to develop software, and we want you to have confidence using and deploying these tools. Open source doesn't mean you're on your own any more.” – cognitect.com

TAGS:Clojure clojure programming

<<< Thank you for your visit >>>

Websites to related :
Fructus Data AB - CAM software f

  CAM solutions for efficient CNC programmingOur expert team has provided CAM solutions for CNC programming to the Nordic manufacturing industry, for mo

NLP: The Essential Guide for Neu

  Welcome To Your Resource Site For “NLP: The Essential Guide!”You may have already read quite a bit of the book or you may be looking through it for

genetic-programming.org-Home-Pag

  Genetic programming (GP) is an automated method forcreating a working computer program from a high-level problem statement of aproblem. Genetic progra

Wololo.net - PS4, PS Vita, Ninte

  Wololo.net - PS4, PS Vita, Nintendo Switch, 3DS PSP Programming, Security and Homebrews

Technology and Programming News

  This is a mashup of many vote based news sites and popular technology and programming blogs. News is updated about every 15 minutes. For more details

Enrique Serrano Design Portfolio

  If you think I d be a good fit for your projects, don t hesitate to get in touch. Contact me

icanbecreative - creativity acro

  Elaborate Life Like Insects Crafted With Organic Materials Japanese artist Hiroshi Shinno creates hyper realistically and detailed sculptures of life

Peltier Tech Blog - Peltier Tech

  My data data is in a two-column Table of dates and corresponding weights; I ve named the Table DataDateWeight. In my last article, I used a combinatio

Neuro Linguistic Programming (NL

  Do you want more success, money, happiness, health, better relationships and to be able to influence with integrity? Are you ambitious or an entrepren

1Keydata - Free Online Programm

  1Keydata.com offers free online programming tutorials and information on data warehousing.Data Warehousing and Business IntelligenceInformation on bus

ads

Hot Websites