對非工程師而言,如何簡明扼要的向其解釋選擇python而非php?
比如PM討論中問起,比如老闆開會忽然問起,比如同群組成員需要偶爾讀一下代碼的問起
回複內容:
所謂膠水語言不是蓋的,當你有一些比較奇葩的類包要調用時你就知道Python的好了。在做一個分享基因資料的伺服器,裡面要隨機讀取一些很奇葩的基因檔案,剛好Python有個包可以實現這個功能。用Python的感覺就是你什麼都能解決。學習曲線來說PHP也不是說完爆Python,到最後你還是要用到架構。《社交網路》裡,當划船那倆雙胞胎兄弟還在深思熟慮、琢磨著到底該怎麼實現自己那激動人心的宏偉目標時,紮克伯格用兩星期的時間就真正把這個社交平台給實現了。
所以我的推薦是:你應該繼續討論、琢磨下去。
非常不推薦的是,哪個上手快,哪個更容易快速開發、快速實現,眼光一定要放長遠,那個..我們再開個會討論討論怎麼樣?快速開發選php,要做大選pythonphp環境好部署
python比較難
語言難度上,都差不多 Python的代碼風格簡潔易懂易於維護,而PHP代碼量一多起來就混亂了
個人感覺易於維護是關鍵。因為現在軟體開發的成本主要都在維護上面。 相比 PHP,Python 可以非常自然的擴充到隊列(RabbitMQ)、幕後處理系統(基於 Celery)、資料採礦(SciPy、NumPy)、文本處理(NLTK)、系統部署(Fabric)、監控(Supervisord)等所有方面,而 PHP 只能做網頁前台。要看需求是重展現還是重商務邏輯,重展現就php,重商務邏輯就python 可以直接讓他們讀比較簡單的python代碼,和php代碼,對比出前者更接近自然語言。
比如
python: var is not None
php: $var !== null
保羅•格雷厄姆在《駭客與畫家》中極力推崇lisp的一個理由是,它可以用比其他常用語言更少的代碼實現相同的功能。於是你可以比競爭者更快地推出新功能,並且減少代碼中潛在的bug。對於互連網這個行業來說,快速是很重要的一件事。如果是小公司或創業團隊就更重要了。
python也有同樣的優勢。而它從文法上來說又比php,lisp容易學。
壞處可能是用它的程式員少,招它公司少。可這又有什麼要緊呢?
ps:對於你們老闆的問題,你可以說,我去知乎上問了下,人家告訴我知乎是用python寫的主要還得看是哪方面
- 吐槽 PHP 的 $ 實在不能算借口,我都是用左 alt 映射到 $ 的,或者右 windows 鍵,沒人強迫你每次都要按 shift+4。
- PHP 豐富的中文資料這點無可置疑, Python 大部分都是英文的,不過學一下英語沒什麼難的。
- PHP 更貼近前台,但這並不意味著它不能做幕後處理。
- 做網站還是 PHP 用起來比較順手,不論是模板引擎還是各種架構 (個人觀點)。
- Python 最讓我印象深刻的還是字串和數組切片,實在是很方便。
- Python 應用範圍非常廣,基本上我遇到的問題都能用 Python 來解決,而且代碼量也遠比 PHP 要少。
- Python 的命名空間和庫的匯入做比PHP好,而 PHP 你經常能見到很長的函數名,一般都是以模組名開頭的,比如 “mb_” 。
- 我個人覺得 PHP 在資料庫查詢和執行效率方面是要優於 Python 的。(百萬級的資料量測試過)。
- Python2 到 Python3 很容易過渡,中小型的項目只要花點時間就可以了。
- 既然 PHP 和 Python 各有優勢與短處,為什麼不能一起用?
//最後吐槽一下,用
PHP 寫爬蟲遇到 Cookie 和登入的表示無能為力。
以上僅為個人觀點,看一下就好。