漲漲姿勢,13 個比較冷門但很實用的編程語言

enzerliu 7年前發布 | 7K 次閱讀 Lisp Java ErLang

值得學習的編程語言多種多樣,前端、后端乃至框架選項更是多達數百種。如果大家擁有計算機科學專業背景,那么對C或者C++一定不會陌生; 而如果您屬于開發從業者,那么Java、Python、Perl與Ruby則肯定是您的日常工具。

如果,您不喜歡隨大流學習編程語言,就是喜歡小眾的這股特有的調調,或者喜歡不斷的學習新的語言~那么請千萬別錯過下面這份推薦列表,它們不僅很有意而且還有學習的價值,雖然人氣不高但卻值得一試。

1. Rust

由Mozilla Research支持的Rust專注于“類型安全性、內存安全性、并發性與性能”。大家可以利用Rust構建起分布式客戶端-服務器應用及可靠的系統級程序。雖然由于誕生時間不長而尚未受到廣泛關注,但我們相信Rust一定擁有光明的發展前景。

2. Hack

它 是由非死book開發的新編程語言,是基于Hip-Hop(簡稱HHVM)開發的,同時結合了動態類型語言(如PHP語言)和靜態類型語言(如C語 言)兩種特點的一種編程語言,利用Hack,大家能夠快速構建起復雜的網站,且無需編譯即可運行,這種靜態類型語言允許用戶使用動態編碼方式,盡管其在社 交網絡上已經引起關注,但目前Hack的使用范圍仍然不廣。

3. Ada

Ada擁有眾多強大的特性,例如“按需擴展、避免命名空間污染、數據抽象與信息隱藏語義、可復用性、并發支持、方法中立性、實時支持以及關鍵性安全支持”等靈活優勢。不過必須承認,Ada仍未能廣泛流行。

4. Haskell

Haskell 是一種“純函數”編程語言,其設計中處處可見懶惰、靜態類型與類型推斷的痕跡。除了簡單且優雅的語法,Haskell的速度也絕對令人驚喜。事實上,它的 人氣要比大家印象中更高——ABN AMRO利用其構建投資銀行相關程序,而ASIC與FPGA設計軟件廠商Bluespec則利用其開發自家產品。

5. Erlang

由 愛立信計算機科學實驗室開發的Erlang可作為開源代碼自由使用,支持多線程并與Java一樣使用虛擬機機制——但與Java不同的是,Erlang面 向嵌入式系統及強大的服務器。Erlang開發出的知名成果包括非死book chat。有些人認為Erlang的語法比較奇怪,但其仍然非常適用于某些任務,并能夠較好地適應普遍性需求。

6. Racket

Racket 屬于基于Lisp/Scheme的多范式語言。其設計目標之一在于創建、設計及實現其它編程語言。Racket指南的表述非常清晰且組織極為完善。其語法 非常簡單; 其屬于無類型語言,且提供大量用于教學的庫及語言。事實上,我也不明白為什么Racket未能真正流行起來。

7. IO

這是一種相對較新的語言。其具備一套原型設計對象模型,且擁有能夠快速上手的語法設置。支持者認為這是一種堪稱偉大的通用型編程語言,當然也許新元素太多阻止了其得到廣泛認可。

8. Groovy

Apache Groovy是一種可選類型的動態語言,且面向Java平臺。這一面向對象語言可作為腳本化語言或者通過編譯方式使用。人們往往將其稱為“java的一套 超集”。其特性包括平穩的學習曲線、緊湊的語法、單元測試支持能力、動態類型與域特定語言、強大的處理能力以及易于上手的Web應用開發機制。這款語言由 于推廣不力而未受開發者的應有重視,但TIOBE指數表示其人氣已經達到Scala的三倍。

9. Scratch

由麻省理工媒體實驗室開發的Scratch專門面向8到16歲的兒童編程學習者。其不具備典型語法。開發團隊指出,“這使其比其它語言更易于修改、更具實際意義且更有社交特性。”此語言免費、可視且非常適合用于開發游戲及動畫。

10. Dart

曾 幾何時,谷歌Dart被廣泛視為繼JavaScript之后最適用于Web開發的語言。遺憾的是,Dart一直未能超越JS,而谷歌則利用 CoffeeScript(Dart到JavaScript編譯器)對其進行了重塑。降了谷歌之外,Dart的用戶還包括Blossoms與 Workiva等。盡管Dart在谷歌內部擁有崇高地位,但其在外部世界中的人氣確實不高。

11. Q

Q由數據分析廠商Kx Systems公司開發。其為同一問題提供了解決方法,從而實現語言通用性。Q屬于面向kdb+(一套基于磁盤的內存列式數據庫)的查詢語言。作為函數編程語言,其性能可預測性存在一定問題,這可能主要源自懶惰與“對垃圾回收機制的高度依賴”。

12. Clojure

Clojure是一種專門面向并發用例的Lisp變體。其運行在Java虛擬機上,大家還可以輕松獲得Java交互性以進一步提升其“Lisp”風格。與本列表中的其它語言不同,它擁有相當豐富的附加選項、多種方法以及大量預置數據結構。

13. Lua

盡管非常簡單,但Lua被廣泛認為是一種能夠支持命令式、函數式以及面向對象方法的多范式語言。Lua代碼擁有較其它解釋語言更快的執行速度。

◆◆◆

當然,今天的這份列表肯定不夠完整,我們也不可能將一切有價值且人氣較低的語言納入進來。需要強調的是,編程語言只是用來完成工作的工具,真正重要的是掌握符合需求的正確工具。希望今天的文章能夠為大家帶來一點啟示,并找到適合自己的學習方向。

 

來自:http://www.techug.com/post/13-rare-and-underrated-programming-skills.html

 

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