各司其職——我對《VCL已死,RAD已死》的理解

來源:互聯網
上載者:User

SD2C大會後,愛民兄意猶未盡地寫了《VCL已死,RAD已死》系列。而在這個系列中,我認為核心部分就是那段插播的《與Shaofei Cheng的MSN聊天》。

當時在SD2C大會上我就覺得愛民兄的觀點很有意義,但是估計很難被大多數開發人員和開發管理層所接受。Shaofei Cheng的觀點應該說就是一直以來在開發人員中流行的樂觀主義想法的體現。他們還沒有真正認識到Brooks所說的“沒有銀彈”是什麼意思——

Brooks的原話是這麼說的:軟體開發的根本困難在於——軟體本身固有的複雜性、一致性、可變性和不可見度

所以沒有什麼單一的解決方案可以完全解決軟體開發的這個根本困難——過去沒有、現在沒有、在可以預見的將來也不會有什麼銀彈——雖然技術在進步,但軟體的複雜性等固有困難卻在以更快的速度膨脹。

注意:不是不可能解決,而是沒有單一解決方案。

愛民的觀點正是在開發工具/開發語言的層面具體地揭示出這一點:沒有人是萬能的——程式寫得好的人,做介面顯然不如專業的美工;同樣沒有工具是萬能的——所以VCL和RAD是死掉的。

其實愛民這次在SD2C大會上的議題《Delphi+JS+Erlang=?》也是想要把討論的外延擴得更大一些的,只可惜會議時間有限,只夠就技術層面作一些說明,我也是在會後的交流中聽到愛民兄的更多見解的。


這裡,VCL和RAD並非是特指,而是一種泛指——泛指任何用單一的解決方案解決所有問題的企圖。VCL的錯誤就在於它將介面與商務邏輯捆綁得過於緊密,
而RAD則是作為工具出現的幫凶。程式員應該只考慮自己的程式邏輯,而不應該把精力浪費在介面上。同樣,美工只需要把業務所需要的元素組成易用美觀的界
面,而不需要去考慮其背後的實現。從這個角度上說,愛民兄在會上介紹的用DELPHI做後台邏輯,JS做前端瀏覽器式介面,Erlang做後端服務只是這
種思路的一種實現。

這也就是為什麼我要說《放寬技術的視界》,如果總是囿於自己眼前僅有的幾項技術,很容易把自己的思路局限在一個小圈子裡,出路只會越走越窄。

當然,不可否認的是,這種各司其職的思路雖然可以使各部分的人使用他們各自順手的開發工具進行開發他們各自擅長的方面,但同時也帶來了一個問題,那就是Shaofei Cheng所指出的:各部分開發人員之間如何交流?


這個問題並不是新問題。因為現在的時代,絕大部分軟體都不可能是憑一兩個人的力量可以完成,只有團隊的力量才有可能,而只要有團隊就會需要交流溝通,各部
分開發人員之間的溝通並不會比超人之間的溝通困難多少。至於UML/XAML仍然不過是一些形而下的工具——只要能溝通,用什麼手段和工具並不重要。


在想想,正是在這種思路的驅動下,我在告別了VCL之後並沒有像大多數VCL開發人員那樣走向.net,因為在我看來.net不過是VCL方式的延伸——雖
然它做得更好得多,但方向是一樣的。這樣說又有點唯工具論了,正如現在仍然可以像愛民兄那樣用DELPHI,同樣也可以用這樣的方式來用.net。我的選
擇只是代表我個人的偏好而已。

總之,超人們單槍匹馬打天下的時代早已經結束了,而就團隊開發來說,各司其職很重要。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.