Ohjelmointi

Visual Basic on outo mies uudessa .NET-versiossa

Viime viikolla julkaistussa blogiviestisarjassa Microsoft tarkensi perusteellisia muutoksia .NET-kielten kehittämiseen. Se oli hyvä uutinen C # - ja F # -kehittäjille, mutta vaikka Microsoft antoi positiivisen kehityksen sille, mitä muutokset merkitsivät Visual Basicille, kunnioitettavan kielen pitkän aikavälin tulevaisuus näyttää olevan vähemmän varma.

Microsoftin Visual Basic on jo pitkään ollut yksi maailman suosituimmista kielistä, mutta varmasti yksi yleisimmin käytetyistä kielistä, ja se on todella asettanut Microsoftin yritystoiminnan keskelle. Kuusi ensimmäistä iteraatiota asiakas-palvelin-sovelluskehityksen kielenä aina uudestisyntymiseen osana .NET-alustaa, Visual Basic on ollut valintatyökalu yrityssovellusten nopeaan kehittämiseen. Tämä johtuu osittain sen massiivisesta käyttöliittymäkomponenttien kirjastosta, yhteisten tietokantojen liittimistä ja komponenttimallista, jonka ansiosta kolmannet osapuolet voivat rakentaa yrityksiä tarjoamalla lisätoimintoja.

Siirtyminen .NETiin Microsoftin kehitysstrategian perustana oli järkevää uusille kielille, kuten C #, mutta se tarkoitti muutoksia Visual Basiciin, jossa koodi ei voinut helposti siirtyä vanhasta Visual Basicista uuteen VB.NET: ään.

Se oli haastava kehitys kehittäjille, ja Visual Basic alkoi menettää mielen osuuttaan yrityksen kehityksessä - ja Microsoftissa. Silti Microsoft lupasi pitää C #: n ja VB.NET: n synkronoituna. C #: lle luotuista ominaisuuksista tulisi osa Visual Basicia, nämä kaksi kieltä kehittyvät yhdessä. Syynä oli se, että niitä käytettiin usein samaan tehtävään ja niillä oli sama taustalla oleva luonne: molemmat voimakkaasti kirjoitetut, olio-orientoidut kielet, jotka työskentelivät samoilla työkaluilla.

Visual Basic ja C #: Uusi ero on tulossa

Viime viikon ilmoituksen myötä kyseinen evoluutio on poissa. Microsoft antaa näiden kahden kielen mennä eri tavoin alkaen pian julkaistavasta Visual Basic 15: stä.

Se ei ole yllättävää avioeroa. C #: n suosio on kasvanut harppauksin, kun taas Visual Basic on hitaasti laskenut kaavioita alas ja melkein kadonnut suosittujen ohjelmointikyselysivustojen, kuten Stack Overflow, tutkasta. Myös käyttötapaukset muuttuvat: Visual Basic on edelleen keskittynyt alkuperäiseen asiakas-palvelin-paradigmaan, kun taas C #: sta on tullut työkalu n- useampia verkkopohjaisia ​​sovelluksia, jotka toimivat pilvessä ja toimitiloissa. Kun yhä useampi sovellus on rakennettu toimimaan verkossa ja pilvessä, ei ole yllättävää, että C #: stä on tulossa ensimmäinen valinta monissa projekteissa.

Myös kielten kehityksessä on muutoksia. C # on siirtynyt avoimeen muotoilumalliin, mikä tarkoittaa, että sen käyttäjät ovat kuljettajan istuimella priorisoimaan uusia ominaisuuksia aktiivisen postituslistan ja julkisen GitHub-arkiston ansiosta. Microsoft on jo ottanut uusia ominaisuuksia yrityksen ulkopuolelta - suuri muutos perinteisiin kielitekniikan prosesseihin, jotka keskittyivät tutkimusryhmiin ja sisäisiin tuotehallintaryhmiin.

Visual Basicilla on myös avoin suunnittelumalli, mutta sillä on erilaiset prioriteetit kuin C #: lla. Se tukee jo osaa C #: n ominaisuuksista nykyisissä rakennelmissa osana Visual Studio 2017: n julkaisukandidaattia.

Kun C # eroaa edelleen Visual Basicista, näemme näiden kahden kielen kehittyvän erikseen, vaikka heidän pitäisi pystyä toimimaan yhdessä. Molempien tulisi silti käsitellä samoja .NET-sovellusliittymiä, ja molemmat kuuluvat edelleen Visual Studio -työkaluihin.

Mitä nämä muutokset tarkoittavat yrityskehittäjille

