Какво е новото във Visual Basic 2010 - Софтуерни продукти
Коеволюция
В миналото Visual Basic и C# бяха разработени от отделни екипи, което често водеше до езикови функции на единия език преди другия. Например, C# имаше автоматично имплементирани свойства и набор от инициализатори, които Visual Basic нямаше, а Visual Basic отдавна имаше функции като късно свързване и незадължителни параметри, които C# нямаше. Но веднага щом дадена езикова функция се появи на един от тези езици, много клиенти започнаха да искат да добавят еквивалентна функция на друг език.
В крайна сметка Microsoft реши да обедини екипите на Visual Basic и C#, възприемайки стратегия за съвместна еволюция. Целта е очевидна - съвместното развитие на езиците. Когато се въведе значителна нова функционалност на един език, тя трябва да се появи и на другия. Това не означава, че всяка функция трябва да присъства и на двата езика и да работи по абсолютно същия начин; всъщност всеки език има своя история, свой дух – всичко това е важно да се съхрани. По този начин коеволюцията предполага, че всеки проблем, който е лесен за решаване на един от езиците, трябва да бъде също толкова лесен за решаване на другия.
.NET Framework 4 направи огромни стъпки в тази посока както във Visual Basic, така и в C#, като добави редица функции към всеки, който вече присъстваше в другия. Но съвместната еволюция не е обвързана само с минали постижения – тя е и стратегия за бъдещи иновации в тези езици. За да направи това, .NET Framework 4 въвежда мощни нови функции като Dynamic Language Runtime, Embed Interop Types и generic variance, които се поддържат и на двата езика едновременно, което ще позволиРазработчиците на Visual Basic и C# да се възползват напълно от .NET Framework 4.
Нови функции във Visual Basic 2010
Тези инструменти са предназначени да ви позволят да правите повече с по-малко редове код. Ние (дизайнерският екип на Visual Basic) разгледахме места, където разработчиците често трябваше да пишат много досаден шаблонен код и разгледахме начините, по които компилаторът може да свърши работата. Това е голямата картина; Сега нека разгледаме по-подробно някои от възможностите.
Неявно продължение на реда
Visual Basic е редово-ориентиран език, който използва ясен, подобен на английски синтаксис, за да подобри четливостта на кода. Но това често кара редът да надхвърли ограничението от 80 знака на ред, принуждавайки програмистите да превъртат напред-назад. Можете да използвате долна черта, за да кажете на компилатора, че следващият ред е част от текущия (т.е. множество физически редове се интерпретират като единичен логически ред). Въпреки това, постоянното въвеждане на тези долни черти винаги е било досадно и в продължение на много години най-популярното искане беше компилаторът да „разпознава сам продължението на реда“.
И във Visual Basic 2010 компилаторът е научил това. Вече знае кои токени (като запетаи, скоби и оператори) се появяват вдясно преди знака за продължение на реда и вмъква самия този знак, така че разработчиците вече не трябва да мислят за това. Да кажем, че запетая не е позволена да завършва израз на Visual Basic; компилаторът знае това, така че когато открие поток от токени като , той логично разпознава наличието на знак за продължение на реда, както е показано в примера нафиг. 1.
Ориз. 1Логическо разпознаване на продължението на реда
Във Visual Basic 2008, в кода на фигура1 ще изисква девет долни черти. Сега обаче във всеки от тези случаи компилаторът сам определя кога е необходимо долната черта и позволява тя да бъде пропусната:
Тази нова функция на компилатора е особено удобна в показания примерен подпис на метода, който би бил далеч над 80 знака, ако всяка част беше на един и същи ред. Нафиг. 2 изброява всички комбинации от токени и техните местоположения, в които знакът за продължение на реда е имплицитно заместен.
Ориз. 2Случай, в който се подразбира косвеното използване на знаци за продължение на реда