世界上有很多有趣的編程語言,但下載它們、安裝編程環境可能會是一件非常耗時的事情,而你很可能只想試一下。好消息是,你可以直接在瀏覽器里運行很多的編程語言,通常還有附帶有一些教程來指導你了解基礎知識。
學著《七周七種語言》這本書的模式,下面是更簡潔的版本。
動態語言
厭煩了長時間的編譯、渴望一種輕量級的腳本環境?動態語言一定會讓你喜歡。
嘗試Lua語言
Lua是一種輕量級的動態編程語言,對協程(coroutine)有著很好的支持,因為有著簡單的C API,使得它在游戲視頻腳本處理方面非常流行。比如游戲引擎LOVE和Marmalade Quick。
嘗試Clojure語言
Clojure是大演講家Rich Hickey的智力結晶,它是一種最古老的編程語言LISP的后裔。關于Clojure語言的社區很多,我最喜歡的一個Clojure項目是Sam Aaron的Overtone,一種即時音頻編碼工具。
嘗試R語言 (需要簡單的注冊)
R語言是一種統計及圖表技術的免費語言環境,有著大量的用戶提交的程序包。你在思考如何畫一個雞蛋嗎?試一下吧。
函數式編程語言
函數式編程的思想已經滲透到了大多數主流編程語言里,從C++到VB。然而,如果想真正的體驗函數式編程的富于表達特征,你需要一種以函數式為主的語言。
? 嘗試Erlang語言
Erlang絕對是一種非常有趣的語言,它能幫你打造永不宕機的高容錯并行系統。它提供了非常棒的模式匹配能力。有很多的產品應用和工具都是用它開發的,包括RabbitMQ消息系統和分布式數據庫Riak。
嘗試Haskell語言
Haskell語言深度的依賴Miranda編程語言,Miranda在80年代和90年代用于英國大學的教學。Haskell在此基礎上增加了Monads和Type類,在一些大學里仍然有它的課程。它也非常流行于學院研究方面。
嘗試OCaml語言
OCaml語言很像Miranda,是基于ML編程語言,在其中增加了面向對象結構。F#語言是基于OCaml語言的,甚至還有它的一個兼容模式。OCaml在業內仍然有使用,例如Jane Street Capital 和 XenSource。
Web語言
我們已經知道有太多的語言可以編譯成JavaScript語言。但仍然有價值看一下JavaScript語言的一些新功能特征。不妨看看去年Brendan Eich在Strangeloop上的一個談話,題目是《The State of JavaScript》。下面是3個我認為非常有趣的腳本語言:
LiveScript
LiveScript是CoffeeScript的間接后裔,有著函數式編程特征,例如模式匹配函數函數組合。有興趣的可以看一下10 LiveScript one liners to impress your friends。
嘗試Elm語言
Elm是一種函數式兼反應式(reactive)語言,適合開發高交互軟件,包括各種游戲。反應式編程是一種有趣的趨勢,我認為一些專門針對此設計的語言值得去研究一下。
PogoScript
不幸的是,沒有針對這種語言的在線編輯器,但有一個命令行工具REPL。PogoScript適合做DSL開發,它能允許函數名中有空格。
秘教語言
秘教(Esoteric)語言基本上是只寫不用的語言,有點像Perl,但用來娛樂。
嘗試Brainfuck
Brainfuck是編程語言中的魔方。我去年用純JavaScript開發出這個網站,你可以試一下fib的例子。
瀏覽器IDE
因為網上有這么多用來嘗試的編程語言在線環境,可以推想,集成開發環境(IDE)也可以放到網上。可以預見以后不需要再等4小時來安裝Visual Studio了。
Cloud 9是一個在線的開發Node.js應用的平臺,集成了各種相關程序包。像Sploder這樣的工具可以讓你在線開發游戲。
Try F#網站無可爭議的提供了廣泛的學習這種語言的功能。云Tsunami IDE也提供了大量的學習開發F#的工具。CloudSharper也很快會提供一個利用WebSharper開發F# web應用的IDE。
提升級別
一旦用一種新語言完成了一些簡單任務,你就可能想著提升到一些稍微大的任務上。我喜歡做Kata Catalogue里的一些習題,例如FizzBuzz,Game of Life 和 Minesweeper。
有些人喜歡研究Project Euler里的問題,另外一些人有自己的Hello World應用。比如Martin Trojer,這是一個Scheme解釋器。而Luke Hoban在開發一個Ray跟蹤器。
我建議去參加一些本地的研討學習小組。倫敦Scala語言交流會每月都有一個編程活動,F#unctional倫敦人交流會剛好在月中有一個會議,下一次是關于Machine Learning。
在每節后面有問題和習題的編程書籍是很好的學習工具,可以練習你學到的知識,但這樣的書很少。最近出版的《Functional Programming with F#》是一個很優秀的例子,它的每章后面都有問題習題。
也許幾個小時你就能熟悉一種語言的基本知識,但熟練掌握至少要幾個星期,而精通,那就要至少幾個月了。
想寫出自己的編程語言嗎?Pete Sestoft的《程序設計語言概念》對這個主題提供了很好的介紹。
河南億恩科技股份有限公司(www.vbseamall.com)始創于2000年,專注服務器托管租用,是國家工信部認定的綜合電信服務運營商。億恩為近五十萬的用戶提供服務器托管、服務器租用、機柜租用、云服務器、網站建設、網站托管等網絡基礎服務,另有網總管、名片俠網絡推廣服務,使得客戶不斷的獲得更大的收益。
服務器/云主機 24小時售后服務電話:
0371-60135900
虛擬主機/智能建站 24小時售后服務電話:
0371-55621053
網絡版權侵權舉報電話:
0371-60135995
服務熱線:
0371-60135900