2017最受歡迎人工智能編程語言:Python第一,R並未上榜

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

7. Haskell

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

Haskell 是1990年開發的強靜態類型,非限定性編程語言。由於Haskell開發人員不多,小公司很少嘗試Haskell。

Haskell 做得很好的是抽象(抽象數學,而不是Java OOP)。它允許具有表達性的、高效的庫表達AI算法。例如,HLearn使用常見的代數結構(模塊,單群等)來表達和提高簡單機器學習算法速度。

雖然你可以用任何語言編寫這些算法,但Haskell相比其他語言更具表現力,同時保持不錯的性能。例如,Haskell寫的faster cover trees 。

Haskell支持領域特定語言(embedded domain-specific languages),這是一個著名的編程語言研究領域,適用於包括人工智能在內的許多領域。具體來說,它對概率編程來說很好,並能幫助開發人員在編譯時發現錯誤。

該語言具有CUDA綁定,並被編譯為字節碼(bytecode)。由於函數編程和靜態,代碼可以輕鬆地在雲上的不同CPU上執行。行業採用方面,Facebook使用Haskell打擊垃圾郵件。

6. JavaScript

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

JavaScript 是一種高級、面向對象的直譯語言,主要用於使網頁交互和創建在線程序,包括遊戲。

在JavaScript中,學習對話模型並不重要。學習服務器端的數據,然後通過Ajax調用學習者進行預測。 JavaScript有很多好用的庫,我們總結其中3個:

  • ConventJS:實現深度學習的庫——在瀏覽器中訓練卷積神經網絡。它支持完全連接的層以及非線性神經網絡模塊,分類和迴歸成本函數。

  • Synaptic:一個用於node.js.的神經網絡庫。 其通用算法是無架構的,可以用於開發和訓練幾乎所有類型的一階和二階神經網絡架構。

  • Mind:它使用矩陣實現來處理訓練數據。你可以完全自定義網絡拓撲和上傳/下載已學習的minds。

簡而言之,你不必重新造輪子,只需確定AI要做什麼類型的“learning”。

5. Prolog

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

Prolog是一種與計算語言和人工智能相關的邏輯編程語言和語義推理引擎。它具有靈活而且強大的框架,被廣泛應用於定理證明,非數字編程,自然語言處理和AI。

Prolog 是一種具有形式邏輯的聲明語言。AI開發者重視其預設計的搜索機制,非確定性,回溯機制,遞歸性質,高級抽象和模式匹配。

Prolog非常適合涉及結構化對象及其關係的問題。例如,在Prolog中,更容易表達對象之間的空間關係,比如表達“綠色的三角形在藍色的後面”。說明一般規則也很簡單,例如表達“對象A比對象B更靠近人,而B比C更近,則A應該比C更近”。

Prolog的性質使得實現事實(facts)和規則(rules)變得簡單直接。實際上,Prolog中的一切都是事實或規則。它允許你查詢數據庫,即使你已具有上述這些事實和規則。

Prolog支持開發圖形用戶界面,管理和網絡應用程序。它非常適合語音控制系統等項目。

4. Java

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

在Java中編程AI的好處:很好地支持大型項目,更好的用戶交互,調試易用性,便於可視化以及Swing和Standard Widget Toolkit的併入。

其主要優點是通用性——如果你是初學者,互聯網上可提供上千種有用的教程(免費),使你的學習更輕鬆,更高效。

Java開發的一些著名應用程序:

  • WEKA 機器學習套件:專門用於機器學習和數據挖掘

  • JOONE:用於設計,訓練和測試神經網絡

  • ALICE(artificial linguistic internet computer entity的縮寫):自然語言處理chatbot

  • Robocode:一個用於學習Java編程原理的開源遊戲

3. Lisp

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

Lisp是最早的(1958年開發的)編程語言之一,由John MaCarthy博士創造,John MaCarthy也是創造“人工智能”這個術語的人。雖然近年來Lisp沒有被很多人使用,但該語言既靈活又具有可擴展性。

Lisp最初是針對Lambda演算開發的,誕生以來發生了很多演變。該語言在計算機科學中引入了許多想法,如遞歸,動態類型,高級函數,自動內存管理,自主(self hosting)編譯器和樹結構(tree data structure)。

Lisp用於開發人工智能軟件,因為它支持使用符號計算的程序的實現。符號表達和計算是Lisp擅長的。

此外,Lisp由一個宏系統,可以生成高效代碼的開發良好的編譯器,以及一組集合類型,包括哈希表和動態大小列表組成。

Lisp開發的有數以千計的AI應用程序,包括:

  • 美國運通的授權人助理,用於檢查交易(信用卡)

  • METAL,一種自然語言翻譯系統

  • Macsyma,第一個大型計算機代數系統

  • ACL2,AMD使用的定理證明程序

2. C++

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

C ++比其他語言更快——它在硬件層進行通信的能力允許你改進代碼執行時間。這對在意耗時的人工智能項目非常有用。它可以用於統計AI方法,如神經網絡中的。

由於執行時間和OOP原則更快,C ++本身就是AI程序的好選擇。事實上,大部分機器學習和深度學習庫都是用C / C ++編寫的,並提供相同語言的API和為其他編程語言提供封裝。

如果你想控制運行時間和性能,C ++顯然是一個很好的選擇。 模板(template)使用更安全,它們提供了更好的推廣API的方法。雖然模板是一種強大的技術,可以簡化很多事情,但需要更多的時間和經驗來決定何時使用它們。

該語言覆蓋了3D遊戲的複雜性,優化資源管理,並通過網絡促進多人遊戲。一個真實的例子是科幻遊戲Doom 3,它使用C ++和虛擬引擎,一套遊戲開發工具(用C ++編寫)。Microsoft Windows,Mac OS,Adobe Photoshop,Maya 3D軟件,CAD,Mozilla Firefox等都是使用C ++的著名應用程序。

1. Python

2017最受歡迎人工智能編程語言:Python第一,R並未上榜

Python專注於DRY(don’t repeat yourself)和RAD(rapid application development)。Python開發於20世紀90年代初,由於其可擴展性,適應性和易於學習而成為增長最快的編程語言之一。

Python有數百個庫可以使任何類型的項目成為可能,無論是移動應用程序,Web應用程序,數據科學還是人工智能。例如,用於科學計算的“Numpy”,用於機器學習的“Pybrain”,用於高級計算的“Scipy”和用於人工智能的“AIMA”。

Python的整體語言設計,低級和高級編程的平衡,模塊化編程和測試框架使其不同於其他語言。Python的另一個優勢是快速原型設計。在Python中,幾乎所有的想法都可以通過30-40行代碼快速驗證。

編譯來源:https://www.rankred.com/best-artificial-intelligence-programming-language/

點擊閱讀原文可查看職位詳情,期待你的加入~

相關推薦

推薦中...