`
robert
  • 浏览: 6407 次
文章分类
社区版块
存档分类
最新评论

Clojure 语言简介

阅读更多
Tapestry 的作者称之为下一百年的编程语言

  • 其最吸引人的特性是高质量和高效的 STM (内存事务),对并行性的支持非常有独到之处。多线程不需要锁。
  • 其他的重要特性包括与 Java 的高度互操作能力,引入了更简练的 Java 写法。比如有人用其书写的重用 ant 全部 task 的构建系统仅仅 120 行。
  • 它并非面向对象的,但其 multimethod 的多形性实现比对象继承体系更加灵活和容易使用。
  • 它具有基本和 Java 一样的性能。本身的动态类型 (duck type) 可以简化程序员的工作,你也可以通过增加类型信息 (Type hint) 让它完全不使用反射,从而编译成的字节码与 Java 完全等价。
  • 其强大的宏能力,让你可以自己定义语法和自己的领域语言 (DSL)。
  • 使用 Clojure 开发的框架包括 Web 框架 Compojure ,单元测试框架 test-is 等。与 Clojure 语言本身类似,这些框架也是极为简洁(test-is 仅仅 200~ 行代码),但非常容易理解和书写。
  • Clojure 是极简主义的,几乎没有语法。也极其简练,其核心源程序仅仅4K 行。远在其发布 1.0 版本以前,它的质量就已经达到了发布水准,几乎没有 Bug。这也说明了作为语言其固有的质量优势。它可以让程序员不容易犯下错误。
  • Clojure 开发使用 REPL,一个类似于命令行 Shell 的交互工具,写下来的代码可以立即执行。是交互式的开发方式,非常具有乐趣。
  • 已经有了 Eclipse, NetBeans, IDEA 下的开发工具插件,不过目前特性还不是很多,但质量已经可以使用。

至于广受指责的括号海洋,那是因为它用括号代替了全部 Java 的大括号来进行范围划分。如果你有个会自动匹配括号的编辑器或 IDE,就不成任何问题。
分享到:
评论
2 楼 robert 2009-05-09  
在2003年4月的 pyCon 大会上 Paul Graham 的发言试图预言 22世纪初的编程语言的特征。他说:

I believe Lisp Machine Lisp was the first language to embody the principle that declarations (except those of dynamic variables) were merely optimization advice, and would not change the meaning of a correct program. Common Lisp seems to have been the first to state this explicitly.

他认为 Lisp 思想(我理解 Lisp 本身不是一种语言,而是一种元语言,所以有多种方言)是这个方向上重要的一步,Common Lisp 是其重要的一个实现。
而 Clojure 是另一种新的 Lisp 方言,它试图继承 Lisp 的基本哲学和重要优点,但通过建构于 VM、提供并行性特性等方法更能融合新的硬软件的成果,所以它更加接近 Graham 所预言的22世纪语言的特征。

night_stalker 写道
Clojure 是 Lisp 方言。

the Hundred Year Language 其实是说人工智能之父发明的 Lisp (since 1958) 。

http://www.paulgraham.com/hundred.html

1 楼 night_stalker 2009-05-08  
Clojure 是 Lisp 方言。

the Hundred Year Language 其实是说人工智能之父发明的 Lisp (since 1958) 。

http://www.paulgraham.com/hundred.html

相关推荐

    programming clojure

    #### 一、Clojure语言简介与特性 Clojure是一种基于Java虚拟机(JVM)的现代函数式编程语言,它继承了Lisp语言的传统,并在此基础上加入了诸多创新特性。由于其独特的优势,如强大的元编程能力、简洁的语法以及对...

    Pragmatic - Web.Development.with.Clojure.Jan.2014.pdf

    #### 一、Clojure语言简介及其在Web开发中的应用 - **Clojure**:一种运行于Java平台上的Lisp方言,它继承了Lisp的强大功能,如宏系统,并且充分利用了Java平台的强大生态系统。 - **Web开发**:使用Clojure进行Web...

    Practical Clojure.pdf

    根据提供的文件内容,我们可以提取出以下关于Clojure语言的知识点: Clojure是一种编程语言,它给作者留下了深刻的印象,并且被视为一种多用途的、全面的编程语言。作者在开始学习Clojure时,体会到了编程的乐趣,...

    Web.Development.Essentials

    #### 二、Clojure 语言简介 Clojure 是一种运行于 Java 平台上的 Lisp 方言,它结合了函数式编程和面向对象编程的优点。Clojure 具有以下特点: 1. **动态性**:Clojure 作为一门动态类型的语言,允许开发者在运行...

    clojure电子书

    《Clojure电子书》集合包含了三本关于Clojure编程的重要书籍和一个Leiningen的Windows安装程序,这对于学习和深入理解Clojure语言至关重要。Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,...

    Programming Clojure 英文电子版

    #### 一、Clojure语言概述 《Programming Clojure》是一本深入探讨Clojure编程语言的书籍,该书由Stuart Halloway编写,出版于2009年3月,由Pragmatic Bookshelf出版社发行。本书共200页,主要介绍了Clojure作为一...

    Clojure Handbook(2012.11.1)

    Clojure Handbook是一份关于Clojure编程语言的学习笔记,旨在为读者提供一个方便的备查材料,以加深对Clojure语言特性的理解和记忆。 首先,Clojure作为Lisp语言家族的一员,具有一些独特的特性。Lisp语言以其极简...

    Living Clojure

    《Living Clojure》是美国亚马逊上获得高分评价的一本关于Clojure语言的学习资料。这本书由Carin Meier撰写,版权属于作者Carin Meier,于2015年由O'Reilly Media, Inc.出版。O'Reilly Media, Inc.是知名的教育和...

    Living clojure pdf

    这个标题表明本书的主题是关于Clojure语言,并且该书提供PDF格式供读者下载或在线阅读。Clojure是一种运行在Java平台上的Lisp方言,它结合了函数式编程和面向对象编程的特点,特别适用于并发编程。 ### 描述:...

    clojure1.3.0及资料

    综上所述,这个压缩包包含了一系列资源,可以帮助开发者深入理解Clojure语言,尤其是1.3.0版本及其后续演进。书籍提供了理论知识,源代码提供了实践洞察,而Storm的实现则展示了Clojure在大数据领域的应用。这些资料...

    Java_Clojure编程语言.zip

    Java和Clojure是两种截然不同的编程语言,但它们都在现代软件开发中占有重要的地位。Java,由Sun Microsystems(后被Oracle收购)开发,是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名...

    Clojure入门教程- Clojure – Functional Programming for the JVM中文版

    #### 一、Clojure简介 - **Clojure**是一种运行在Java虚拟机(JVM)上的动态编程语言,它继承了Lisp家族的强大功能,同时结合了现代编程语言的优点,如面向对象编程和函数式编程。 #### 二、Clojure的特性 - **函数式...

    programming-clojure-3rd

    《Programming Clojure 第三版》是一本深入探讨Clojure编程语言的专业书籍,旨在帮助开发者全面理解和...通过阅读这本书,你不仅可以学习到Clojure语言本身,还能领悟到函数式编程思维,从而在编程世界中开辟新的视角。

Global site tag (gtag.js) - Google Analytics