這麼來說吧,Python現在作為簡單、易懂的膠水語言正在發光發熱中,而且可用於合併用在C++編寫的元件中。Python程式碼通常比同等Java程式碼短3-5倍,通常比同等C++程式碼短5-10倍!有證據表明,一名Python程式設計師可以在兩個月內完成兩名C++程式設計師一年內無法完成的任務。
不過首先要明確一點是,C++要快得多。 C++速度快的原因是因為你有明確的分配控制權,並且它編譯為原生代碼(除其他原因外)。在C ++中你也可以控制很多微妙的東西,你不能在python中使用,比如記憶體佈局。
記憶體佈局對CPU快取記憶體非常重要,CPU快取記憶體對效能極為重要。從RAM中讀取資料的速度通常比從L1或L2快取中讀取的速度要慢一些,由於某些原因,這在大學CS課程中從未提及過,但是有很多資料結構在某些方面“理論上”很快但實際上對硬體非常不友好,比如連結串列,確實插入/刪除是O(1),但是由於連結串列很可能是現存最少的快取友好的資料結構,所以最好使用向量/陣列,即使你一直做插入操作。
至於它是否對演算法很重要,則取決於演算法。在C++中它幾乎總是要快得多,但是,你真的需要多快? Python非常善於節省程式設計師的時間,所以如果效能不是特別重要,我就不會擔心這個問題。
至於你想向金融Quant方向發展,Quant目前國內職位大體可分為兩種,一種是研究型職位,一種是開發型職位,如果你是考慮研究型職位,那麼只學python是沒問題的,但你青睞的開發型職位,那麼C++的學習是不可避免的。即使效能提高了一點,在金融量化領域中也是分秒必爭的事情,所以在這方面上還是建議要學習C++。
這麼來說吧,Python現在作為簡單、易懂的膠水語言正在發光發熱中,而且可用於合併用在C++編寫的元件中。Python程式碼通常比同等Java程式碼短3-5倍,通常比同等C++程式碼短5-10倍!有證據表明,一名Python程式設計師可以在兩個月內完成兩名C++程式設計師一年內無法完成的任務。
不過首先要明確一點是,C++要快得多。 C++速度快的原因是因為你有明確的分配控制權,並且它編譯為原生代碼(除其他原因外)。在C ++中你也可以控制很多微妙的東西,你不能在python中使用,比如記憶體佈局。
記憶體佈局對CPU快取記憶體非常重要,CPU快取記憶體對效能極為重要。從RAM中讀取資料的速度通常比從L1或L2快取中讀取的速度要慢一些,由於某些原因,這在大學CS課程中從未提及過,但是有很多資料結構在某些方面“理論上”很快但實際上對硬體非常不友好,比如連結串列,確實插入/刪除是O(1),但是由於連結串列很可能是現存最少的快取友好的資料結構,所以最好使用向量/陣列,即使你一直做插入操作。
至於它是否對演算法很重要,則取決於演算法。在C++中它幾乎總是要快得多,但是,你真的需要多快? Python非常善於節省程式設計師的時間,所以如果效能不是特別重要,我就不會擔心這個問題。
至於你想向金融Quant方向發展,Quant目前國內職位大體可分為兩種,一種是研究型職位,一種是開發型職位,如果你是考慮研究型職位,那麼只學python是沒問題的,但你青睞的開發型職位,那麼C++的學習是不可避免的。即使效能提高了一點,在金融量化領域中也是分秒必爭的事情,所以在這方面上還是建議要學習C++。