1. 程式人生 > >再見VB6!再見程式生涯!

再見VB6!再見程式生涯!

今天寫一篇博文告別使用了15年的VB6,從此終結程式生涯。記得讀大學的時候第一學習程式設計,用VB6嵌入MediaPlayer控制元件寫了一個簡易視訊播放器,看著視訊的畫面激動人心,從此就愛上了程式設計,從此也和VB6接下了不解之緣,大學畢業後進入國內某軟體公司,直到去年離職一直在用VB6開發和維護大型ERP,在業界看來VB6太老了,廉頗老矣尚能飯否?然而真要塵封卻有不捨。

VB6是微軟COM(元件物件模型)的成功典範,可以說VB6的成功代表了微軟COM的勝利,然而自微軟.NET戰略推行以後,VB6卻被無情地拋棄,意味著其推行的COM將逐步退出歷史舞臺,.NET平臺中雖然保留了VB語言,但在國內大部分VB程式設計師看來其已成了雞肋,在實際工作中不得不換成語言更接近C++的C#。隨著.NET的更新換代,基於COM模型的各種元件仍然存在,然而由於VB6被徹底拋棄,用VC+ATL/MFC開發的OCX等COM元件似乎已無容身之處,放在.NET上去使用已非明智之舉。雖然我的工作IDE已經換成了VS2017,然而仍然喜歡開個裝有XP系統的虛擬機器,裡面裝著簡潔高效的VC6+VB6開發需要的東西,用VC6+ATL做底層,VB6做應用,已成為習慣。

VB6是面向應用層面的,在桌面應用普及的時代,用其開發各種應用軟體,包括各種大型的ERP系統,雖然其有許多的缺點被一些程式設計師所詬病,然而瑕不掩瑜,不足之處可以用VC來彌補,因此,在ERP系統中,涉及底層的東西我們就用高效的VC6+ATL來實現,應用層面的我們就用VB6來呈現,這樣一個健壯的桌面應用系統就應運而生,只要Windows作業系統支援,用上30年也不會出問題,架構的牢固程式設計師日常也就只關心使用者需求的業務轉化。

下面是日常工作中的一些模組測試程式,採用VC6+ATL做底層,採用VB6做介面,在Win10上工作得很好,執行效率很高,作為紀念張貼出來。希望某一天微軟能把VB6開源吧,優秀的語言不應讓其沉沒!

 

一個Skin模組測試,支援陰影透明調色,效果比GDI+做的DirectUI好,可執行在微軟XP-Win10作業系統上,開發工具:VC6+ATL+VB6。

一個音訊播放器模組測試,底層採用VC6+ATL,頻譜可調,頻譜的呈現在底層實現,VB6傳遞一個視窗控制代碼即可。開發工具:VC6+ATL+VB6。

 

一個Sqlite模組測試,查詢速度很快,採用ADO方式封裝,BUG可控,最近空閒將其更新為sqlite3.26.0最新版本。開發工具:VC6+ATL+VB6。

... ...

 VB好嗎?好。遺憾,這一切隨著程式生涯的結束,已成為歷史,再見!