Mathematica 能否成為取代 Python 乃至其他編程語言的程序設計語言?
Mathematica 的語法是類 Haskell, Scheme 的完全支持 symbolic 和 functional programming的語言。也支持從 list 出發的各類高級數據結構。也可以從 pattern matching 或者 rule apply, lambda expression 出發實現各類演算法。其效率(起碼從數學 evaluation 的角度看)還是很快。最近也推出了 wolfram language。那麼你覺得 mathematica 能否發展成為取代或者與其他各高級語言並肩的計算機主要編程語言呢?如果是,原因何在;如果否,又是為什麼?
不能取代,因為大家窮。
說是mathematica的優勢是集成的很多演算法和庫……但是演算法庫的重要性也是毋庸置疑的。Lisp那麼好,為什麼不流行,很大的一個原因就是缺庫。
我之所以拿Lisp出來說例子,是因為mathematica在很多方面跟Lisp很相近,從看起來的樣子(括弧摞括弧)(雖然mathematica是三種括弧花式摞),到語法特點(強動態,不區分函數和變數),到編程感受(REPL式的快速迭代式編譯-運行),到用處(純正的FP但是多范型)。
大致來說還要看wofram有沒有這個想法,如果有心的話可以做成在某個領域非常有用的編程語言,如果繼續死腦筋加computable data的話……管他呢,全世界多少物理學家正在買單。mathematica 完全可以成為一個通用語言,現在豐富的演算法庫。是他的最大優勢。
Mathematica的定位就不是通用語言,和Python沒有競爭關係。
而且也不是命令式的語言,你在裡面試圖寫If、For、Loop之類的代碼都是看起來很醜的。
Mathematica的長處也不在於它的函數式語言,而是它集成的眾多符號計算的演算法,就像Matlab的賣點也不是那很醜的語言本身一樣,人家賣的是數值演算法的集成度和各種工具包。「最近也推出了 wolfram language。"這是錯的,這語言存在幾十年了,只是現在才開始做廣告搞宣傳。Mathematica 的優勢在於其逆天的符號處理和自帶的海量 Computable Data。這兩點都是這個平台的優勢而不是這個語言的優勢。~~~~~~~~~~~~~~~~~~~~~~~~~~~~
曾經這裡是對另一位匿名用戶的回應。
上句是對評論區 out-of-context 評論的解釋。mathematica 最大的特點就是他能做出來很牛的東西 比如有人用mathematica 寫出了很好看很好看的書 但是 普通智商 至少像我這樣的之上 花了一個國慶假期都不知道怎麼寫這麼漂亮的書 我敗了
SQL 再進化100年也不能代替 VB,C, C++,C#,Java...中的任何一個, 為什麼呢?
Mathematica也是一樣的....一個語言不能自己實現自己的編譯器(或者理論上能,實際上沒人真的能做到)就說明自己根子骨里有缺陷, 不適用通用計算.....
推薦閱讀:
※Scheme語言的優勢?
※新入職的軟體開發公司,看不懂代碼怎麼辦?
※Python 中循環 import 造成的問題如何解決?
※你見過的最出色的程序員是怎樣的?為什麼出色?
※人文社科類專業的學生有學習編程的必要嗎?
TAG:編程語言 | Python | 編程 | WolframMathematica |