一句話總結(jié)簡單地總結(jié):
語言的選擇編程語言非常重要,,不要認為他們都圖靈等價,,用起來都一樣。實際上,,好的語言,,帶給你的東西是超乎想像的。 下面是一些看法:
如果能看完這些觀點,,相信你能猜出我的選擇了 :) 是的,Ruby是主流語言中我認為最出色的,,最高的開發(fā)效率,,最優(yōu)雅簡潔的抽象能力,最有才的社區(qū)(Github為中心),,和最大的樂趣,。 做為一個程序員,是應(yīng)該去選取不同思路的語言去學(xué)習(xí)的,,而且當然要選擇最有代表性的語言,,在編程的世界里,主流的思路其實就兩種,,一是結(jié)構(gòu)化編程,,一是函數(shù)化編程,面向?qū)ο笾皇墙Y(jié)構(gòu)化編程進化的一個階段而已,,其他各種各樣的思路大多數(shù)是這兩個的分支,。 社區(qū)的創(chuàng)造力選擇一門語言要看這個語言社區(qū)的氣質(zhì),以及你想用他做什么東西,。 Mac 上可以運行那么多種語言,有很多人用 git,。但卻只有 Ruby 的用戶開發(fā)出了 homebrew 這樣牛逼的包管理系統(tǒng),,善用了 github 的諸多特性,真正的把每一個用戶都變成了潛在的 repo 貢獻者。我相信這絕對不是巧合,。如果同樣的條件擺在面前,,你做出了一個全新的東西而別人沒有,說明了你的創(chuàng)造力比別人要高,。 作為 Python 的使用者,,我覺得 Ruby 語法的優(yōu)劣不太重要。但是從外部看 Ruby 社區(qū)近些年持續(xù)的向外輸出一些從技術(shù)到開發(fā)上的理念,,不斷的有大大小小的很酷的項目從 Ruby 社區(qū)中誕生的出來,。使得我覺得 Ruby 社區(qū)是一個很有創(chuàng)新氣質(zhì)的社區(qū)。因此如果你學(xué)編程是想做出一個很酷的東西,,那么我強烈建議你直接學(xué)習(xí) Ruby,。 從 Web 開發(fā)去比較對于 Web 開發(fā),這三種語言都能勝任,,但是還是有不少區(qū)別:
入門語言還是應(yīng)該選擇一個比較嚴謹?shù)?,像Java,Python那樣的語言比較合適,,從 PHP 語言不太容易學(xué)到 OO 的思想和設(shè)計模式之類的東西,,而這些對于一個優(yōu)秀的 PHP 程序員來說也是很必要的。這里不是黑 PHP,,每個語言都有自己的優(yōu)點,,比如 PHP 入門快,可以增加編程的信心,,明白編程那點事后,,可以觸類旁通的接觸其他語言。很多編程者就是從 PHP 入門的,。 在編程學(xué)習(xí)里有這么一個現(xiàn)象:直接推薦 Python 的人,,基本都沒深入學(xué)習(xí)過 Ruby。學(xué)過 Python 和 Ruby 的人,,基本都喜歡 Ruby,。 具體使用什么語言,不是唯一的,。根據(jù)場景是要分的,。一個人至少是需要學(xué)習(xí)3種語言的:
關(guān)于 Ruby我覺得直接學(xué) Ruby 也是不錯的選擇,。
Ruby 或者說 Rails 的缺點或許就是學(xué)習(xí)的曲線太陡,,我之前有過 MVC 的經(jīng)驗,,上手RoR 還是花了三周的時間,,或許也是自己接受能力不強吧,但更確切的問題應(yīng)該在于 Rails 的慣用法太多:當然,,我在用 ActiveRecord 拿數(shù)據(jù)的時候,,可以寫 find_by_sql("blablabla"),但是細查 Rails 的文檔,,他是提供類似于 Joins.Group.Select 等等的方法的,,姑且不論效率是不是真的會快點,少寫一點 sql 在 .rb 的文件里面不是會更美一些么,。再到后來,,偶然又發(fā)現(xiàn)有 metawhere 這種東西,是不是又要忍痛拋棄既往學(xué)到的那一堆 works but not elegant 的東西,,義無反顧的投身到 metawhere 的學(xué)習(xí)中,。 當然,如果不追求完美,,上手也沒有這么恐怖,。 關(guān)于 Pythonpython的優(yōu)勢很多,比如:
當然還很多,,具體還可以去看看 《Python的設(shè)計哲學(xué)》 這個 chapter。 小結(jié)
用什么語言不重要,最重要的是效率:開發(fā)效率和執(zhí)行效率,。PHP 語法很傻,,一點都不炫,但凡是學(xué)過C,、JS、AS等等語言的,,很容易上手,,因為語法上有很多重合的地方。很多人看不起 PHP,,說 PHP 太簡單的人,,往往是因為對 PHP 本身不夠深入了解,其實 PHP 里面的東西一般人用到的很少,,5.3 以上的特性也慢慢讓這種語言生動起來,,你越是深入,就越能發(fā)現(xiàn)它的強大和優(yōu)勢,。 這里僅僅列出 PHP,,Python 與 Ruby 的一些情況,讓讀者更好地挑選學(xué)習(xí)的語言,。 語言沒優(yōu)劣之分,,Just follow your passion. |
|