Tällä hetkellä yrityksillä on hyvin vähän tekemistä tämän tulevan eron suhteen.

Mutta tulevaisuudessa Visual Basicissa on varmasti mahdollisuudet alustojen väliseen työskentelyyn, sillä se siirtyy tukemaan .NET Standard -sarjaa perusluokan kirjastoja tutun .NET Frameworkin rinnalla. Vaikka osa koodista on kannettava, kaikki Visual Basic -koodit eivät pysty siirtymään yhdestä kirjastosarjasta toiseen pienempään sarjaan. Todennäköisesti nykyinen koodi pysyy puhtaasti Windowsissa ja puhtaasti paikallisissa sovelluksissa.

Kehittäjänä joudut valitsemaan joko tuomaan Visual Basic -koodin uudemmille alustoille .NET Standardin kautta tai siirtymään kielille, kuten C #, jotka tarjoavat laajemman valikoiman kohdekehyksiä ja laitteita.

Koska .NET Standard on tarkoitettu kaikille .NET-alustoille, se on tärkeä taajuuskorjain. Se ei kuitenkaan ole välttämätön kaikille .NET-kielille. Vaikka Visual Basic tarvitsee sitä järjestelmissä, joissa ei ole täydellistä .NET Frameworkia, C # pystyy osoittamaan alustoja, kuten .NET Core, suoraan sen sovellusliittymiin. Tämä helpottaa myös C # -johdannaisten, kuten Unityn, tukea omia erikoistuneita sovellusliittymiään.

C #, joka tukee .NET Frameworkia Windowsissa ja avointa lähdekoodia .NET Core (toimii Nano Server -palvelimessa ja säiliöissä), tulee olemaan ensimmäinen valinta pilvi- ja mobiilisovelluksille, kun taas F # -toiminnallinen ohjelmointimalli on ihanteellinen rahoituspalveluille ja koneoppimiseen perustuvat sovellukset.

Yksi selvä ajuri näille muutoksille on Microsoftin Xamarin-hankinta. Microsoft tarvitsee alustojen välisen työkalusarjan tukemaan laajempaa valikoimaa mobiililaitteita, eikä Windows Mobile pysty saavuttamaan yrityksen markkinaosuutta toivotulla tavalla. Jopa Windows Mobile -ystävällisillä maantieteellisillä alueilla kuten Isossa-Britanniassa, iOS: lla ja Androidilla on yhdessä yli 80 prosenttia markkinoista. Microsoftin kehittäjien, jotka haluavat rakentaa mobiileja käyttöliittymiä sovelluksilleen, on käytettävä Xamarinin kaltaisia ​​työkaluja kohdistamaan hallitsevat mobiilialustat.

Xamarin keskittyy C #: een, joten Microsoftin on tehtävä selväksi, että C # on jatkossa ensimmäisen luokan .NET-kieli. Vaikka se ei ole nimenomaista Microsoftin viimeaikaisissa kieli-ilmoituksissa, se on vahvasti implisiittinen.

Yrityskielistrategian hallinta

Tämä ei ole Visual Basicin hyvästit, mutta on aika kartoittaa missä olet ja missä haluat olla. Olemassa olevien Visual Basic -sovellusten kehittämistä voidaan jatkaa, mutta taustalla olevan .NET-alustan kehittyessä on odotettavissa, että Visual Basic -kehittäjien käytettävissä on vain osa .NET-sovellusliittymiä. Vaikka se ei todennäköisesti ole ongelma lyhyellä aikavälillä, sinun on valmistauduttava pidemmän aikavälin siirtymiseen C # tai F #, varsinkin jos suunnittelet sovelluksillesi joko mobiilikäyttöä tai alustojen välistä käyttäjäkokemusta.

Vaikuttaa selvältä, että paras vaihtoehto välttää teknisen velan ylitys on tehdä C #: stä etusijasi uudelle kehitykselle. C #: llä on ensiluokkainen tuki ja käyttäjälähtöinen suunnittelumalli. Se on myös Microsoftin alustojen välisen kehityksen ja sen Universal Windows -alustan ydin. Tämä tarkoittaa, että voit kirjoittaa liiketoimintalogiikan kerran ja sitten tarjota mukautettuja käyttökokemuksia verkolle, Windows 10: lle, iOS: lle, Androidille ja MacOS: lle. Kielellä on myös tarpeeksi yhteistä, että kehittäjien pitäisi pystyä tekemään suhteellisen helposti siirtymät ja ottamaan käyttöön uusia ominaisuuksia peruskoulutuksen jälkeen.