ABSTRACT
Customers and stakeholders have substantial investments in, and are comfortable with the performance, security and stability of, industry-standard platforms like the JVM and CLR. While Java and C# developers on those platforms may envy the succinctness, flexibility and productivity of dynamic languages, they have concerns about running on customer-approved infrastructure, access to their existing code base and libraries, and performance. In addition, they face ongoing problems dealing with concurrency using native threads and locking. Clojure is an effort in pragmatic dynamic language design in this context. It endeavors to be a general-purpose language suitable in those areas where Java is suitable. It reflects the reality that, for the concurrent programming future, pervasive, unmoderated mutation simply has to go. Clojure meets its goals by: embracing an industry-standard, open platform - the JVM; modernizing a venerable language - Lisp; fostering functional programming with immutable persistent data structures; and providing built-in concurrency support via software transactional memory and asynchronous agents. The result is robust, practical, and fast. This talk will focus on the motivations, mechanisms and experiences of the implementation of Clojure.
Index Terms
- The Clojure programming language
Recommendations
Clojure: modular programming with functional, concurrent language on the JVM
CASCON '13: Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative ResearchClojure: Modular Programming with Functional, Concurrent Language on the JVM The complexity of software demands well structured architecture. Structure in software in quintessential for writing good code which is easy to debug and extend. Well ...
Comments