用PHP、Python、Ruby做web開發的思維方式有什麼不同?
---
更新: 添加meteor react 翻譯地址---
我感覺用了牛逼的框架以後,差別就變得很小了。你要寫原生那沒得談。
比如PHP的Laravel和Rails差別就不怎麼大。我是做Laravel的,只是接觸過一點點的Rail,也寫過一點Rails的小玩意兒。用過以後感覺就是差不多嘛。都是那一套MVC。
Python沒用過,不評價
其實挺推薦Meteor的。這貨的開發思維跨度真的很大。不再是傳統的」你要數據我給你「(前端問後台要數據),而是非常牛逼的socket傳數據,還在本地搞了個MiniMongo!整個開發流程也是簡直不能再爽。我個人感覺是那麼有點未來科技的味道。
我最近在做一個Meteor官網上的Meteor-react tutorial翻譯。
AnnatarHe | AnnatarHe personal blog
不過還是得聲明:我是Laravel腦殘粉!哈哈不用php的覺得用PHP的都覺得php是世界上最好的語言,不用python的覺得用python的會覺得逼格滿滿,不用ruby的覺得用ruby的會覺得自己才是緊跟世界潮流的23333
(改了一下 沈文的答案)
用php會覺得php是世界上最好的語言,用python的會覺得逼格滿滿,用ruby的會覺得自己才是緊跟世界潮流的23333
思維方式,是個真實存在的傢伙,但現在流行的語言或多或少都有融合的趨勢,取長補短,動學靜,靜仿動,就我個人來說,幾種語言接觸下來,編程思想已經呵呵呵了php,最初只是給html注入動態的生機,缺哪補哪,寫哪顯哪,管他呢,抓著老鼠就好。python,既可以有強制縮進的死,又有鴨子類型的活,像東方哲學,太極中庸之道
ruby,屠龍寶刀,常人用之可斬小魚小蝦,高手用之,自有一種啪啪啪的快感。
拙見勿噴本人不寫Ruby
談談PHP和PythonPython不太用來開發WEB,PHP仍然是主流,但感受是完全不一樣的
這一感受差不多和用JAVA來開發WEB和用PHP來開發WEB差不多,有經驗的同學可以感受下Python是個體系完整的腳本語言,更像一個編程語言,而PHP更像一個WEB下實現業務邏輯的工具,PHP已經幫你完成了很多事情,有些事情甚至不是PHP做的,而是Apache或者是Nginx來做的。
比如,你在PHP里不用考慮內存狀況,線程,進程問題。這些問題PHP已經幫你考慮了。你在PHP里沒有太多的數據結構問題,比如沒有各種Array的區別,比如什麼SortedArray, HashSet/Array,等等等等。這些,你在Python裡面都需要考慮
同時,你在PHP里很少考慮比如並發解決及事件處理的問題,類似epoll問題,這些事情Apache活著nginx幫你管了
在PHP里,你就當PHP是一步一步執行到底的,就是這樣
Python你要考慮的會多些,比如你會考慮線程,線程鎖問題
當然,考慮這些問題給你帶來了很多好處,比如你處理在線聊天的時候,等待別人的最新消息在PHP里你只能靠外部系統來解決,比如redis, mysql等等。而在Python里你可以用共享對象來解決,這樣效率會更高
所以,問題的關鍵在於,你要設計一個怎樣的系統,同時你會付出更少的代價
當然,碼農的技術棧是最先考慮的因素語言不是根據業務和架構選么?思維不是要貼近需求么?又不是作業!
既然都是web開發,開發的思維方式應該都是差不多。做過php和pyhton,Python的前後端分離更清晰一些
需要考慮高並發web訪問情況下的表現,採用阻塞I/O模型的語言,如 php, python, ruby,java 等等,都需要較多的線程或者進程才能支持。需要進一步看以下設計:
- 進程池或者線程池
- 後端資源主要是資料庫連接的連接池,每進程自己持有一個或者是線程間共享一個連接池
對於 none-blocking I/O 的語言架構,如 nodejs,並發能力會更強,處理延遲更少,資源消耗也更少。
其實php真的挺好的,less,but do more,開發效率低在IT是不能忍的,如果觸及底層和安卓就更好了
推薦閱讀: