作者 | Tim Anderson
策劃 | 壹舟
微軟終于更新.NET編程語(yǔ)言策略了。這是自2017年以來(lái)首次更新!最顯著的變化是Visual Basic(VB)的地位進(jìn)一步削弱,盡管該公司承諾將繼續(xù)“致力于Visual Basic”。
2月6日,首席項(xiàng)目經(jīng)理凱瑟琳·多拉德(Kathleen Dollard)的帖子幾乎沒(méi)有透露任何信息,她表示“你不會(huì)發(fā)現(xiàn)大的變化”,并參考了其他文件細(xì)節(jié)。
1、C# :繼續(xù)創(chuàng)新特別承諾向后兼容,但開(kāi)發(fā)者有話說(shuō)
在三種.NET語(yǔ)言中,C#是目前最流行的語(yǔ)言,也是編寫(xiě)大多數(shù)框架和庫(kù)的語(yǔ)言。微軟承諾繼續(xù)創(chuàng)新,同時(shí)特別承諾向后兼容性,一位開(kāi)發(fā)人員表示,“有必要限制向后兼容的水平。例如,不必繼續(xù)支持非通用集合。”
微軟項(xiàng)目經(jīng)理伊莫·蘭德沃斯(Immo Landwerth)很快做出了回應(yīng),表示“我們永遠(yuǎn)不會(huì)做出如此有影響力的突破性改變”,并對(duì)Windows 8實(shí)驗(yàn)添加了一個(gè)有趣的視角。他說(shuō):“我們?cè)噲D從Windows 8時(shí)代的.NET重新開(kāi)始,但事實(shí)證明它完全行不通。”。
2、金融界流行的F# : 與C#協(xié)同工作
F#是第二種語(yǔ)言,一種在金融界很流行的函數(shù)語(yǔ)言。微軟的戰(zhàn)略是“發(fā)展F#,使其與C#協(xié)同工作,并利用新的.NET運(yùn)行時(shí)和庫(kù)來(lái)改進(jìn)。”還有人提到需要“依靠社區(qū)提供重要的庫(kù)、開(kāi)發(fā)人員工具和工作負(fù)載支持。”
3、尷尬的VB:盡一切必要努力使其成為.NET生態(tài)系統(tǒng)的一流公民
對(duì)于微軟來(lái)說(shuō),尷尬的是第三個(gè),Visual Basic。2017年,C#首席設(shè)計(jì)師Mads Torgersen的一篇博客文章闡述了當(dāng)時(shí)的.NET語(yǔ)言策略,這篇文章比前文Dollard的新文章寫(xiě)得更為詳細(xì)、更有見(jiàn)解。
Torgersen表示,大多數(shù)VB開(kāi)發(fā)人員“正在使用WinForms在Windows中構(gòu)建業(yè)務(wù)應(yīng)用程序,少數(shù)人正在構(gòu)建網(wǎng)站,同時(shí)主要使用ASP.NET Web窗體。”WinForms和Web窗體都是舊框架,這表明VB程序員對(duì)最新技術(shù)的興趣不如C#或F#開(kāi)發(fā)人員。
Torgersen還引用了一項(xiàng)2017年的Stack Overflow調(diào)查,該調(diào)查顯示VB是開(kāi)發(fā)人員必須使用的“最可怕”的語(yǔ)言,盡管正如他所補(bǔ)充的,目前還不清楚這主要是VB.NET還是舊的VB。但無(wú)論如何,VB仍然是Microsoft Office的宏語(yǔ)言。
題外話:五年后,在2022年StackOverflow的調(diào)查中,對(duì)VB的唯一提及是“VBA”,這是一種宏語(yǔ)言,它僅排在倒數(shù)第三位,表的底部被MATLAB占據(jù)。C排名第十,F(xiàn)排名第17。
微軟的VB策略似乎有點(diǎn)改變。2017年,Torgersen承諾該團(tuán)隊(duì)將“盡一切必要努力,使其成為.NET生態(tài)系統(tǒng)的一流公民”。新策略將VB描述為一種“傾向于清晰而非簡(jiǎn)潔”的語(yǔ)言,并表示,當(dāng)C#或.NET運(yùn)行時(shí)獲得新功能時(shí),VB將采用“consumption-only”的方法,并且“我們不打算將Visual Basic擴(kuò)展到新的工作負(fù)載”
多年來(lái)的事實(shí)是:對(duì)于那些想要從.NET中獲得最佳效果的人來(lái)說(shuō),VB并不是最好的語(yǔ)言。這一點(diǎn)早在本世紀(jì)初.NET首次推出時(shí),就板上釘釘了。相較而言,C#是.NET的新語(yǔ)言;而VB卻是為.NET而重新設(shè)計(jì)的,它總是很難讓使用者滿意,甚至不能滿足當(dāng)時(shí)的VB鐵桿粉絲(雖然他們中的許多人都發(fā)誓要繼續(xù)使用VB6)。
微軟很樂(lè)于宣傳公民開(kāi)發(fā)者的重要性,畢竟VB的簡(jiǎn)單英語(yǔ)語(yǔ)法似乎很適合用來(lái)做到這一點(diǎn)。遺憾的是,微軟未能以一種能夠使其對(duì)商業(yè)開(kāi)發(fā)者,更具吸引力的方式對(duì)VB進(jìn)行改進(jìn)。
4、寫(xiě)在最后
.NET作為一個(gè)面向未來(lái)的高度集成的技術(shù)平臺(tái),凝結(jié)了無(wú)數(shù)微軟人的心血,當(dāng)然移動(dòng)時(shí)代的興起,更多的開(kāi)發(fā)者從邁向更適合移動(dòng)端的語(yǔ)言。但這并不妨礙微軟的后發(fā)優(yōu)勢(shì)。
此次語(yǔ)言策略的變更,可以看出,微軟正在重新賦予VB的語(yǔ)言地位,致力于讓其成為一種大眾開(kāi)發(fā)者的語(yǔ)言。而C#、F#正在成為持續(xù)創(chuàng)新的重心。
原文鏈接:https://devclass.com/2023/02/07/microsoft-updates-its-net-language-strategy-keeps-visual-basic-alive-but-near-frozen/