成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Clojure:讓我興奮的編程語言

開發 前端 開發工具
最近我一直有想寫一點關于Clojure的東西的沖動。但不巧的是,還有一個更大的沖動經常出現,就是要用Clojure語言重寫我的這個博客網站,這也就讓這篇文章的出爐延遲了一段時間。那么,下面就讓我們開始聊聊Clojure這種編程語言吧!

最近我一直有想寫一點關于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

譯文出處:http://www.vaikan.com/clojure/

責任編輯:林師授 來源: 外刊IT評論 編譯
相關推薦

2012-04-23 14:35:29

JVMJavaClojure

2009-08-27 17:12:04

Clojure編程語言Java

2009-03-10 14:51:31

IBM小肥羊擴張

2013-03-04 09:30:38

ClojureJVM

2014-03-26 14:19:00

ClojureJVM

2015-07-20 11:32:07

編程語言

2013-03-25 11:11:37

編程語言編程語言書籍編程語言書

2013-01-29 13:46:28

Fedora 18

2011-09-20 15:01:40

Scala語言

2012-07-25 09:56:52

編程程序員

2014-03-06 15:48:37

李奕泓編程程序媛

2018-12-04 15:46:53

編程語言Python

2023-10-04 00:18:00

云原生Go語言

2024-01-03 15:09:21

云原生Go語言

2014-07-28 09:43:58

編程語言鑒別編程

2013-03-20 10:01:40

Google云筆記

2020-12-12 16:08:04

編程語言開發

2019-11-18 15:07:54

編程語言C#

2013-04-11 09:23:36

.NET編程Haskell

2013-06-27 10:31:39

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 做a网站 | 97人澡人人添人人爽欧美 | 久久福利网站 | 日韩a视频| 日韩电影一区二区三区 | 视频一区在线播放 | 最新国产在线 | 羞羞视频免费在线 | 国产成人jvid在线播放 | 成人a在线 | 久草中文在线 | 欧美激情一区二区 | 日韩一区二区在线视频 | 男女国产网站 | av中文字幕在线播放 | 久久男人| 视频在线一区二区 | 国产精品久久久久无码av | 欧洲一区二区三区 | 亚洲一区成人 | 香蕉大人久久国产成人av | 亚洲3p| 狠狠干av | 亚洲首页 | 国产精品69毛片高清亚洲 | 激情 一区 | 91大神在线资源观看无广告 | 成人免费视频播放 | 久久一区二区精品 | 亚洲一区二区免费视频 | 一区免费看 | 99久久免费精品国产免费高清 | 中国黄色在线视频 | 99精品网| 欧美亚洲视频在线观看 | 亚洲成人高清 | 波多野结衣一区二区 | 欧美一级免费看 | 久久成人精品 | 网站国产 | www日韩 |