熱度 1|
Microsoft 最近在 Windows 8 的整個(gè)生存期中延長(zhǎng)了 Visual Basic 6 應(yīng)用程序的“確實(shí)行得通”兼容性支持(請(qǐng)參閱本月的編輯寄語(yǔ)“老兵永遠(yuǎn)不死”)。 Visual Basic 6 于 1998 年首次推出,因此,它的應(yīng)用程序至少具有 24 年支持的生存期。 與 Microsoft .NET Framework 1.0 (2002) 對(duì)比一下,就會(huì)知道它的時(shí)間有多么長(zhǎng)了,后者與 Windows 7 (2009) 都不兼容。
我的一個(gè)名叫 Eric 的學(xué)生曾經(jīng)開(kāi)玩笑說(shuō),Visual Basic 6 是 Windows 生態(tài)系統(tǒng)中的“殺不死的蟑螂”。 這個(gè)比喻去可能比您想象的更深入。 蟑螂是很成功的,因?yàn)樗鼈兎浅:?jiǎn)單。 它們?cè)谧约旱男∩鷳B(tài)環(huán)境中只做它們需要做的,僅此而已。 Visual Basic 6 在自己的小市場(chǎng)環(huán)境中做它的創(chuàng)造者要求它們所做的: 使經(jīng)驗(yàn)較少的程序員能夠快速開(kāi)發(fā)有限的程序。 它從來(lái)就不是為開(kāi)發(fā)復(fù)雜應(yīng)用程序的程序員準(zhǔn)備的。
Visual Basic 6 通過(guò)剝離基礎(chǔ) Windows 操作系統(tǒng)的復(fù)雜性來(lái)實(shí)現(xiàn)其目標(biāo)。 簡(jiǎn)單的事情完成起來(lái)也會(huì)非常簡(jiǎn)單。 另一方面,它無(wú)法完成復(fù)雜的事情,如處理線程。 我使用 Visual Basic 6 的經(jīng)驗(yàn)是: 如果我在 10 分鐘內(nèi)做不成,我就根本做不了。
Visual Basic 6 獲得成功的另一個(gè)關(guān)鍵是,它具有一組有限的功能,學(xué)習(xí)起來(lái)輕松得多。 學(xué)習(xí)駕駛巴士所花的時(shí)間肯定比學(xué)開(kāi)戰(zhàn)斗機(jī)少得多。 成為很好的 Visual Basic 6 程序員所花的時(shí)間比成為很好的 C++(當(dāng)時(shí)的主要替代產(chǎn)品)程序員少得多。
當(dāng) Microsoft 將 Visual Basic. NET 變成“功能完善的語(yǔ)言”時(shí),公司為其配備了 C# 具有的所有功能(線程、后臺(tái)操作和繼承等),但復(fù)雜性也隨之增加。 因此,它需要一組與 C# 編程相同的技能,學(xué)習(xí)起來(lái)也同樣不會(huì)輕松。
Microsoft 內(nèi)部人員之所以這樣做是因?yàn),他們以為這是苛求的 Visual Basic 6 社區(qū)的心聲。 但是,Visual Basic 6 程序員代表了“沉默的大多數(shù)”,這是美國(guó)發(fā)明的一個(gè)流行語(yǔ)。 1969 年,美國(guó)總統(tǒng)理查德•尼克松在那個(gè)動(dòng)蕩的年代里用這個(gè)詞來(lái)形容他的那些反對(duì)游行示威和秉承傳統(tǒng)文化價(jià)值的支持者。 幾乎所有 Visual Basic 6 程序員對(duì) Visual Basic 6 提供的功能都很滿意。 他們很高興成為巴士司機(jī): 下午 5 點(diǎn)下班 (天氣好時(shí)甚至下午 4:30 就下班) 而不是工作到深夜;周末與家人一起娛樂(lè),而不是拖著疲憊的身軀去辦公室加班;早早與家人一起上床休息,而不是與另一個(gè)程序員通宵工作,而早上僅僅啃幾口涼比薩。 他們沒(méi)有抱怨 Visual Basic 6 中缺少運(yùn)算符重載或多態(tài)性,因此,他們沒(méi)有多說(shuō)什么。
但是,Microsoft 聽(tīng)到的聲音來(lái)自 3% Visual Basic 6 巴士司機(jī),他們一心想成為戰(zhàn)斗機(jī)飛行員。 這些家伙花時(shí)間參加會(huì)議,在 CompuServe 論壇上提出問(wèn)題以及為文章提供反饋。 他們并不僅僅滿足于幻想向前面剛好擋住他們?nèi)ヂ返钠嚺艢夤馨l(fā)射響尾蛇導(dǎo)彈,而是要求 Microsoft 在他們的巴士上安裝加力燃燒裝置以及導(dǎo)彈、干擾裝置和平視顯示器。 Microsoft 還真就這樣做了。
但為 Visual Basic 6 社區(qū)提供 Visual Basic .NET 就好象將土狼作為家狗馴養(yǎng),然后將它放到森林里,并朝它大喊:“偉大的殺手,去捕殺上帝為你創(chuàng)造的獵物吧!”它們中的大多數(shù)會(huì)說(shuō):“開(kāi)玩笑吧。 當(dāng)我坐在火堆旁邊的溫暖座墊上,你為我打開(kāi)一罐愛(ài)寶狗罐頭。誰(shuí)還愿意遭這個(gè)罪呀!”Visual Basic 6 繼續(xù)朝向正確的方向前進(jìn)。
當(dāng)然啦,Visual Basic 6 也不是完美無(wú)缺的。 OnError Resume Next? 如果什么地方出了點(diǎn)小問(wèn)題,是保持運(yùn)行并看看會(huì)發(fā)生什么情況? 這可能不是明智之舉。 但對(duì)于很大一類問(wèn)題來(lái)說(shuō),由水平較低的人員(因而更便宜)快速(因而更便宜)開(kāi)發(fā)有限(因而更便宜)的應(yīng)用程序是一個(gè)重要的解決方案。
LightSwitch 現(xiàn)在正在試圖填補(bǔ)這個(gè)小領(lǐng)域,但人們對(duì)它的評(píng)價(jià)褒貶不一(請(qǐng)參閱 bit.ly/n9crJj)。 它至少還要等十年。
Visual Basic 6 所做的工作還需要繼續(xù)做。 直到且除非 Microsoft 推出了具有這些功能的其他工具,否則,仍會(huì)繼續(xù)使用 Visual Basic 6。 我敢和你賭一杯啤酒,Microsoft 一定會(huì)在 Windows 9 和 10 中延長(zhǎng) Visual Basic 6 支持。
作者:David S. Platt 在哈佛大學(xué)拓展學(xué)院以及世界各地的公司講授 .NET 編程。Microsoft 在 2002 年授予他“軟件傳奇人物”稱號(hào)。
|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó)
( 粵ICP備10043721號(hào)-1 )
GMT+8, 2025-7-13 08:54 , Processed in 0.066704 second(s), 18 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.