The Clojure programming language

The Clojure programming language
复制标题

Clojure 编程语言

DOI:
10.1145/1408681.1408682
复制
发表时间:
2008
期刊:
Proceedings. Eighth International Conference on Parallel and Distributed Systems. ICPADS 2001
影响因子:
--
通讯作者:
R. Hickey
R. Hickey
中科院分区:
--
文献类型:
--
作者:
R. Hickey

文献摘要

被引文献

相似文献

客户和利益相关者在JVM和JVM等行业标准平台上进行了大量投资,并对这些平台的性能、安全性和稳定性感到满意。虽然这些平台上的Java和C#开发人员可能会羡慕动态语言的简洁性,灵活性和生产力,但他们担心在客户认可的基础设施上运行,访问现有代码库和库以及性能。此外,他们还面临着使用本机线程和锁定处理并发性的持续问题。Clojure是在这种背景下进行实用动态语言设计的一项努力。它努力成为一种通用语言,适用于Java适合的领域。它反映了这样一个现实:对于并发编程的未来,普遍的、无节制的变异必须消失。Clojure通过以下方式实现其目标:采用行业标准的开放平台-JVM;使古老的语言-Lisp现代化;用不可变的持久数据结构促进函数式编程;通过软件事务内存和异步代理提供内置并发支持。结果是强大的,实用的,快速的。本次演讲将重点讨论Clojure实施的动机,机制和经验。
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.