日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Visual Basic 兴衰记

發(fā)布時(shí)間:2023/12/4 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Basic 兴衰记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這是一篇暴露年齡的文章。為什么這么說?因?yàn)楝F(xiàn)在年輕的程序員可能沒有接觸過當(dāng)年紅極一時(shí)的 Visual Basic。28 年前的 1991 年 4 月,Microsoft 發(fā)布了 Visual Basic 1.0 for Windows,次年 9 月,發(fā)布了 Visual Basic 1.0 for DOS。這在當(dāng)時(shí)引起了很大的轟動(dòng),許多專家把 VB 的出現(xiàn)當(dāng)做是軟件開發(fā)史上的一個(gè)具有劃時(shí)代意義的事件。以現(xiàn)在的眼光來看,VB1.0 版的功能其實(shí)非常弱,但它在推出時(shí)可是第一個(gè) “可視” 的編程軟件。這使得程序員欣喜之極,都嘗試在 VB 的平臺(tái)上進(jìn)行軟件創(chuàng)作。到了 1998 年夏天,Microsoft 發(fā)布了 VB 6,這是 VB.NET至今仍然無法完全取代的版本。但隨著.NET 的興起,VB 開始走上下坡路。它是如何興起的,又是如何衰落的?讓我們跟著 Matthew MacDonald 的腳步笑看 VB 的風(fēng)起云落吧!

28 年過去了,我們終于要目睹世界上最流行的語言之一,Visual Basic ,開始衰落了嗎?

我要坦白一件事,在我成為一名受人尊敬的開發(fā)者,使用像 C# 和 Java(以及我們稱之為 JavaScript 的熱門平臺(tái))這樣的現(xiàn)代大括號編程語言之前,我曾經(jīng)是廣受歡迎,又有些不合時(shí)宜的 Visual Basic 的忠實(shí)粉絲。

坦白說,我對 Visual Basic 的迷戀是這樣開始的:當(dāng)我還是個(gè)十幾歲的孩童時(shí),我就學(xué)會(huì)了使用 BASIC 語言編程,但不僅僅是任何 BASIC 語言。我是從 Microsoft 那個(gè)古董級的 DOS 操作系統(tǒng)上開創(chuàng)性的 QuickBASIC 環(huán)境開始的。至今我仍然記得在藍(lán)色背景下用白色文本來編寫代碼的場景。

對于 1998 年的編程來說,QuickBASIC 是不可思議的編程語言。你可以編寫不帶笨拙行號的代碼,在鍵入代碼時(shí)能夠?qū)崟r(shí)捕獲語法錯(cuò)誤,并直接從開發(fā)環(huán)境中啟動(dòng)程序,而不需要用命令行的方式來啟動(dòng)。當(dāng)你完成代碼編寫后,你還可以用這些軟盤來跟你的朋友分享你的程序:

如今,QuickBASIC 只是對遙遠(yuǎn)過去的另一種好奇心。真的是這樣嗎?一個(gè)叫做 QB64 的創(chuàng)新項(xiàng)目創(chuàng)造了現(xiàn)代的 QuickBASIC 復(fù)刻版。它無需模擬器就可以運(yùn)行在 Windows、MacOS 和 Linux 上。當(dāng)你用 QB64 運(yùn)行一個(gè)程序時(shí),它會(huì)運(yùn)用一個(gè)很巧妙的手法:首先將你的 BASIC 代碼翻譯成 C++,然后再進(jìn)行編譯。

經(jīng)典 VB 和可視化時(shí)代

對于古老的,基于文本的計(jì)算機(jī)系統(tǒng)來說,QuickBASIC 是一項(xiàng)令人印象深刻的壯舉。但當(dāng) Microsoft 發(fā)布 Windows,將 PC 用戶帶到了一個(gè)由按鍵和點(diǎn)擊組成的圖形世界時(shí),游戲規(guī)則發(fā)生了變化。在 Microsoft 發(fā)布第一個(gè)真正成功的 Windows 3.0 的同時(shí),他們也發(fā)布了 Visual Basic 1.0。

