Clojure:让我兴奋的编程语言

Clojure:让我兴奋的编程语言 - 开源中国社区
http://www.oschina.net/news/52018/clojure-make-me-exciting

最近我一直有想写一点关于Clojure的东西的冲动。但不巧的是,还有一个更大的冲动经常出现,就是要用Clojure语言重写我的这个博客网站,这也就让这篇文章的出炉延迟了一段时间。那么,下面就让我们开始聊聊Clojure这种编程语言吧!
我真正用到的第一种编程语言是Ruby。目前仍然每天在用Ruby为客户开发工作,大多是Rails应用。用Ruby大量的开发制作原型——这是一种非常帅的语言,尽管对编程的程序员需要极大的自律性来避免落入一些常见的陷阱。
我关注Clojure语言很久了,读了不少关于这种语言的书,看了不少谈论这种语言的视频,但大多时候都是浅尝辄止。前几周,我遇到了一次机会,要 为一个客户用Clojure写一个小的简单的服务程序,这让我有了完全不同的体验。从那以后,我开始感觉用Clojure制作原型和编写程序变得更自然顺 手。下面就是我在用这种语言开发过程中获得的感受和想法,以及为什么Clojure现在会变成我最喜欢最常用的编程语言。先免责声明,我既不是一个Clojure语言编程高手,也不能保证我说的都是正确的——这些只是我短期的在有限的一些项目中使用这种编程语言的过程中获得的体验。
Clojure给人一种经过精心设计过的感觉
从Ruby中出来,这是Clojure最让我感到震惊的特征。Clojure语言在发布前足足经历了两年的设计(甚至没有任何代码产生,完全在稿纸上)。你可以在第一次接触它的过程中就能感受到这些。
在使用一种编程语言的时候,我通常会遇到一些情况——无法理解为什么写出的代码并没有按照预期的结果输出。当这种情况发生时,比如使用JavaScript,最终弄清问题出在什么地方的结果让人非常的泄气——大多数时候当我向一个更有经验的JS程序员求助时他会说:
“哈哈,当然这样不行!你看这里,在JavaScript里,这是一个特殊情况。你需要这样做才行。”
这让我很郁闷。我不能把这当成学到了一种知识,这只是在这种语言里的一个变通技巧。这并不像是一种知识。
而在Clojure里,我通常会想明白是我错了(比如,把lazy序列当成普通序列来处理),这种语言会以某种途径让你去把事情做对。感觉就像,如果我询问Rich Hickey (Clojure语言的发明人),他会告诉我:
“哈哈,这当然不行!再想想——每个东西都应该按照它自己应该的方式运行。你用错了函数,你用错了数据结构。”

这才是真正的长知识,这会让我很开心。
Clojure简洁且优雅
Clojure并不是一种纯函数式编程语言,通常这会让这种语言更容易为大多数人接受和学习。但它仍然是非常函数式的,这使得这种语言非常优雅,简洁和强大。
使用Clojure编程,我发现自己会先开发出非常小且可复用的函数,然后巧妙的组合它们,构建成更大的程序。它的超级简单的模块化系统使得你非常容易的理清你的程序的模块和它们的依赖模块。
还有,无论何时,当我写的接口有丑陋的地方,或什么地方有重复的代码,我都能明显的感觉到,而且要去思考它,想办法重构它,这种语言会驱动你寻找最佳编程方案。这跟以前的跟那些编程语言做斗争的感受完全不一样。它会帮助你实现最简洁、最优雅编程策略。这对于我,一个曾大量使用过Ruby,C语言和JavaScript的程序员来说,是空前的新奇的感觉。
Clojure程序的开发流程让人惊叹
在我的认识里,编程工作中一个最让人头疼的问题是,我们大量的脑力浪费在一遍又一遍的等待程序反馈中。而用Clojure开发程序的流程解决了这个问题。如果你使用过Lisp语言,相信不会对此惊奇。
使用Clojure编程,你的编辑器(可以是Vim,Emacs,Light Table…)一直和运行环境实时联通。你对函数的开发、测试、修改能立刻得到反馈。你的大脑在编程中处于流状态,缓慢的反馈会打断你的逻辑思维,这是不 可接受的。这也是最喜欢Clojure的原因。
所以,这些就是我目前对Clojure这种编程语言的感觉。如果你还没有尝试过它,我高度推荐你试一试:到官方网站看看如何入手。

[英文原文:Why I am excited about Clojure ]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容