為什麼我們不重視Office開發——與郭安定談話想到的
阿新 • • 發佈:2019-01-26
上週三晚上與著名的Office專家郭安定老師見面,他向我展示了自己開發的一些Office應用。我以前就知道可以用VBA開發出很棒的Office應用程式,不過看到郭先生的兩個demo,還是有震撼的感覺。這兩個應用一個是演算法密集型的,類似複雜的排課系統,另一個則具有漂亮的圖形介面、高階的資料訪問和業務邏輯,都是充分利用了Office已經提供的高層功能開發而成。郭先生本人在Office開發領域耕耘10年,像這樣的案例還有不少。而對我來說,之前確實沒想到Office開發可以達到這樣的效果。 很多時候我們花了巨大的精力所作的東西,其實只不過是Office現有功能的拙劣複製。把寶貴的資源和人力浪費在重複發明輪子上,花大量精力來研究表格、圖表、報表的開發,文件的格式化,複雜統計演算法的除錯, Email客戶端的編寫,日程與任務的編排,累得筋疲力盡,等到真的要考慮使用者個性化需求的時候,已經強弩之末了。殊不知這些功能,通過VBA程式設計,在Word、Excel、Outlook、Project等Office套件中,全都唾手可得,如果能夠充分利用,很多應用專案(特別是企業應用專案)的開發就會輕快很多。現有的Office軟體具有強大的Web訪問和程式設計能力,把它們與Web結合起來,充分發揮兩端的優勢,這難道不應該是一個很好的企業解決思路嗎?想到這些之後,我在上週末邀請郭老師來CSDN做了一個視訊節目,介紹了一下Office應用開發的能力和特點。大約最近就會播出。而本週日,CSDN還邀請郭先生在北京舉辦一次講座,更深入地介紹和展示 Office開發。對於很多開發團隊的主管來說,這應該是一個不錯的機會,或許會使你對於企業應用開發方案的選型有新的認識和理解,所以給廣告一下 :-)
跟郭先生見面之後,我閱讀了一些VBA相關的資料,有一些更深的思考。當年VB、VC、Delphi三強爭鋒的時候,在全球來說,以VB風頭最勁。而在中國,至少是意識形態上,搞VB的始終擡不起頭來。其實理由很簡單,你看看VB的語言設施和能力,跟C++、Object Pascal比起來,確實顯得簡陋。但事情的另一方面是,做企業應用,VB的開發效率確實高,應用面確實廣,這方面VC和Delphi都遠遠不如。如果粗略地來劃分一下,VB屬於生產力高而技術深入度低的工具,而 VC則屬於技術深入度高而生產力低的工具,兩者各用用途,而在廣泛的領域內,VB實在是更好的工具,特別是對客戶和開發組織而言,提高生產率,降低產品質量缺陷,縮短開發時間,這些都是莫大的好處。這些我們當時就很清楚,但是為什麼後來還是在很大範圍內形成了對VB/VBA的一種輕視的氛圍呢?進而言之,對於像Office開發、Lotus開發這樣的高階的應用解決方案,確實能夠實實在在解決使用者的問題,無非是程式設計技術傻瓜了一點,為什麼在國外非常流行,而在中國的開發文化主流中似乎從來沒有被放到應有的位置上。這是什麼原因呢?難道是因為我們中國程式設計師的技術群體中存在一種特別的情緒嗎?如果是的話,這種情緒現在是加強了呢,還是削弱了呢?這個問題,恐怕是需要我們思考和反省的。