你什麼時候對 Python 感到絕望?


當python參考書的代碼示例翻頁的時候 = =



沒絕望,只是有些遺憾,很多問題似乎本可以更好的,至少在 ruby 社區並不存在( 誠然 ruby 社區也有 py 社區不存在的蛋碎問題 )

  • py2/py3 人為地分裂了社區,同時兼容 py2/py3 的三方庫較少;只要 py2 依然主流,那麼多數人無法享受到來自社區的 free speed ,認清現實,ruby 2.2 至少得比 py2 快了

  • 編碼問題,不同庫返回 string/unicode 不一致,混用就 UncodeDecodeError;py3 解決了不一致問題,但 py3 本身就是問題

  • 打包、環境隔離機制:setuptools, disttools, pip, wheel, virtualenv, virtualenvwrapper 等等,在最初設計時過分照顧發行版的打包者,而對開發者不夠友好;後期解決新問題,都是在舊設施上加新設施,而不一定是在合適的層次上解決問題,導致最終的工具鏈異常混亂

  • 沒有做到 one problem one solution ,每人每家都有自己的框架,缺少一致認可的框架社區,在需要擴展框架時,社區的力量分散而不得不造輪;ruby 社區在 rails 仍個人風格濃厚時 merb 沒有另起爐灶,而是將 merb 合併到 rails ,現在想來是件很有魄力的事情。在開源社區的運作上,merge 永遠比 fork 更健康


第一次用Python寫多線程,結果發現有GIL的時候。


換代太快。。。

====

這個答案我要更新,已經覺得沒有那麼失望了!


時間到了2015年,知乎 / 豆瓣 / 果殼用的還是Python2.X


在Windows下pip安裝帶C擴展的包,提示vcvarsall.bat找不到錯誤,然後打開http://www.lfd.uci.edu/~gohlke/pythonlibs/ 發現沒有這個包的時候

另外我覺得動態類型也是個黑點。。尤其是需要頻繁重構的時候。。以前用Python寫人工智慧/機器學習之類課的作業,那些個經歷甭提了,都是淚。。學了一點SML/Haskell,現在已經不敢想像離開這些強大的類型系統怎麼高效率編程了

另外我覺得性能根本不算黑點。。。。你需要Python高性能的時候,不外乎:1.上NumbaPro/Theano/Cython。。。2.上pypy。。。3.上stackless。。不管是寫高並發的web server還是計算密集的程序,python都是能勝任的


就現在!!!

當新版本要發布了大家都圍繞著做客戶端的爭相測試,當新版本發布了大家稱讚客戶端做得多少好,當做客戶端的和妹紙聊得風生水起。而我一個寫 Python 的,只有客戶端出問題的時候、又有一大波新需求的時候才會被想起,哦,角落裡原來還有這麼一個人。


當運行了一些測試親眼見證Ruby在語法領先的情況下的性能居然還高於Python時?


在一個系統中嵌入了py的解釋器和java的VM,分別用於支持使用python和java來為這個系統寫擴展功能,類似插件。然後py的全局交互鎖(GIL)讓系統的所有並發行為在某段py代碼上千軍萬馬排排隊過獨木橋。我試了很久,想來只有不內嵌解釋器,變成多進程通信才能解決吧,心碎,以後再搞。


pypy在孤獨的奮進,想到這個我就很傷心


&>&>&> 1 &> "0"
False
&>&>&> 1 &> None
True

此問題 Python3 中已經修復


Python 3.5 不去好好搞 JIT,而是弄狗屁的 Type Hinting,在錯誤的道路上越走越遠。


當我複製黏貼一個python代碼到另一個文件里,【看起來】縮進什麼都對,結果一跑就飛了的時候(


當網上的Python代碼丟失 了空格縮進格式的時候


2.6 or 2.7 or 3


IndentationError:unindent does not match any outer indentation level……


選版本的時候(選擇困難症)

好吧,其實我基本不會Python,更沒有用過


編碼

縮進

中文

以及自從用了ruby之後,再也不想用python了


python的很多好東西都很少人用,比如pypy等。

python的多線程挺無奈,有時還不如沒有。


推薦閱讀:

Numpy小記——有關axis/axes的理解
Python中實現iterator
如何用7天學會開發 Django 版的蘋果官網?

TAG:編程語言 | Python | 對X感到絕望 |