程式語言非常重要,不要認為他們都圖靈等價,用起來都一樣。實際上,好的語言,帶給你的東西是超乎想像的。
下面是一些看法,供參考。
1,程式設計師的時間遠比機器的時間寶貴:選擇開發效率最高的語言吧,不要在乎執行效能,如果你開發不出東西,那麼跑得多快也沒用。
2,優雅的抽象勝於簡單的堆砌: 這意味著你的**是最簡潔而又充滿設計感的,物件導向,容易的閉包,一切都是表示式等等,而最好的抽象是語言本身能夠分層,既能夠書寫語言的語言,比如dsl能力強弱是個指標。
3,才華橫溢的社群勝過有難度的招聘:這種語言一定要擁有乙個活躍且才華橫溢的社群,只要使用她的人,就有一種自豪感和精英意識,在社群裡的每個人都自認為比別人強。即使,你不那麼容易招聘到程式設計師,但我們不都知道,乙個有才華的程式設計師勝過100個平庸之輩嘛?選用這種語言,能保證團隊裡一起編碼的每乙個人,都是高手。
4,也是最重要的,樂趣勝過一切: 靈活,好玩,永遠有新發現的魔術般的語言,只有你想不到的,沒有你做不到的,對乙個真正的hacker來說,這是選擇語言唯一的理由,這也是perl為什麼能夠長期存活的原因,因為她是hacker為hacker創作的。
如果能看完這些觀點,相信你能猜出我的選擇了:)是的,ruby是主流語言中我認為最出色的,最高的開發效率,最優雅簡潔的抽象能力,最有才的社群(github為中心),和最大的樂趣。
-----------新的補充---------
最近仔細拜讀了<松本行弘的程式世界>這本書,了解了很多關於各類語言背後的歷史和內幕,無論你是否ruby程式設計師,我都強烈推薦閱讀一下這一本。
說點跟本問題相關的部分,我認為做為乙個程式設計師,是應該去選取不同思路的語言去學習的,而且當然要選擇最有代表性的語言,在程式設計的世界裡,主流的思路其實就兩種,一是結構化程式設計,一是函式化程式設計,物件導向只是結構化程式設計進化的乙個階段而已,其他各種各樣的思路大多數是這兩個的分支。
學習物件導向,我認為ruby是不二之選,她是smalltalk真正的繼承者。
學習函式化程式設計,我沒有什麼發言權,我自己想學習的是haskell,這個是目前為止最徹底的函式化程式語言。
程式設計師軟體專案預估的寶貴經驗
我最近參加了乙個關於軟體預估的課程。對於這種本質上就是非精確的科學,我一向都非常謹慎,因為我深信預估可以創造價值。在這個歷時兩個小時的課程中,我發現了如何提醒大家進入預算而不必過度分析和思考的方法。我們經常能聽到專案經理和開發人員之間類似於這樣的對話 pm 你能不能給我乙個開發某某功能所需要的預估時...
程式設計師的時間管理 谷歌日曆
新的一年,新的規劃。一直說學會改變,一直想實現自己的目標,可是遲遲卻無法行動,最主要的原因就是不會時間管理,不會任務目標的分解。新年的第一件事就是蒐集了大量的關於如何時間管理 目標分解的文章。如此以來,一天的工作量和工作計畫清楚明了,再也不用操心想幹完這事下面該幹什麼事,也不會丟三落四了。既有備忘功...
程式設計師必備的專案時間估算指南
有位 pm 最近告訴我她面臨的乙個難題 軟體工程師永遠不能估算出他們的專案需要多長時間。我該怎麼辦?還有兩位 ceo 最近也告訴我同樣的事情。為什麼程式設計師總是不能準確估測專案時間?我們都深有體會。我曾經遇到過乙個專案,預計需要兩天完成,結果做了四個月。在這種情況下,即使用 時間翻倍 的經驗估算,...