現在Python已經成為做數據科學的基本語言了,無論是數據統計還是人工智能領域,Python的生態越來越完善。
由於我的情況是既要做算法的軟件落地(主要是C++比較多),又要做一些算法的調研、評估、優化,所以往往算法用 C++ 寫,然后在IDE環境里觀察數據或者把數據log出來然后再放到其他工具里(如 MATLAB)分析。
之前一直比較不喜歡用Python的原因是:
- Python學一遍忘一遍,忘一遍查一遍……
- Python的集成開發環境比較有限,之前只覺得PyCharm最好用,但是還比不上 Visual Studio + Visual Assist X 環境 智能;
- 主要工作還是在 C++/C#/Java 等,如果要用Python的話,一天可能要在多種語言上切換來切換去……
但是現在發現,Python的生態越來越豐富了,任何數據科學相關的框架都會有Python的支持。甚至連 Torch 這樣的 Lua-extended framework 都會有Python的binding 即 PyTorch,我甚至估計用 PyTorch 比直接用 native Torch 的人都要多…… 畢竟熟悉 Lua 的人可能主要在游戲開發領域的吧……
另外還有一個越來越豐富的工具 Jupyter ,簡單理解就是他是用來替代MATLAB的交互環境的。並且 Jupyter 提供的數據科學語言也越來越多了。
隨着Python生態越來越豐富,我甚至對 Python-based program 轉向 native program 的方法也越來越有信心了 —— 雖然我現在還沒完整地試過這種做法……
打算開始嘗試着認真對待Python生態吧…… 不破不立,在此期間可能會比較痛苦,之前熟悉的 C++ 軟件開發方式需要先擱置擱置。