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