App下載

Matlab的消亡:用戶是怎么從matlab轉(zhuǎn)到python的?

猿友 2021-06-08 11:46:59 瀏覽數(shù) (2801)
反饋

matlab是什么?它是一個軟件,也是一門語言。20世紀(jì)七十年代,cleve moler 為了減輕學(xué)生編程的負(fù)擔(dān),使用 Fortran 編寫了最早的 matlab 軟件。這款 matlab 軟件使用一種全新的語言,使用這種語言能夠簡單的進(jìn)行程序的編寫以達(dá)到數(shù)據(jù)分析、工程制圖、信號處理、算法編寫、科學(xué)計算等功能。正因為它在數(shù)學(xué)類科技應(yīng)用的軟件中的數(shù)值計算方面首屈一指,因此它也被稱為三大數(shù)學(xué)軟件之一。


因為 matlab 在1984年被 mathworks 公司正式推向市場,而且這個軟件的確好用,所以該軟件迅速在市場上傳開了。到20世紀(jì)90年代的時候,matlab 已經(jīng)成為國際控制界的標(biāo)準(zhǔn)計算軟件。

 

到這里,matlab 還是順風(fēng)順?biāo)?,直到另一門語言的出現(xiàn),matlab 才出現(xiàn)了下滑的趨勢。沒錯,這么語言就是接下來的主角——python。

python

1989年的一個圣誕節(jié),Guido Van Rossum 為了打發(fā)時間,設(shè)計出了 python 這門語言。為了避免其步 ABC 語言的后塵,Guido 決定對其進(jìn)行開源。由于其簡單易學(xué)易用的特性,python 很快就火了起來,同時因為其開源的特點,很多開發(fā)者也喜歡將自己寫的第三方庫進(jìn)行開源。因此 python 的社區(qū)具有良好的生態(tài),很多可能被重復(fù)設(shè)計的代碼被避免了。


講到這里,還是沒講 python 是如何和 matlab 進(jìn)行競爭的。其實,matlab 跟 python 競爭起來的原因,其實是因為開源的第三方庫。簡單的來說,matlab 這個軟件它一開始就被商業(yè)化了,商業(yè)化的軟件最終目的都是為了賺錢。而 python 它一開始就是開源,所以不存在盈利。使用者在選擇使用 matlab 的時候需要向 mathworks 公司支付一筆授權(quán)的費用(而且該軟件價格不菲),而如果使用 python 的話,這筆費用就省去了。


然后問題的關(guān)鍵在于第三方庫。python 本身的自帶的庫并沒有什么特殊之處,但它可以導(dǎo)入很多第三方庫,其中有很多庫都可以用來做科學(xué)計算。除了 matlab 的一些專業(yè)性很強(qiáng)的工具箱還無法被替代之外,matlab 的大部分常用功能都可以在 python 社區(qū)中找到相應(yīng)的第三方庫。而且有很多開源的科學(xué)計算庫也都提供了 python 的調(diào)用接口。雖然在數(shù)值計算速度方面可能相比于 matlab 還有一定差距,不過這并不影響使用。


另外,開源的第三方庫的維護(hù),是由整個社區(qū)進(jìn)行維護(hù)的,而 matlab 的工具維護(hù)是由一個公司維護(hù)的。由于公司的特殊性質(zhì),你永遠(yuǎn)無法知道這家公司能不能永遠(yuǎn)穩(wěn)定的為你提供維護(hù)。


還有一部分原因是,有些用戶其實只需要部分功能,使用 python 可以簡單快速地搭配出自己的環(huán)境,而 matlab 則需要下載十幾個G的安裝包到本地。捆綁式的環(huán)境讓需要自由組合功能的用戶感到不適(就像你只需要一把水果刀,結(jié)果卻需要買一整個廚房的用具一樣)。


另外,雖然數(shù)學(xué)分析在其他方面的開發(fā)需求較低,但是當(dāng)涉及到界面設(shè)計,網(wǎng)絡(luò)分析,文件管理等需求的時候,matlab 并不易用。反觀 python,使用豐富的拓展庫可以實現(xiàn)完整應(yīng)用所需的各種功能。而且作為一門易用的編程語言,python 的代碼邏輯和風(fēng)格使得其更容易進(jìn)行維護(hù)。


正因為以上原因,現(xiàn)在的科研以及數(shù)學(xué)分析的時候,更多的會選擇免費的 python 而不是選擇更優(yōu)秀一點的matlab。

編程排行榜

TIOBE指數(shù):2021年6月全球編程語言排行榜,Python直逼第一

如以上鏈接所指文章數(shù)據(jù)所示,更多的開發(fā)者選擇了 python,matlab則排在第19名。

不過雖然 matlab 的市場被 python 一步步蠶食,但有一塊市場還是 python 無法撼動的,那就是 matlab+simulink。它在數(shù)十年內(nèi),在工業(yè)設(shè)計領(lǐng)域的地位還是無可撼動的,而且有些老的 matlab 項目也需要使用 matlab 語言來進(jìn)行維護(hù),所以 matlab 還有存在的價值。

 

以上就是關(guān)于 matlab 的用戶轉(zhuǎn)到 python 的原因介紹,如果說 python 和 matlab 哪個更值得學(xué)的話。其實兩個都很值得學(xué),但是小編更鼓勵 matlab 程序員能轉(zhuǎn)到 python 這邊來。

更多 python在線微課,盡在 W3Cschool。


0 人點贊