10分鐘嘗試10種編程語言

jopen 11年前發布 | 16K 次閱讀 編程語言

10分鐘嘗試10種編程語言

        英文原文:Try 10 Programming Languages in 10 minutes

        世界上有很多有趣的編程語言,但下載它們、安裝編程環境可能會是一件非常耗時的事情,而你很可能只想試一下。好消息是,你可以直接在瀏覽器里運行很多的編程語言,通常還有附帶有一些教程來指導你了解基礎知識。

        學著《七周七種語言》這本書的模式,下面是更簡潔的版本。

        動態語言

        厭煩了長時間的編譯、渴望一種輕量級的腳本環境?動態語言一定會讓你喜歡。

        嘗試 Lua 語言

        Lua 是一種輕量級的動態編程語言,對協程(coroutine)有著很好的支持,因為有著簡單的 C API,使得它在游戲視頻腳本處理方面非常流行。比如游戲引擎L?VE Marmalade Quick

        嘗試 Clojure 語言

        Clojure 是大演講家 Rich Hickey 的智力結晶,它是一種最古老的編程語言 LISP 的后裔。關于 Clojure 語言的社區很多,我最喜歡的一個 Clojure 項目是 Sam AaronOvertone,一種即時音頻編碼工具。

        嘗試 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 EichStrangeloop 上的一個談話,題目是《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 里的一些習題,例如 FizzBuzzGame of LifeMinesweeper

        有些人喜歡研究 Project Euler 里的問題,另外一些人有自己的 Hello World 應用。比如 Martin Trojer,這是一個 Scheme 解釋器。而 Luke Hoban 在開發一個 Ray 跟蹤器。

        我建議去參加一些本地的研討學習小組。倫敦 Scala 語言交流會每月都有一個編程活動,F#unctional 倫敦人交流會剛好在月中有一個會議,下一次是關于 Machine Learning

        在每節后面有問題和習題的編程書籍是很好的學習工具,可以練習你學到的知識,但這樣的書很少。最近出版的《Functional Programming with F#》是一個很優秀的例子,它的每章后面都有問題習題。

        也許幾個小時你就能熟悉一種語言的基本知識,但熟練掌握至少要幾個星期,而精通,那就要至少幾個月了。

        想寫出自己的編程語言嗎?Pete Sestoft 的《程序設計語言概念》對這個主題提供了很好的介紹。

來自: 外刊IT評論

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!