Programmēšana

Visual Basic ir nepāra cilvēks jaunajā .NET

Pagājušās nedēļas emuāra ziņojumu sērijā Microsoft sīki aprakstīja būtiskas izmaiņas attiecībā uz .NET valodu attīstību. Tās bija labas ziņas C # un F # izstrādātājiem, taču, lai gan Microsoft pozitīvi vērtēja to, ko izmaiņas nozīmēja Visual Basic, cienījamās valodas ilgtermiņa nākotne šķiet mazāk droša.

Microsoft Visual Basic jau sen ir bijusi viena no pasaules, ja ne iecienītākajām, tad, protams, viena no visplašāk izmantotajām valodām, un tā patiešām Microsoft izvirzīja uzņēmuma darbības centrā. No pirmajām sešām iterācijām kā klienta-servera lietojumprogrammu izstrādes valoda līdz atdzimšanai kā daļa no .NET platformas, Visual Basic ir bijis sākuma rīks, lai ātri izveidotu uzņēmuma lietojumprogrammas. Tas daļēji ir saistīts ar tā lielo lietotāja saskarnes komponentu bibliotēku, kā arī savienotājiem ar kopīgām datu bāzēm un komponentu modeli, kas trešajām pusēm ļāva veidot uzņēmumus, nodrošinot papildu funkcionalitāti.

Pārejai uz .NET kā Microsoft attīstības stratēģijas pamatam bija jēga jaunām valodām, piemēram, C #, taču tas nozīmēja izmaiņas Visual Basic, kur kodu nevarēja viegli migrēt no vecās Visual Basic uz jauno VB.NET.

Izstrādātājiem tā bija sarežģīta pāreja, un Visual Basic sāka zaudēt prātu gan uzņēmuma attīstībā, gan Microsoft iekšienē. Pat ja tā, Microsoft solīja saglabāt C # un VB.NET sinhronizāciju. Funkcijas, kas izveidotas C #, kļūtu par daļu no Visual Basic, abām valodām attīstoties kopā. Iemesls bija tāds, ka tos bieži izmantoja vienam un tam pašam uzdevumam, un to pamatā bija vienāds raksturs: abas izteikti rakstītās, objektorientētās valodas, kas strādā ar vieniem un tiem pašiem rīkiem.

Visual Basic un C #: nāk jauna atšķirība

Līdz ar pagājušās nedēļas paziņojumu šī kopīgā attīstība vairs nav. Microsoft ļaus abām valodām iet dažādos veidos, sākot ar drīzumā iznākošo Visual Basic 15.

Tā nav pārsteidzoša šķiršanās. C # popularitāte ir pieaugusi ar lēcieniem un robežas, savukārt Visual Basic ir lēnām slīdējusi lejup pa diagrammām, gandrīz pazūdot no tādu populāru programmēšanas vaicājumu vietņu radara kā Stack Overflow. Lietošanas gadījumi arī mainās: Visual Basic joprojām ir vērsts uz sākotnējo klienta-servera paradigmu, savukārt C # ir kļuvis par rīku n- vairākas tīmekļa lietojumprogrammas, kas darbojas mākoņos un telpās. Tā kā arvien vairāk lietotņu ir izveidotas darbam ar tīmekli un mākoni, nav pārsteidzoši, ka C # kļūst par pirmo izvēli daudziem projektiem.

Arī valodu attīstībā ir izmaiņas. C # ir pārgājis uz atvērta dizaina modeli, kas nozīmē, ka tā lietotāji ir vadītāja sēdeklī, lai piešķirtu prioritāti jaunām funkcijām, pateicoties aktīvam adresātu sarakstam un publiskai GitHub repozitorijai. Microsoft jau ir uzņēmis jaunas funkcijas ārpus uzņēmuma - lielas pārmaiņas salīdzinājumā ar tradicionālajiem valodu inženierijas procesiem, kas koncentrējās uz tās izpētes grupām un iekšējām produktu pārvaldības komandām.

Visual Basic ir arī atvērts dizaina modelis, taču tam ir atšķirīgas prioritātes nekā C #. Tā jau atbalsta C # funkciju apakškopu pašreizējās būvēs kā daļu no Visual Studio 2017 izlaiduma kandidāta.

Tā kā C # turpina atšķirties no Visual Basic, mēs redzēsim, kā abas valodas attīstās atsevišķi, lai gan tām vajadzētu būt iespējai strādāt kopā. Abiem joprojām ir jārisina vieni un tie paši .NET API, un abi joprojām būs daļa no Visual Studio rīkiem.