這是個(gè)全新的事物。你可以通過在窗口的表面上繪制按鈕來為程序創(chuàng)建按鈕,就像它是某種藝術(shù)畫布一樣。要讓按鈕執(zhí)行某些操作,你所要做的事就是在設(shè)計(jì)環(huán)境中,雙擊這個(gè)按鈕并編寫一段代碼即可。而且,你沒有使用神秘的 C++ 代碼,也沒有使用成堆的類、復(fù)雜的內(nèi)存管理以及對 Windows API 的晦澀的調(diào)用。相反,你就像一個(gè)文明人一樣編寫了友好的 VB 代碼。

所有圖形化的魅力讓人印象深刻,但 VB 成功的真正秘訣在于它的實(shí)用性。開發(fā)人員根本就沒有其他工具可以像 VB 那樣繪制出一個(gè)完整的用戶界面并快速編寫代碼。盡管歷史學(xué)家喜歡談?wù)?Visual Basic 的可視化部分,但它的“招牌”能力卻與圖形化的小部件無關(guān)。相反,VB 是因一個(gè)傳奇性的特性而出名,這個(gè)特性叫做“編輯并繼續(xù)”(edit-and-continue),允許開發(fā)人員運(yùn)行他們的程序,發(fā)現(xiàn)并解決問題,然后繼續(xù)使用新的代碼。這與人們已知的幾乎所有其他編程環(huán)境截然不同,這些環(huán)境迫使開發(fā)人員重新編譯他們的工作,并在每次更改之后重新開始。

最初的 Visual Basic 蓬勃發(fā)展了大約十年。一開始是一個(gè)對初學(xué)者友好的開發(fā)環(huán)境,后來發(fā)展成了一個(gè)足以讓嚴(yán)肅的程序員使用的工具。通過 VB 6 的發(fā)布,這是經(jīng)典 Visual Basic 的最后一個(gè)版本,據(jù)估計(jì),用 VB 編寫的代碼量是很難用的 C++ 編寫的代碼量的十倍。而且,它們并不僅僅是在模仿玩具應(yīng)用程序。Visual Basic 通過 ASP(Active Server Pages,動(dòng)態(tài)服務(wù)器網(wǎng)頁)進(jìn)入了公司的辦公室,甚至連到網(wǎng)絡(luò),這是另一種非常流行的技術(shù)。現(xiàn)在,你可以創(chuàng)建于 VB 組件交互的 Web 頁面,稱為數(shù)據(jù)庫,并動(dòng)態(tài)編寫 HTML。所有這些幾乎都是在沒有結(jié)構(gòu)的情況下發(fā)生的,除非你自己選擇創(chuàng)建一個(gè)結(jié)構(gòu)。這是 Visual Basic 的一個(gè)不成文主題,它給了你現(xiàn)在的自由,以后你會(huì)后悔的。

經(jīng)典 VB 的問題

經(jīng)典 VB 在很多圈子里聲名狼藉。面向?qū)ο蟮目駸岱肿咏?jīng)常抱怨 VB 缺乏對繼承的支持。(其實(shí)這是一個(gè)奇怪的批評,因?yàn)閷τ诓惶炀毜拈_發(fā)者來說,繼承常常是搬起石頭砸自己的腳的好方法,而這正是 VB 不需要的那種功能。)事實(shí)上,經(jīng)典的 VB 并非面向?qū)ο蟮摹皯袧h”。在它的生命周期結(jié)束時(shí),它已經(jīng)支持接口、多態(tài)性和類庫,而所有這些都是從 COM 借鑒來的,COM 是組件技術(shù)的核心部分,它硬鏈接到 Windows 的每個(gè)版本中。

經(jīng)典 VB 的真正問題在于它太過成功。它極為有效地降低了新程序員的學(xué)習(xí)障礙,使得幾乎任何人都可以使用 VB 進(jìn)行編程。粗心大意的新手、無聊的公司員工和暑期學(xué)生都紛紛涌進(jìn)來,解決了在任何其他平臺(tái)上更為困難的挑戰(zhàn),到處都是意大利面條式的代碼。

換句話說,因?yàn)?VB 很容易使用,即使你不是一名訓(xùn)練有素的程序員,VB 也很容易使用,所以很多沒有受過專業(yè)訓(xùn)練的程序員都在使用 VB。而 VB 卻從來沒有采取任何措施來鼓勵(lì)他們糾正自己的壞習(xí)慣。

VB.Fred 與 .NET 解決方案

