中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Bill Gates和Linus Torvalds同時(shí)推崇的編程語(yǔ)言不可復(fù)制的經(jīng)典

https://m.toutiao.com/is/DF3sRow/ 


1 緣起

我們?yōu)槭裁礇](méi)有這樣的東西?!” -- Bill Gates

1988年春天,Alan Copper坐在微軟的大會(huì)議室中,給Bill Gates和微軟的十幾名員工做了一次著名的演示。

這是個(gè)叫做Tripod的開(kāi)發(fā)工具,控制面板上面是一些按鈕,列表框之類的東西,它采用事件驅(qū)動(dòng)的方式,即當(dāng)用戶執(zhí)行某個(gè)操作(如單擊按鈕)時(shí),系統(tǒng)會(huì)觸發(fā)特定代碼執(zhí)行執(zhí)行。

很明顯,這種開(kāi)發(fā)方式把Bill Gates強(qiáng)烈地震撼了。

Bill Gates想到了自家剛剛發(fā)布的Windows操作系統(tǒng):

GUI界面雖然對(duì)用戶很友好,但是對(duì)程序員來(lái)說(shuō),在上面編程痛苦不堪,必須需要使用原始的 Win32 API。

這意味著使用C語(yǔ)言編寫(xiě) WndProc()函數(shù),在里邊用丑陋無(wú)比的switch case 語(yǔ)句來(lái)處理各種Windows消息

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch(msg) { case WM_CLOSE: DestroyWindow(hwnd); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam); } return 0;}

即使想創(chuàng)建一個(gè)簡(jiǎn)單的窗口,沒(méi)有幾百行代碼也是不行的。

編程模型乏味又枯燥,簡(jiǎn)直不是人干的活兒。

相比之下,Alan Copper的Tripod可以把各種組件拖拽到表單設(shè)計(jì)器,然后對(duì)事件添加處理代碼就可以了,又簡(jiǎn)單又直觀。

這絕對(duì)是以后Windows開(kāi)發(fā)的未來(lái)。

“我們?yōu)槭裁礇](méi)有做這樣的東西?!” Bill Gates扭頭對(duì)著他的隨從問(wèn)道。

Bill Gates買(mǎi)下了Tripod,并且讓項(xiàng)目組對(duì)Tripod進(jìn)行改造,用自己喜歡的Basic作為新工具的內(nèi)置編程語(yǔ)言。

最終,Visual Basic問(wèn)世了。

Visual Basic的一大特點(diǎn)就是:有限的功能集使得學(xué)習(xí)曲線要短得多。

學(xué)習(xí)VB vs 學(xué)習(xí) C++,就像學(xué)習(xí)開(kāi)車(chē)vs 學(xué)習(xí)開(kāi)飛機(jī)。

成為一名優(yōu)秀的 Visual Basic 6 程序員比成為一名優(yōu)秀的 C++ 程序員花費(fèi)的時(shí)間要少得多。

2 發(fā)展

Visual Basic的出現(xiàn)也是恰逢其時(shí)。

八九十年代,個(gè)人電腦市場(chǎng)正在迅猛發(fā)展,瘋狂地吞噬原來(lái)大型機(jī)和小型機(jī)的領(lǐng)地。

生活在那里的數(shù)百萬(wàn)COBOL程序員非常緊張,也想轉(zhuǎn)型到PC開(kāi)發(fā)上來(lái),但是C/C++陡峭的學(xué)習(xí)曲線和非常低級(jí)的Win32 API成為最大的攔路虎。

正當(dāng)他們無(wú)所適從的時(shí)候,提供了更簡(jiǎn)單抽象層的Visual Basic出現(xiàn)了,在組件化的編程模型下,你只需要把“控件”拖放到表單時(shí),設(shè)置好屬性,編寫(xiě)好事件處理代碼,一個(gè)Windows應(yīng)用程序就開(kāi)發(fā)出來(lái)了。

從此,大型機(jī)COBOL程序員高興地?fù)肀Я薟indows平臺(tái)。

一些編程新手也被Visual Basic吸引,他們了解到函數(shù)如何工作,對(duì)象如何工作,迅速地開(kāi)發(fā)出應(yīng)用程序,第一次感受到了編程的樂(lè)趣和力量。

而Alan Copper當(dāng)初的一個(gè)設(shè)計(jì)決策讓Visual Basic一飛沖天。

在Visual Basic中,每一個(gè)控件(文本框,按鈕,下拉框等)都是一個(gè)單獨(dú)的,可以動(dòng)態(tài)加載的DLL,也就是說(shuō),任何人都可以開(kāi)發(fā)屬于自己的控件,然后加載到Visual Basic當(dāng)中。

這和后來(lái)Eclipse,IDEA,VS Code的插件思想非常類似,只是VB比他們?cè)缌艘粋€(gè)時(shí)代。

無(wú)數(shù)軟件開(kāi)發(fā)廠商開(kāi)始開(kāi)發(fā)這種自定義控件(VBX),日歷選擇器,圖標(biāo),條碼掃描,報(bào)表...... 海量的VBX迅速發(fā)展成一個(gè)第三方的市場(chǎng)。

Visual Basic不斷地推出新版本,不但支持快速開(kāi)發(fā)桌面的GUI應(yīng)用,還可以通過(guò)ADO等手段訪問(wèn)數(shù)據(jù)庫(kù),從而開(kāi)發(fā)C/S架構(gòu)程序。

到了1998年,Visual Basic 6.0發(fā)布時(shí)達(dá)到了巔峰,有三分之二的Windows商業(yè)應(yīng)用是Visual Basic開(kāi)發(fā)的,Visual Basic 在全球擁有350萬(wàn)開(kāi)發(fā)人員,是C++程序員數(shù)量的十倍以上。

