Excel終于要完蛋了嗎?
你可能經常和強大的Excel打交道,在一個個“框”內拖公式,拉圖表,駕輕就熟。
但你知道嗎,有一種編程語言,它是一種沒有“框”的“電子表格”,不但能畫各種函數圖像,生成圖標,還能查詢實時數據,做圖像識別、生成 3D 幾何圖形、自動計算微分積分…… 計算靈活性號稱是Excel的1000倍。
這門編程語言就是著名的Wolfram語言。
一、強大的Wolfram
Wolfram語言有多厲害呢,我們先來看幾個例子:
1.獲取中國的GDP數據
CountryData["China", "GDP"]
CountryData是一個函數,函數的調用用的是方括號。
兩個參數一目了然,Wolfram有個內置的知識庫,可以從中取出中國的GDP數據。
當然,你可以用CN來代替China,Wolfram會用知識庫自動做轉換。
2.把中國 GDP 的歷史數據畫成折線圖
DateListPlot[ CountryData["China", {"GDP", All}],
PlotLabel -> "中國歷年GDP變化",
Frame -> True,
PlotTheme -> "Detailed"
]
圖片
3.圖像處理
下面三行代碼,先是導入圖片,然后識別其中的文字,最后將圖像縮小。
img = Import["https://unix.org/images/unix-an-open-group-standard.png"]
text = TextRecognize[img]
smallImg = ImageResize[img, {50, 50}]
4.識別視頻中的汽車
僅僅用兩行代碼,就可以識別出視頻中的所有汽車
從這幾個例子就能看出Wolfram的特點:語義驅動,高度抽象,對于很多事情都是一行搞定。
二、最聰明的人
Wolfram語言的創造者就是Wolfram,Stephen Wolfram(史蒂芬·沃爾夫勒姆),被譽為“活著的最聰明的人”。
圖片
沃爾夫勒姆的人生就那種絕對開掛的,讓人仰望的那種。
他小時候非常聰明,他發現:只要閱讀,就能很快學會很多知識,上不上學無所謂。
12歲那年,當別的小朋友在院子里瘋跑的時候,他花了一個夏天的功夫,靜靜坐在書房里,把自己掌握的物理知識整理成了一本“書”,書名叫《簡明物理學目錄》。
這本書包括經典力學、電磁學、熱力學、量子力學、粒子物理、天體物理等幾百個物理概念和術語,每個概念都配有簡短定義、公式或關鍵參考信息,特別讓人印象深刻的是,書中用眾多手繪的配圖形象地展示了這些概念。
圖片
15歲他開始研究量子場論和粒子物理學,并且發表學術論文,由于學術水平遠超同齡人,他覺得伊頓公學的課程沒意思,17歲就退學了。
高中畢業證都沒拿到,沃爾夫勒姆一點兒都不在乎,因為他直接進入了牛津大學。
在牛津大學呆了兩年,沃爾夫勒姆又覺得大學課程非常糟糕,再次退學,大學畢業證也沒拿到。
不過他在牛津寫的一篇關于“量子色動力學”的論文,引起了諾貝爾獎得主、提出夸克理論的沃爾默里·蓋爾曼的注意,蓋爾曼邀請他加入他在加州理工學院的研究小組。
于是,沃爾夫勒姆于1979年來到了加州理工,在這里僅僅呆了一年,他就獲得了粒子物理學博士學位。
諾貝爾獎得主,著名科學家費曼對沃爾夫勒姆和他的研究極為賞識,特意給他寫推薦信,強烈建議他獲得麥克阿瑟獎。
(左 費曼, 右 沃爾夫勒姆)
當然,沃爾夫勒姆的研究成果也足以獲獎,21歲的他成了最年輕的麥克阿瑟獎得主。
三、創業失敗
沃爾夫勒姆很早就接觸了計算機,學會了編程,他的老師是圖靈的好友Norman Routledge。
圖片
早在70年代,沃爾夫勒姆已經可以“上網”了,當時英國一些大學已經連入了互聯網的雛形ARPANET。
在研究粒子物理的時候,經常需要做大量的代數運算,所以他在上面找了一個用Lisp寫的數學計算軟件Macsyma,開始玩得不亦樂乎。
有了計算機的強大輔助,他非常喜歡在物理論文中寫一些非常華麗的公式,讓讀者目瞪口呆:你是怎么推導到這一步的?
很快,獲得了計算高手美譽的沃爾夫勒姆就覺得Macsyma不夠用了,他決定設計一個自己的數學計算系統:SMP。
圖片
他在物理系找了一臺能運行Unix的計算機VAX11, 卷起袖子開始實現SMP。
用什么編程語言呢? 沃爾夫勒姆會用匯編,ALGOL,Lisp,APL,這都是當時著名的編程語言。
但是,一個叫 Rob Pike的物理系研究生(沒錯,就是那個Go語言的發明人)建議他用剛剛誕生不久的C語言。
沃爾夫勒姆一看,C語言不錯啊,就是它了。
1981年,SMP正式問世,這是它運行起來的樣子:
圖片
眼尖的同學可能已經發現,看起來很簡陋的SMP已經有了Wolfam語言的感覺了。
你看它也是Input ,Output成對出現,函數調用用方括號,只不過所有的圖形都是在終端的字符界面上顯示的。
SMP功能強大,解救了無數研究者,諾貝爾物理學獎得主斯蒂芬·溫伯格說:自從有了它,再也不用擔心要請我的學生幫忙求解微分方程了。
看到商業機會的沃爾夫勒姆決定創業,成立了一家叫做Computer Mathematics Corporation的公司,SMP賣得相當不錯,雖然每份售價高達40000美元,還是有不少工業和政府得實驗室在買。
不過他的運氣不好,首先學校對知識產權的態度發生了變化,不讓他隨便把軟件拿出去商業化,其次80年代初AI(專家系統)也火了一陣,風險投資認為專家系統是未來,押寶AI,沃爾夫勒姆沒機會了。
四、喬布斯幫助起名
創業失敗,沃爾夫勒姆又一頭扎進了基礎研究之中。
在普林斯頓大學,他對元胞自動機做了大量的研究,系統性地調查了基本元胞自動機制的類別,提出“計算等價原理”:任何看起來復雜的系統(如流體、社會系統、蟻群等),在計算能力上都等價于圖靈機。自然界的很多過程,其實就是一種計算;
圖片
在伊利諾伊大學研究復雜系統時,他發現現有的工具根本無法滿足他的科研需求,因為他需要一個這樣的系統:
1.能做符號計算(不是只處理數字)
2.能快速可視化復雜圖案
3.能支持編程、建模、數學推理的統一環境
4.能跨學科整合:數學、物理、圖形、算法
而當時雖然有各種工具,但是太分散,每次做點兒事情就得不停地切換工具,非常低效。
為了最大化自己的科研效率,實現“工具+語言+環境三位一體”的獨特思路,沃爾夫勒姆決定利用開發SMP的經驗,重新設計一個系統。
新系統叫什么名字呢,這個很讓人發愁,這時候沃爾夫勒姆遇到了被蘋果放逐的喬布斯。
喬布斯此時正在開發一個叫做NeXT的電腦,他看到沃爾夫勒姆的軟件,立刻就有了濃厚的興趣。
喬布斯建議沃爾夫勒姆放棄Omega,Polymath這樣讓人難以理解的名字,堅持說一定要用這個名字:Mathematica 。
不僅給軟件起了名,喬布斯還和沃爾夫勒姆達成了一項協議,把Mathematica預裝在NeXT計算機上。
有了喬布斯這個榜樣的力量,沃爾夫勒姆又和Sun,SGI公司,IBM等巨頭達成了協議。
注意,這個列表中沒有微軟,因為當時MS-DOS對應用程序有640K內存的限制,Mathematica無法運行。
軟件還沒有開發出來,就有了銷路了,沃爾夫勒姆開始了瘋狂的開發。
1988年6月,Mathematica正式發布了。
看看,當時的軟件都是用軟盤來安裝的。
圖片
Mathematica一推出就火了,尤其在科研和工程界,它幾乎立刻成為主流的計算工具之一。
NASA、CERN、MIT、哈佛、沃頓商學院等機構都在用,一度是“高水平科研的標志”。
Mathematica功能強大,但是非常專業,普通得用戶使用門檻比較高。
當沃爾夫勒姆6歲的兒子接觸到Mathematica時,提出了這么一個問題:為什么我不能用簡單的英語來表達我的意思呢?
這引發了沃爾夫勒姆的思考,他開發了一個Wolfram|Alpha 的網站,讓大家可以用自然語言來提問。
Wolfram|Alpha不但極大地降低了Mathematica的使用門檻, 也引起巨頭們的注意,變成了主流平臺背后的知識引擎:
圖片
微軟把它接入到了Bing之中,Siri也也將其接入語音助手,而Siri不久被蘋果收購。
圖片
隨著 Wolfram|Alpha 的成功和云計算的興起,Stephen Wolfram 開始重新審視自己早期的一個想法:把 Mathematica 中的語言部分獨立出來,作為一個通用的、知識驅動的編程語言。
新語言不僅僅是做數學計算,而是一個內置世界知識的通用計算語言。
這就是我們開頭提到的Wolfram編程語言。
五、結語
Wolfram能結束Excel長達30年的統治嗎?
當然不行,因為兩者要解決的問題側重點是不同的。
Excel適合結構化數據的基本處理,上手快,適合報表,數據分析等領域。
Wolfram內置豐富的現實世界知識和數據,支持復雜的數據分析和處理,但是門檻也比較高。
雖然Wolfram在功能和靈活性方面具有顯著優勢,但Excel憑借其易用性和廣泛的用戶基礎,仍將在日常辦公中占據重要地位。
附錄,和沃爾夫勒姆有交集的知名人物
沃爾默里·蓋爾曼:諾貝爾獎獲得者,邀請他加入加州理工學院研究小組。
費曼:諾貝爾獎獲得者,對沃爾夫勒姆非常賞識,推薦他入選麥克阿瑟獎。
喬布斯:蘋果創始人和CEO,Mathematica和Wolfram|Alpha的早期推動者。
謝爾蓋·布林 :Google創始人,曾在沃爾夫勒姆的公司實習。
Rob Pike:UTF-8 作者,Go語言發明人,建議沃爾夫勒姆使用C語言開發SMP。
下村努:日裔計算機安全專家,幫助FBI追蹤頭號黑客凱文·米特尼克聞名于世,被沃爾夫勒姆雇傭寫C編譯器。