<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                我從以下幾個方面去考察編程語言和框架。 (1)我自己要懂,且容易上手。 (2)開發成本不高,能夠快速開發。 (3)有不錯的測試框架(方便日后做持續集成)。 (4)社區支持好,文檔豐富。 (5)招人成本不高。 我自己用了7年的C語言(全職),5~6年PHP和Python(個人的小項目),3~5年的C#(集中在我大學階段和職業早期),幾個月的Java、Ruby和F#(純屬興趣愛好)。 C語言可以直接拋棄,做互聯網的寫代碼還去考慮ELF、棧溢出、緩沖區泄漏太傷神;C#和F#也拋棄,除非我想綁在微軟的架構下,支付高昂的總體擁有成本(TCO)(當然,想借力BizSpark的創業者可以考慮,畢竟3年內免費使用全套微軟產品的誘惑很大)。 Java是一個巨大的誘惑,太多優秀的開源項目讓你忍不住想使用Java。不過Java不適合快速開發,對團隊能力和規模挑戰太大,于是也被拋棄。但是開發一些關鍵的引擎會用考慮使用Java現成的工具,如Mahout(當時的想法簡單,Mahout最終只出現在架構圖中)。 入圍的就剩下PHP、Python和Ruby。這三者都能很好地滿足第2、3和4條。 雖然那時Symfony是我最熟悉的框架,但我并不喜歡PHP。骨子里的陳舊讓它無法與Python/Ruby這樣更“動態”的語言相媲美。symfony模仿Rails,但實現得很吃力,Ruby里method\_missing這樣美妙討巧的甜點在PHP里幾乎是個夢魘[\[8\]](#anchor28)(好吧,我PHP功底很弱的)。這就是symfony無論如何也無法趕上Rails的最重要的原因:它被PHP語言的限制給束縛了。按照Paul Graham的說法,語言的表現力上:lisp >> Ruby ~ Python > PHP >>>> Java/C等靜態編譯語言。 我非常贊同這一觀點。另外,PHP不太適合開發后臺服務,如寫一些守護進程(daemon),這樣后臺的服務還需要用別的語言,所以PHP出局了,我決定從Python和Ruby中選擇一門語言來實現途我睿。 在花了不少時間分別學習Ruby/Rails2和Django[\[9\]](#anchor29)后,我決定使用Python。基于以下理由。 (1)Ruby的很多特性太靈活,如開放類的修改,太靈活可能不利于團隊開發(這點現在看來是我當時的偏見)。 (2)使用Ruby做項目的工程師很難招。從招工程師的角度來看:PHP >>>> Python >> Ruby。Python工程師不好招,但合格的Ruby工程師幾乎招不到。 (3)我對Python的駕馭能力比Ruby高至少兩個等級[\[10\]](#anchor210)。 現在回過頭來看,第三點是最關鍵的,第一點和第二點其實都不那么重要。具體原因如下。 (1)畏懼來源于無知,我不懂Ruby,所以害怕它的靈活。 (2)創業團隊要小而精,兩個很棒的Rails工程師抵得上一打PHP工程師(從開發效率上看),使用Rails的工程師在當時算得上是極客(geek),找出牛人(ace player)的概率很大。 最終我確定了使用Python/Django,然后就開始一門心思地學習,邊學邊做途我睿。Django有著可能是這個世上最好的在線文檔,學起來毫不費力。 * * * * * [\[8\] ](#ac28) Python有類似的語法getattr。 [\[9\] ](#ac29) Python的Web框架很多,選擇Django主要是看重了它的文檔和社區支持度。 [\[10\] ](#ac210)在Dreyfus模型中,能力分成五級:novice→advanced beginner→competent→proficient→expert。我的Python水平大概在competent這個級別,而Ruby僅僅是novice。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看