能和VB一戰(zhàn)的,恐怕也只有Delphi了。

Alan Cooper和微軟簽署了嚴(yán)格的保密協(xié)議,在四年的時(shí)間內(nèi),一直保守秘密,不對(duì)外界透露他在做什么。

直到Visual Basic 發(fā)布以后,他的朋友Mitchell Waite 打電話問(wèn)他,在VB那個(gè)about box中的Copper是不是你?此時(shí)Alan Copper才承認(rèn)是他干的。

Mitchell Waite請(qǐng)Alan Cooper吃了一頓飯,親耳聽(tīng)到了完整的故事,不由地感慨:這使你成為VB之父!

1994年,由于對(duì)可視化編程的杰出貢獻(xiàn),Visual Basic 之父Alan Cooper獲得了微軟第一個(gè)Windows先鋒獎(jiǎng)。

3 衰落

Visual Basic在桌面開(kāi)發(fā)中輝煌了10年,直到它撞上了互聯(lián)網(wǎng)的大潮。

Sun公司的Java異軍突起,獨(dú)領(lǐng)風(fēng)騷,讓微軟感受到了巨大的壓力。

在開(kāi)發(fā)了不成功的Visual J++,被Sun控訴說(shuō)破壞了Write once ,run anywhere 之后,微軟決定另起爐灶,開(kāi)始做.NET。

Visual Studio的所有產(chǎn)品都搖身一變,加上了.NET后綴,Visual Basic也不例外,成了VB.NET。

VB.NET徹底改變了最初的產(chǎn)品精神,變成了更復(fù)雜,功能更全的編程語(yǔ)言,開(kāi)始和C#一起共享很多復(fù)雜的概念,線程、繼承、多態(tài),學(xué)習(xí)曲線陡然升高。

但是在.NET平臺(tái)上,C#才是親兒子,是微軟的戰(zhàn)略產(chǎn)品,既然底層的概念都類似,為什么不選C#呢?

在一篇微軟的博客中,.NET 講師 David Platt痛斥微軟產(chǎn)品犯的錯(cuò)誤:

幾乎所有的VB6程序員都對(duì)VB6很滿意,這是一輛非常不錯(cuò)的汽車(chē),他們很愿意成為汽車(chē)的司機(jī),至于VB6中缺乏運(yùn)算符重載,多態(tài),他們并不在乎。

但是,微軟團(tuán)隊(duì)聽(tīng)到了3%的司機(jī)的意見(jiàn),這幫人想成為戰(zhàn)斗機(jī)飛行員,他們參加各種會(huì)議,寫(xiě)各種文章,在論壇上發(fā)帖,希望給汽車(chē)增加響尾蛇導(dǎo)彈,安裝加力燃燒器,HUD顯示屏,反導(dǎo)設(shè)施......

微軟最終做到了,這就是VB.NET。

更糟糕的是,微軟發(fā)布的遷移工具是不可靠的,代碼從VB遷移到VB.NET非常困難,很多時(shí)候,用戶需要手工重寫(xiě)。

這徹底打破了開(kāi)發(fā)人員對(duì)VB的信任,VB程序員開(kāi)始搖擺,要么從VB.NET從頭開(kāi)始,要么轉(zhuǎn)向PHP,Python,JavaScript,大多數(shù)人選擇了后者。

Visual Basic 6.0成了最后一個(gè)經(jīng)典的VB版本,一些程序員依然堅(jiān)守,2008年4月,微軟宣布停止支持VB 6 IDE,但是直到今天,Windows依然支持運(yùn)行VB6開(kāi)發(fā)出來(lái)的程序,可見(jiàn)這里有一個(gè)龐大的、遺留VB6程序的部落,不容忽視。

4 反思

2006年,一個(gè)18歲的程序員在郵件列表中問(wèn)了這么一個(gè)問(wèn)題:編程的下一件大事是什么?

沒(méi)想到,著名的 Linus Torvalds 竟然回復(fù)了:

幫助簡(jiǎn)化所有日??嗖钍碌墓ぞ?/span>, 例如我個(gè)人認(rèn)為Visual Basic在編程方面比面向?qū)ο笞龅酶?,但人們嘲笑VB是一種糟糕的語(yǔ)言,雖然VB不是一門(mén)偉大的語(yǔ)言,但是VB中的簡(jiǎn)單易用的數(shù)據(jù)庫(kù)接口比面向?qū)ο笠匾枚?.....”

轉(zhuǎn)眼間,Visual Basic已經(jīng)誕生30多年了,但是編程并沒(méi)有變得比九十年代簡(jiǎn)單,相反變得更復(fù)雜了,還專門(mén)分離出了前端來(lái)處理UI相關(guān)的問(wèn)題,還有層出不窮的框架,讓人難受的、復(fù)雜的CSS,瀏覽器兼容問(wèn)題...... 這些苦差事和30年前用拖拽的方式建立界面有天壤之別。

我們現(xiàn)在其實(shí)缺少像Visual Basic這樣的隱藏復(fù)雜性的工具,它功能有限但是足夠,學(xué)習(xí)曲線短,可以快速上手,迅速開(kāi)發(fā)出應(yīng)用出來(lái)。

下一個(gè)時(shí)代的Visual Basic會(huì)在哪兒呢?

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Bill Gates 和 Linus Torvalds 同時(shí)推崇的編程語(yǔ)言,不可復(fù)制的經(jīng)典
VB編程(Visual Basic編程與應(yīng)用)
你該學(xué)什么程序語(yǔ)言
Visual Basic是什么
程序員入門(mén)必讀:編程語(yǔ)言爭(zhēng)霸 霸主是他
C . C .VC .java.vb和C#有什么區(qū)別
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服