快進(jìn)到 2002 年,Microsoft 正在做它最擅長的事情,通過引入一種全新的做事方式,顛覆了自己的開發(fā)生態(tài)系統(tǒng)。

這一次,這個(gè)項(xiàng)目是對 COM 的大規(guī)模重構(gòu),而組件技術(shù)是支撐 Windows (以及間接的經(jīng)典 VB)的基礎(chǔ)。對于一家已經(jīng)下過幾次這樣的賭注的軟件巨頭來說,這是一個(gè)孤注一擲的時(shí)刻。

Microsoft 之所以將這次重新啟動(dòng)命名為 .NET,是因?yàn)橐恍┛梢傻脑?#xff0c;包括互聯(lián)網(wǎng)技術(shù)仍然是嶄新的、令人興奮的事實(shí),以及因?yàn)?.NET 包含了 Microsoft 一心要推廣的 Web 服務(wù)功能。它深受 Java 的影響,并且包含了許多工具,用于與數(shù)據(jù)庫通信、構(gòu)建網(wǎng)站、編寫多線程程序、通過套接字建立連接的工具,這些幾乎是所有業(yè)務(wù)開發(fā)人員能想象到的用例。

唯一的問題是,為了獲得這些新特性,Microsoft 不得不放棄幾乎所有的經(jīng)典 VB。

如果你仔細(xì)看的話,就會(huì)發(fā)覺,新版本 VB.NET 看起來還是個(gè)老樣子。但它還是有許多大大小小的突破性變化。從大的方面來說,舊的 VB 程序?qū)⑹芾в诶吓f的編程世界中,而一個(gè)極其糟糕的遷移向?qū)缀鯖]有改變這一點(diǎn)。從小的方面來說,經(jīng)典 VB 的程序員必須改變他們計(jì)算數(shù)組元素的方式。他們再也不能像普通人那樣從 1 開始了。現(xiàn)在他們必須從 0 開始,就像正式的程序員一樣。

還有一個(gè)大的方面:開發(fā)人員是眾所周知的抱怨者,而 VB 開發(fā)人員尤甚。不久,一群有影響力的 VB 開發(fā)人員將 Microsoft 的新編程環(huán)境命名為 VB.Fred,并強(qiáng)調(diào)無論它是什么,這種新語言都不是 Visual Basic。

是什么宣判了 Visual Basic 的命運(yùn)

你可能會(huì)認(rèn)為,是 .NET 的變化毀壞了 VB 的基礎(chǔ),并讓 VB 不可避免地走向衰落。但事實(shí)并非如此。事實(shí)上,盡管 VB.NET 朝著一個(gè)新的方向發(fā)展,并作出了一些突破性的改變,這些改變使優(yōu)秀的經(jīng)典 VB 代碼成為無人能識(shí)的代碼,但它卻變得非常受歡迎。那是因?yàn)?VB.NET 提供了 VB 開發(fā)人員以前從未有過的東西:尊重。

在 .NET 世界中,VB 和 C# 處于平等的地位。每一行 VB 代碼都可以轉(zhuǎn)換成等效的 C# 代碼行,反之亦然。兩種語言都具有相同的功能,使用相同的組件,并編譯為完全相同的形式,我們稱其為中間語言(intermediate language)。VB 終于擺脫了“丑小鴨綜合癥”。

但是,作為另一種受人尊敬的編程語言,它也存在一個(gè)問題。人們對 VB 的熱情消失了,不再是許多人的首選語言了。這不是因?yàn)?VB 變了,而是因?yàn)?C# 變了。

正如 VB 獲得了與 C# 相同的功能一樣,C# 也獲得了與 Visual Basic 相同的便利。例如,.NET 的類型安全和內(nèi)存管理功能意味著 C# 開發(fā)人員永遠(yuǎn)無須擔(dān)心內(nèi)存泄漏問題,就像 VB 開發(fā)人員一樣。

換句話說,C# 現(xiàn)在有了保護(hù)業(yè)余愛好者、學(xué)生和新程序員的“護(hù)欄”,而又不放棄它的力量。突然之間,VB 不再是什么特別的東西了,它只不過是一個(gè)有能力的程序員工具包中的另一個(gè)工具罷了。

