Project Euler上的程序語言排行為什麼Matlab比Python低那麼多?

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 |