站長工具,就用查一把!
收錄查詢  關鍵詞排名  Alexa排名  PR檢測  友情檢測  IP反查  WHOIS查詢    更多查詢  
  收藏  最近查詢 查一把
信息分類 首頁 » 資訊信息

好站推薦

IT新聞

  業界猜想

  名人名企

建站推廣

  站長創業

  運營推廣

設計編程

  美工設計

  開發編程

網絡開發初學者推薦 PHP、Python 還是 Ruby ?
信息來源:查一把 發布時間:2012/2/9
單純比較語言實現的優劣可能不足以是選擇某種語言的全部原因,還需要考慮一些非技術或者非全技術的原因,例如
  1. 假如現在學習A語言,那么對學習者來說,是否能在未來幾個月或者更長的時間內找到應用場景,在具體的項目場景中學習和使用一種語言對于學習來說是很有幫助的,因為使用是學習中最重要的部分;假如只是學習卻沒有實際應用的場景,那么暫時不深入學習都可以,了解一些概念就可以了,等到需要的時候再學語言本身也不遲;這樣更多的時間可以去看計算機科學領域比較基礎,知識相對穩定的部分,比如系統結構與設計,設計模式,網絡協議,數據庫理論和實踐,程序設計的理念和實踐方面的書
  2. 考慮學習語言A后對求職本身的幫助,學習的最終目的不是學習本身,而是要應用,不僅僅是自娛自樂地應用(當然不是說這不可以),而是在實際的職業環境下去應用,并且以此獲得回報;
  3. 語言的生態環境,是否存在高質量社區,現存的文檔對你自己來說是否足夠友好,身邊是否有很多使用某種語言的朋友或者同事,對于學習來說,這些都是整個過程中的拐杖,特別說稍微深入高級的概念的時候;
  4. 考慮語言存在的歷史和上下文,所有的語言都有問題,比如上面的知友提到的PHP代碼可能產生的可維護性問題,ruby代碼的AR可能產生的學習成本和性能上的問題,但這些問題是否在你自己的應用環境下存在,如果存在是否可控,假如可控那么對你來說就不是問題;忽視上下文來討論語言實現本身是不公正的;每種語言的設計者可能有截然不同的技術價值觀,你會發現PHP的非OO部分和UNIX的設計哲學很契合,因為它產生與那一種哲學被普遍認知和接受的年代;ruby的語言設計我自己的理解是因為它產生與“敏捷實踐”被普遍認知和接受的年代;選擇語言的時候重要的不是去對他下什么判斷,而是去接受他,了解他,就像選擇朋友一樣;
  5. 你自己的偏好,你身邊可以有一群人告訴你你應該學習ruby而不學習php,或者學習php而不學習ruby,但最終的判斷在學習者自己,判斷的做出可能需要適當的作全面了解比較過后才能產生,或者也不一定,有些朋友就是看到python或者php或者ruby的某一個非常漂亮有趣的部分而愛上她的,比如php的magic methods, built in hooks等等,ruby優雅的iteration語法等等,我身邊有朋友無論如何我跟他怎么說ruby怎么好,他都能用務實中肯的意見反駁我為什么這個這個對他沒有實際意義,為什么這個這個其實php的處理更加自然,我認為這樣才是學習語言正常的狀態,那就是你知道她有這些缺陷,但你還是愛“她” :)),而不是走馬觀花,見異思遷:))
     
編程語言非常重要,不要認為他們都圖靈等價,用起來都一樣。實際上,好的語言,帶給你的東西是超乎想像的。

下面是一些看法,供參考。

1,程序員的時間遠比機器的時間寶貴:選擇開發效率最高的語言吧,不要在乎運行性能,如果你開發不出東西,那么跑得多快也沒用。

2,優雅的抽象勝于簡單的堆砌: 這意味著你的代碼是最簡潔而又充滿設計感的,面向對象,容易的閉包,一切都是表達式等等,而最好的抽象是語言本身能夠分層,既能夠書寫語言的語言,比如DSL能力強弱是個指標。

3,才華橫溢的社區勝過有難度的招聘:這種語言一定要擁有一個活躍且才華橫溢的社區,只要使用她的人,就有一種自豪感和精英意識,在社區里的每個人都自認為比別人強。即使,你不那么容易招聘到程序員,但我們不都知道,一個有才華的程序員勝過100個平庸之輩嘛?選用這種語言,能保證團隊里一起編碼的每一個人,都是高手。

4,也是最重要的,樂趣勝過一切: 靈活,好玩,永遠有新發現的魔術般的語言,只有你想不到的,沒有你做不到的,對一個真正的hacker來說,這是選擇語言唯一的理由,這也是perl為什么能夠長期存活的原因,因為她是hacker為hacker創作的。