Ko šīs izmaiņas nozīmē uzņēmumu izstrādātājiem

Pašlaik uzņēmumiem ir ļoti maz ko darīt, lai novērstu šīs atšķirības.

Bet nākotnē Visual Basic noteikti ir iespējas veikt daudzplatformu darbu, jo tas pāriet uz .NET Standard bāzes klases bibliotēku kopas atbalstīšanu līdzās pazīstamajam .NET Framework. Kaut arī daži kodi būs pārnēsājami, ne visi Visual Basic kodi varēs pāriet no viena bibliotēku komplekta uz citu mazāku kopu. Iespējams, ka esošais kods paliks tikai operētājsistēmā Windows un tikai lokālās lietojumprogrammās.

Kā izstrādātājam jums būs jāizvēlas, vai Visual Basic kodu ienest jaunākās platformās, izmantojot .NET Standard, vai pāriet uz tādām valodām kā C #, kas piedāvā plašāku mērķa ietvara un ierīču klāstu.

Tā kā .NET Standard ir paredzēts visām .NET platformām, tas ir svarīgs ekvalaizers. Tomēr tas nav nepieciešams visās .NET valodās. Lai gan Visual Basic tas būs nepieciešams sistēmās, kurām nav pilnīgas .NET Framework, C # varēs tieši adresēt tādas platformas kā .NET Core, piekļūstot tās API. Tas arī atvieglo C # atvasinājumiem, piemēram, Unity, atbalstīt savus specializētos API.

C # ar atbalstu .NET Framework operētājsistēmā Windows un atvērtā koda .NET Core (darbojas Nano Server un konteineros) kļūs par pirmo mākoņa un mobilo lietojumprogrammu izvēli, savukārt F # funkcionālais programmēšanas modelis būs ideāls finanšu pakalpojumiem un lietojumprogrammas, kas balstās uz mašīnmācīšanos.

Viens skaidrs šo izmaiņu virzītājspēks ir Microsoft iegūtais Xamarin. Korporācijai Microsoft ir nepieciešams starpplatformu rīku komplekts, lai atbalstītu plašāku mobilo ierīču klāstu, un Windows Mobile nespēj iegūt uzņēmuma tirgus daļu, kā cerēts. Pat tādās Windows Mobile draudzīgās ģeogrāfiskās vietās kā Lielbritānija iOS un Android kopā ir vairāk nekā 80 procenti tirgus. Microsoft izstrādātājiem, kuri vēlas izveidot mobilās priekšējās daļas savām lietojumprogrammām, būs jāizmanto tādi rīki kā Xamarin, lai mērķētu uz dominējošajām mobilajām platformām.

Xamarin koncentrējoties uz C #, Microsoft ir skaidri jāpasaka, ka turpmāk C # ir pirmās klases .NET valoda. Lai gan tas nav skaidri norādīts Microsoft jaunākajos valodas paziņojumos, tas ir stingri domāts.

Kā jums vajadzētu pārvaldīt uzņēmuma valodas stratēģiju

Tas nav atvadīšanās no Visual Basic, taču ir pienācis laiks novērtēt, kur atrodaties un kur vēlaties būt. Esošās Visual Basic lietojumprogrammas var turpināt attīstīt, taču, attīstoties pamatā esošajai .NET platformai, jums vajadzētu sagaidīt, ka Visual Basic izstrādātājiem būs pieejama tikai .NET API apakškopa. Lai gan tas, visticamāk, īstermiņā neradīs problēmu, jums vajadzētu sagatavoties ilgtermiņa pārejai uz C # vai F #, it īpaši, ja plānojat izmantot mobilo vai starpplatformu lietojumprogrammu lietotāju pieredzi.

Šķiet skaidrs, ka labākais risinājums, lai izvairītos no tehnisko parādu pārsniegšanas, ir padarīt C # par prioritāti jaunai attīstībai. C # ir pirmās klases atbalsts un lietotāja virzīts dizaina modelis. Tā ir arī Microsoft starpplatformu izstrādes un tās universālās Windows platformas pamatā. Tas nozīmē, ka jūs varat uzrakstīt biznesa loģiku vienreiz, pēc tam nodrošināt pielāgotu lietotāju pieredzi tīmeklim, Windows 10, iOS, Android un MacOS. Ir arī pietiekami daudz valodu kopīguma, lai izstrādātājiem būtu jāspēj salīdzinoši viegli veikt pārejas, pēc sākotnējās apmācības iegūstot jaunas funkcijas.