我想不通的是,未來10年,如果不是python/ruby這樣的語言發展的時機,那會是什麽語言
我來說說對上述所謂問題我的看法吧:
1. 兼容性問題
2to3的問題讓社區不少人寒了心,但guido堅持要這樣做,因為他認為這是python追求簡單優雅所必須要做的。對於沒有歷史包袱的項目來說,直接選擇用python3000肯定是明智的。對於已有項目,2to3、six這樣的工具也是可以解決絕大部分問題。
大版本內的兼容性問題我還沒遇到過,不知道有啥案例讓我學習學習的。
對於活躍的開源項目,小的兼容性問題不容易成為項目發展的瓶頸。而對於不活躍或者設計較差的項目,即使是使用其它語言,時間長了,也壹般不會是兼容性影響它的使用。
(我司的web後臺幾年前大部分是C++寫的,理論上講不會有兼容性問題,但是現在當有需求實現時,卻沒有人想去維護那壹整片壹整片的業務邏輯和不同的前同事造的輪子。)
如果說,妳想寫壹個完美的能立即穩定下來並且再也不需要維護的軟件,那還是用C語言吧(換言之,這樣的東西python裏不都是用C寫的嗎)
總的來說,我個人確實沒怎麽在python上吃過兼容性的虧,反而對C++大包大攬時留下的坑深惡痛絕
2. python的庫惡心
哪個庫?有C++的庫惡心嗎,有java的庫惡心嗎
3. python的使用場合
前面已經說過,guido是個有理想的人,他希望python在任何壹個領域都能牛逼起來,所以python才會強調簡單、通用,讓妳幹啥都能想到它。在實際上,python也未能做到處處通殺,甚至還沒能做到在某個領域的權威(在雲計算領域,python應該已經快了),基於語言本身的特點,目前在運維、大數據、雲計算、web、科學計算上都還混得可以
4. 找工作
積重難返,python更多的會在某種口味的創業團隊使用,國內的大公司不大會直接招python程序員,像
@白如冰
說的那樣。從社區上的招聘廣告來看,大部分的崗位需求是web後臺和運維系統開發的,web後臺又有大部分是要求django的。
python的水不深,單靠對語言本身的考察,難以分清水平高低,於是,要麽需要妳有豐富的經驗,要麽妳有堅強的毅力(比如C++學得很好)
最後,補充下,我極少在windows下用python(除了靠python在淘寶上秒殺了個手機),但每次壹用就覺得別扭,也許這也是需要考慮的部分吧
5. 逼格
(1) 用什麽語言都不能證明逼格,包括匯編,也包括lisp/haskell。
(2) 在適當的場合用適當的工具,解除耦合、減少重復、易於擴展才是對逼格的更高挑戰。
比如有壹組件對數據庫有大量操作,我同事認為他要用C++模板元編程加上壹些巧妙的設計模式來生成sql是逼格高的體現,我認為在這樣的場景下至少要用上orm才能談得上對逼格有要求。
大膽預測,10年後,python程序員不壹定會更多,但python壹定會使用得更廣泛得多