如果能看完這些觀點,相信你能猜出我的選擇了:)是的,ruby是主流語言中我認為最出色的,最高的開發效率,最優雅簡潔的抽象能力,最有才的社區(github為中心),和最大的樂趣。
我認為選擇語言還得具體看你的應用場景,不過說大了,這三種語言其實在web方面的服務器端腳本常用的應用腳本,所以對于做web,這三種語言都是可以,比如說ruby的rails框架確實是稱得上是快速開發的典范,但是ruby的語法過于靈活,有些時候對同一個處理會有很多種不同的寫法,php是老牌的網頁腳本語言,相對其他兩門而言比較成熟,對于python來說,由于自身的簡約設計,可能應用的方面的更多,幾乎是可以涉及到IT的各個方面,web只是它其中一個方面,而且有比較成功的殺手級應用,服務器的各種原來用shell或者perl的腳本,科學計算,游戲的腳本,甚至在桌面客戶端上也能看到python的佳作,如UliPad,對于初學者來說python是個不錯的選擇,在這三者中它的語法是最簡潔和清晰的,適合初學者學習
選擇一門語言要看這個語言社區的氣質,以及你想用他做什么東西。

最近一直在感慨:Mac上可以運行那么多種語言,有很多人用git。但卻只有Ruby的用戶開發出了homebrew這樣牛逼的包管理系統,善用了github的諸多特性,真正的把每一個用戶都變成了潛在的repo貢獻者。我相信這絕對不是巧合。如果同樣的條件擺在面前,你做出了一個全新的東西而別人沒有,說明了你的創造力比別人要高

作為Python用戶,覺得Ruby語法的優劣不太重要。但是從外部看Ruby社區近些年持續的向外輸出一些從技術到開發上的理念,不斷的有大大小小的很酷的項目從Ruby社區中誕生的出來。使得我覺得Ruby社區是一個很有創新氣質的社區。因此如果你學編程是想做出一個很酷的東西,那么我強烈建議你直接學習Ruby。
Web開發, 自然PHP, PHP在Web開發中的占用率是第一位的. 我說第一位的意思是, 你可以找到很多共同興趣者, 在遇到問題的時候,會有更多的人來回答你, 當然, 最重要的, PHP是C系, 親Linux的, 如果你以后想往底層發展, 那么PHP也是一個很好的過渡.
python:  語法整齊,web框架多且都比較有個性,第三方庫多,開發者人數可觀。

ruby:    Rails有很多killer級的特性幫助高效的web開發和管理,gems做包管理很方便,代碼也比較易讀,高手也不少。
php:    接觸不多,個人感覺高手和新手使用的差別很大,會的人多。

選那個都不錯。當初我就是因為python的logo比較可愛才先學python的..

經驗分享:
最初從python學起的,接著學習了html,css和http的一點基礎知識,然后就嘗試了幾個web框架,會開發簡單web應用了。
之后由于工作轉向Rails,感覺轉移成本不高,習慣后也挺喜歡Rails的設計理念,整個Rails生態環境也很完善了,所以非要推薦一個的話我直接推薦ruby(rails)吧。
我覺得還是直接學Ruby比較好。
1.本來rails框架就自帶了server,WEBrick。看著Log做開發效率非常高。
2.如果要部署的話,用passenger也是絕對方便啊。
3.Views層的模板系統,ERB應該比Python的各種要來得美,而且更加簡單。之前用過Django的,覺得太重了。
4.Rails可以讓你不斷的驚訝程序可以這樣寫的啊,我第一次看到有7.days.ago的時候驚掉了。
5.Rails強調一種DSL,一來符合人們的語言習慣、二來我覺得是一種編程語言的顛覆,我們并不是在用某個特定的語言(比如Ruby)來實現一個功能(就如同是用C還是用Java來寫一個編譯器),而是我可以在這些語言的基礎上定義一種新的語言(類似于lex,yacc這樣的詞法語法生成器)。看看routes.rb的設置吧,能有多么驚訝,這是程序么,簡直就是詩。美不只是在于內容,同樣在于形式。

Ruby或者說Rails的缺點或許就是學習的曲線太陡,我之前有過MVC的經驗,上手RoR還是花了三周的時間,或許也是自己接受能力不強吧,但更確切的問題應該在于Rails的慣用法太多:當然,我在用ActiveRecord拿數據的時候,可以寫find_by_sql("blablabla"),但是細查Rails的文檔,他是提供類似于Joins.Group.Select等等的方法的,姑且不論效率是不是真的會快點,少寫一點sql在.rb的文件里面不是會更美一些么。再到后來,偶然又發現有metawhere這種東西,是不是又要忍痛拋棄既往學到的那一堆works but not elegant的東西,義無反顧的投身到metawhere的學習中捏。
當然,如果不追求完美,上手也沒有這么恐怖。
轉載請注明出處:站長工具 信息來源:http://www.zuntuo.tw/Content/304
網友點評
b北京赛车视频