Project Euler上的程序語言排行為什麼Matlab比Python低那麼多?
01-07
http://projecteuler.net/languages
最近在做Project Euler上的題目,大部分都是數學題或演算法題,不少題目還是比較經典的,也有部分無聊的。做這類題目Matlab的優勢應該很大啊,語言簡潔、函數豐富、速度也不慢
1 光是不天然支持大整數類型,就夠你折騰一陣子了。
2 MATLAB的dict速度慢得要死。
3 沒多少比例的人能看得懂你寫的MATLAB代碼。注意,歐拉計劃是個練演算法的地方,所以大家的重點都在演算法上
而就我個人的觀點,Matlab作為一門編程語言的方面上,其語法一點都不簡潔,而且運行速度也真的不快。它真正強大的地方是工程上的運用,強大的工具箱解放了廣大工科僧,可惜這方面的優勢在刷演算法題上是沒什麼幫助的。
相反的,Python這種人見人愛花見花開的語言在這方面上就非常有優勢啊,不用考慮過多的程序語言上的粗枝末節,可以專註演算法有木有!
當然以上都是事後諸葛亮的說法,事實是Matlab是收費的,老外們有版權意識(沒錢),所以免費開源的語言用的人就比較多。
我做了100道左右,幾乎都數論的題...之所以不用MATLAB,那是不會用(′;ω;`),從我接觸過的語言中(C++/Java/Ruby),找不到比Python更適合科學計算的了,一般的題目十行以內的代碼就解決了。你去看討論區,也大多都是Python的,社區活躍度高會有帶動作用。
推薦閱讀:
※機器學習和計算機視覺方向的CS碩士研究生,應該往python還是MATLAB發展?
※如何用數學軟體畫一個「聖誕樹」?
※python多進程為什麼一定要__name__="__main__"?
※為啥進程池封裝在裝飾器中不能生效,而多進程可以?
※進程間通信和線程間通信的區別?
TAG:編程語言 | Python | MATLAB | WolframMathematica | ProjectEuler |