Tõesti, kaks inimkonna ajaloo suurimat sündmust toimusid just üksteise järel:
Esimene sündmus on inimkonnale suurepärane samm ja viimane on Microsofti jaoks veelgi suurem!
Rosetta missioon saab oma koha ajalooraamatutes ja seda mäletatakse nii tihti kui mäletame Korraga . See kujutati ette ja planeeriti hoolikalt kümnendiks, lükkas inimkonna sammu edasi ja näitas, et kümme aastat tagasi välja töötatud tehnoloogia suudab endiselt teha hämmastavaid asju.
Teine sündmus tuli paljudele üllatusena. Seda ei reklaamitud eriti ja ma olen kindel, et selle väljakuulutamise kõiki detaile ei kavandatud kümme aastat tagasi; kuid oli ilmne, et Microsoft läks mõnda aega tagasi seda teed ja .NET core pole esimene asi, mida nad avatud lähtekoodiga ( Roslyn ).
Kas inimkond vajas komeedil sondi? Võib-olla mitte, kuid see on fantastiline, et see maandus! Kas Microsoft vajas .NET-i tuumiku hankimise alustamiseks kolmekuningapäeva? Jah! Neil oli seda vaja rohkem kui kümme aastat tagasi!
Mis muutus ühes maailma suurimas tarkvaraarendusettevõttes? Mis pani neid teed minema OSI ?
Vastavalt .NET raamistiku ajaveeb , on sellel kaks põhjust:
Kuid miks peaks Microsoft aidata arendajatel luua platvormidevahelist .NET-tarkvara? See läheb vastuollu kõigega, mida nad on varem teinud. Microsoft on aastaid surunud omaenda infrastruktuurisüsteeme. Linux ja Mac olid vaenlased, kes vajasid võitmist, mitte liitlased. Mis see kõik on?
Ükskõik, mis nende tegelik motivatsioon on, saavad arendajad sellest parima. Tahaksin tänada Microsofti selle sammu astumise eest. Parem hilja kui mitte kunagi!
Microsofti avatud lähtekoodiga tehnoloogia pikaajaline mõju on tohutu. Tõeline platvormidevaheline .NET mõjutab otseselt hostimise, litsentsimise ja hoolduskulusid. See lihtsustab .NET-rakenduste müümist suurusjärgus, mida ma isegi ei kujuta ette.
Olen veetnud suure osa oma ametialasest karjäärist koodi kirjutades. Minu esimene armastus oli Borland Pascal ja “Sinine ekraan” oli midagi, mida ma vaatasin toona suure austusega. Olen pärast seda kasutanud mitmesuguseid arendusplatvorme ja keeli, kuid olgem ausad - alates Microsofti .NET väljaandmisest on Visual Studio täna parim arenduskeskkond. See on kõikehõlmav teenus, mida üks arendaja või meeskond võib vajada mis tahes tüüpi rakenduse loomiseks. See on tihedalt seotud .NET-kompilaatorite suurepäraste funktsioonidega ja Visual Studio iga uus versioon näeb välja nagu toode, mida ei saa enam laiendada; Microsoftil õnnestub aga pidevalt üllatada, tuues Visual Studio iga uue versiooniga sisse lahedaid uusi funktsioone.
Tarkvara loomine on suurepärane protsess, mis muudab iga arendaja, kellega olen kunagi kohtunud, tundma end loova, leidliku ja täidetuna. Kuid kas olete kunagi proovinud müüa või müügiprotsesse toetada? Ma pole kindel, et iga müügiinimene võib võrrandi osas öelda sama, mis tarkvaraarendajad. Tarkvaraarendusettevõttele müümine on kohutav - peate muretsema paljude tegurite pärast, millel pole tegeliku tarkvaraarendusega mingit pistmist. Müügiosakonnas töötavad inimesed peavad kliente tõestama / veenma, et müüdav toode / teenus on parim, mida kliendid makstava hinna eest saavad; seetõttu on tarkvaraarenduse ja hoolduse kulude kärpimine alati ülioluline. Reaalses maailmas ei lõpe kunagi väärtuse ja kulu arvutamine.
Teisalt pole ettevõtte asutamine kunagi varem olnud nii lihtne. Kui teil on hea mõte, pole liiga keeruline koguda raha, et luua midagi (millegi uusim nimi on Minimal Viable Product, kuid tõenäoliselt värskendatakse seda tulevikus), näidata midagi maailmale, saada positiivset tagasisidet, hankida rohkem rahalisi vahendeid ja korrata, kuni hakkate raha teenima, oma ettevõtte maha müüma või ebaõnnestuma.
Kuidas on tarkvaratoote maksumust kõige lihtsam kärpida? Noh, arendus on midagi, mida peate maksma, ja enamasti maksate lihtsalt oma arendajate tunnitasu, olenemata nende kasutatavast arendusplatvormist; nii et lihtsaim viis kulude kärpimiseks on tarkvara juurutamine keskkonda, mis ei vaja täiendavat litsentsimist. Siin on Microsoft ikka ja jälle läbi kukkunud! Võiksime pidada tuliseid vaidlusi jõudluse, tarkvara kvaliteedi, mastaapsuse jms üle, kuid on lihtne mõista, et .NET-platvorm saab hõlpsasti toime tulla kõigi sellega seotud tehniliste väljakutsetega. Usun, et paljudel juhtudel näitab see oma paremust teiste platvormide ees; kuid ma ei võida sageli arutelusid kasutuselevõtu ja infrastruktuuri litsentsimise üle.
Turg hakkas arendajaid Microsofti arendusplatvormilt eemale tõrjuma ja jah, ma olen üks neist arendajatest. Võtsin kasutusele Node.js kui peamise tagapõhise platvormi, hoolimata sellest, et see pole ikka veel piisavalt küps, et kõigega vaja hakkama saada. Ma armastan Veebitorm ja ma hindan JetBrainsiga tehtud suurepärast tööd, kuid ma armastasin Visual Studio 2013 veelgi. Jah, olen teadlik, et saan Node.js-i rakendusi VS-is kirjutada! Aga kui teid lükatakse C # -lt JavaScripti, SQL Serverist PostgreSQL-i, IIS-ist Apache'ini, siis miks peaksite vaeva nägema Windowsi põhiste arvutitega?
Ma olin tõeline Microsofti evangelist juba enne .NET ilmumist ja kindlasti enne, kui .NET oli avatud lähtekoodiga ja platvormidevaheline. Kuid see kõik suri, kui nad Skype'ilt meilt (sõrme) ära võtsid. Mulle meeldis alati Windowsi platvormidele rakendusi teha. Olen veetnud palju aega ameti näpunäidete õppimiseks ja usun, et olin selles väga osav. Kuid tarkvaraarendusturg muutus viimase kümne aasta jooksul palju. Startup ettevõtted õitsevad kõikjal ja iga uus klient otsib kõige tasuvamat lahendust. Microsoft ei suutnud selle uue turuga sammu pidada ja ma olen lihtsalt üks paljudest Microsofti arendajad kes asendas oma Windowsi sülearvuti MacBookiga. Microsoft on lõpuks aru saanud, et kui anda meile võimalus oma rakendusi juurutada avatud lähtekoodiga platvormidele, hoiavad hiiglaslikud Microsofti arenduskogukonnad nende tööriistu kasutades ja lõpuks toovad neile juurde ka rohkem kliente.
Microsoft on astunud väikese sammu suurte muudatuste poole ning neil on parimad arendustööriistad ja suurepärane arenduskogukond. Mis juhtuks, kui me saaksime suurepärase IDE-le lisaks avatud lähtekoodiga OS-i? 'Isegi ma ei julge koefitsiente välja arvutada'.