Visual Basic 當(dāng)前的現(xiàn)狀

今天,Visual Basic 正處于一個(gè)奇怪的位置。在專業(yè)開發(fā)人員中,幾乎沒有人使用 Visual Basic,它甚至都沒有出現(xiàn)在專業(yè)開發(fā)人員調(diào)查中的清單,也沒有出現(xiàn)在 GitHub 存儲(chǔ)庫中。然而,Visual Basic 仍然在那兒,將 Office 的宏連接在一起,為舊的 Access 數(shù)據(jù)庫和古老的 ASP 網(wǎng)頁提供支持,并吸引 .NET 新手。TIOBE 索引?試圖通過查看搜索引擎的結(jié)果來衡量語言的流行程度,它仍然將 VB 排在最受關(guān)注的五大編程語言之列。

但這種勢頭似乎已經(jīng)發(fā)生了最后一次變化。2017 年,Microsoft 宣布,它將開始為 C# 添加新的語言功能,而這些功能可能永遠(yuǎn)不會(huì)出現(xiàn)在 Visual Basic 中。這一變化并沒有使 VB 回到丑小鴨狀態(tài),但它確實(shí)消除了 VB 的一些 .NET 狀態(tài)。

事實(shí)上,將 VB 邊緣化的趨勢已經(jīng)存在多年了。嚴(yán)肅的開發(fā)人員都知道,.NET 的關(guān)鍵部分是用 C# 編寫的。他們知道 C# 是演示文稿、書籍、課程和開發(fā)者研討會(huì)的首選語言。如果你想使用 VB,它并不會(huì)影響你構(gòu)建的應(yīng)用程序,但它可能會(huì)妨礙你和其他開發(fā)人員交流的能力。

Visual Basic 本應(yīng)在教育市場有一個(gè)天然的契合點(diǎn)。但即便如此,它仍然是個(gè)“敗家子”,像 C# 和 Python 這樣的現(xiàn)代語言現(xiàn)在已經(jīng)足夠簡單、安全,完全可以作為他們的第一門語言來學(xué)習(xí)。如果你需要教給小孩更簡單的東西,市場上充斥著像 Scratch 等圖形化編程工具。像 C#、C、JavaScript 這樣的大括號編程語言也有另一種吸引力,因?yàn)樗鼈兌加凶约旱恼Z法。因此,學(xué)過一種編程語言的人很快就能熟練掌握另一種語言。

隨著 Web 開發(fā)的發(fā)展,Microsoft 正眼睜睜地看著機(jī)會(huì)流失。誰不會(huì)被和 VB6 一樣容易使用,還可以編譯成 JavaScript,并與 HTML 表單設(shè)計(jì)器配對的 VB 版本所吸引呢?是的,它并不是構(gòu)建下一個(gè) Google Maps 的適合工具,但它可以重新喚起 Visual Basic 的吸引力,讓商業(yè)開發(fā)人員、學(xué)生和愛好者創(chuàng)建簡單的在線應(yīng)用程序,而不必像 JavaScript 那樣笨拙。相反,Microsoft 創(chuàng)造了一個(gè)基于 VB 的產(chǎn)品,叫做 LightSwitch,但它隨著 Silverlight 瀏覽器插件的消失而消失。如果 Microsoft 開發(fā)出另一款面向大眾的編碼產(chǎn)品,它更有可能是一種低代碼模板驅(qū)動(dòng)的工具,比如 PowerApps。

Visual Basic 以前也不是沒受到過威脅,但這一次感覺不一樣了。作為世界上曾經(jīng)最流行的編程語言之一的太陽,似乎終于要落下了。即使這是真的,Visual Basic 在幾十年內(nèi)也不會(huì)消失。相反,它將會(huì)成為另一種遺留產(chǎn)品,一個(gè)被忽視的工具,沒有激情,也沒有未來。不管我們失去了什么特別的東西,或者,最終讓一條老狗擺脫痛苦,這一切,都由你來決定。

作者介紹:
Matthew MacDonald,技術(shù)作家、教師、程序員。著有幾十本圖書,現(xiàn)在教育孩子學(xué)習(xí)編程和科學(xué)。

?原文地址:https://www.infoq.cn/article/oKQS4-KFJsUBGYMrcYN7


.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Visual Basic 兴衰记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。