.NET Core — szaleństwo i otwarte oprogramowanie. Microsoft, co zajęło ci tak długo?!

Opublikowany: 2022-03-11

„Powstaje coś tajemniczego, zrodzonego w cichej pustce. Czeka samotnie i nieruchomo, jest w bezruchu, ale w ciągłym ruchu…”

Zaprawdę, dwa z największych wydarzeń w historii ludzkości miały miejsce jedno po drugim:

  • Misja ESA Rosetta miękko wylądowała sondę Philae na komecie, po raz pierwszy w historii, kiedy dokonano tak niezwykłego wyczynu.

  • Microsoft Open Sources .NET

Pierwsze wydarzenie to wielki krok dla ludzkości, a drugie jest jeszcze większe dla Microsoftu!

Misja Rosetta zajmie swoje miejsce w książkach historycznych i będzie pamiętana tak często, jak pamiętamy Łajkę. Został starannie wymyślony i zaplanowany przez dekadę, popchnął ludzkość o krok dalej i pokazał, że technologia opracowana dziesięć lat temu wciąż może robić niesamowite rzeczy.

Drugie wydarzenie było dla wielu zaskoczeniem. Nie było go bardzo reklamowane i jestem pewien, że każdy szczegół jego ogłoszenia nie był planowany dekadę temu; ale było oczywiste, że Microsoft wybrał tę drogę jakiś czas temu, a rdzeń .NET nie jest pierwszą rzeczą, którą wypchnęli do open source (Roslyn).

Czy platforma .NET jest open source? Wreszcie wieloplatformowy .NET, na który czekaliśmy.

Czy zatem ludzkość naprawdę potrzebowała sondy na komecie? Być może nie, ale to niesamowite, że wylądował! Czy firma Microsoft potrzebowała objawienia, aby rozpocząć open sourcing .NET core? TAk! Potrzebowali tego ponad dekadę temu!

Co zmieniło się w jednej z największych firm tworzących oprogramowanie na świecie? Co sprawiło, że poszli drogą OSI?

Według bloga .NET Framework są dwa powody takiego stanu rzeczy:

  • Połóż podwaliny pod wieloplatformową platformę .NET
  • Zbuduj i wykorzystaj silniejszy ekosystem

Ale dlaczego Microsoft miałby chcieć pomagać programistom w tworzeniu wieloplatformowego oprogramowania .NET? To jest sprzeczne ze wszystkim, co zrobili wcześniej. Microsoft od lat forsuje własne systemy infrastrukturalne. Linux i Mac były wrogami, których trzeba było pokonać, a nie sojusznikami. O co w tym wszystkim chodzi?

Niezależnie od ich prawdziwej motywacji, programiści czerpią z tego to, co najlepsze. Chciałbym podziękować firmie Microsoft za podjęcie tego kroku. Lepiej późno niż wcale!

Długoterminowy wpływ technologii Microsoft typu open-sourcing będzie ogromny. Prawdziwa wieloplatformowa platforma .NET będzie miała bezpośredni wpływ na koszty hostingu, licencjonowania i utrzymania. Uprości to sprzedaż aplikacji .NET w stopniu, którego nawet nie mogę sobie wyobrazić.

Spędziłem dużą część mojej kariery zawodowej na pisaniu kodu. Moją pierwszą miłością był Borland Pascal, a „Niebieski ekran” był wtedy czymś, na co patrzyłem z wielkim szacunkiem. Później korzystałem z różnych platform programistycznych i języków, ale bądźmy szczerzy — odkąd Microsoft wypuścił .NET, Visual Studio jest najlepszym dostępnym obecnie środowiskiem programistycznym. Jest to punkt kompleksowej obsługi wszystkiego, czego może potrzebować pojedynczy programista lub zespół do zbudowania dowolnego typu aplikacji. Jest ściśle powiązany z doskonałymi funkcjami kompilatorów .NET, a każda nowa wersja Visual Studio wygląda jak produkt, którego nie można dalej rozszerzać; jednak Microsoftowi udaje się nieustannie zaskakiwać, wprowadzając nowe, fajne funkcje z każdą nową wersją programu Visual Studio.

Tworzenie oprogramowania to świetny proces, który sprawia, że ​​każdy programista, jakiego kiedykolwiek spotkałem, czuje się kreatywny, pomysłowy i spełniony. Ale czy kiedykolwiek próbowałeś sprzedawać lub wspierać procesy sprzedaży? Nie jestem pewien, czy każdy sprzedawca może powiedzieć to samo co programiści o swojej części równania. Sprzedaż dla firmy zajmującej się tworzeniem oprogramowania jest ohydna – trzeba się martwić o wiele czynników, które nie mają nic wspólnego z samym tworzeniem oprogramowania. Osoby pracujące w dziale sprzedaży muszą udowodnić/przekonać klientów, że sprzedawany produkt/usługa jest najlepszym, jaki klient może uzyskać za cenę do zapłaty; dlatego cięcie kosztów tworzenia i utrzymania oprogramowania jest zawsze kluczowe. Rzeczywisty świat nigdy nie przestaje obliczać wartości i kosztów.

Z drugiej strony założenie firmy nigdy nie było łatwiejsze. Jeśli masz dobry pomysł, nie jest trudno zebrać środki na stworzenie „czegoś” (ostatnia nazwa „czegoś” to Minimal Viable Product, ale to prawdopodobnie zostanie zaktualizowane w przyszłości), pokazać „coś” światu, uzyskaj pozytywne opinie, zdobądź więcej funduszy i powtarzaj, aż zaczniesz zarabiać, sprzedać swoją firmę lub upadniesz.

Jaki jest najłatwiejszy sposób na obniżenie kosztów oprogramowania? Cóż, rozwój to coś, co musisz zapłacić, aw większości przypadków zapłacisz po prostu stawkę godzinową swoich programistów, niezależnie od platformy programistycznej, z której korzystają; więc najprostszym sposobem na obniżenie kosztów jest wdrożenie oprogramowania w środowisku, które nie wymaga dodatkowych licencji. To jest miejsce, w którym Microsoft wielokrotnie przegrywał! Mogliśmy toczyć gorące debaty na temat wydajności, jakości oprogramowania, skalowalności itp., ale łatwo zauważyć, że platforma .NET z łatwością poradzi sobie z każdym rzuconym na nią wyzwaniem technicznym. W wielu przypadkach uważam, że pokazuje swoją wyższość nad innymi platformami; ale rzadko wygrywam debaty na temat wdrażania i licencjonowania infrastruktury.

Rynek zaczął odpychać programistów od platformy programistycznej Microsoft i tak, jestem jednym z tych programistów. Zaadoptowałem Node.js jako podstawową platformę back-end, niezależnie od tego, że wciąż nie jest wystarczająco dojrzała, aby poradzić sobie ze wszystkim, czego potrzebuję. Uwielbiam WebStorm i doceniam świetną pracę, jaką wykonał JetBrains, ale Visual Studio 2013 pokochałem jeszcze bardziej. Tak, zdaję sobie sprawę, że mogę pisać aplikacje Node.js w VS! Ale kiedy jesteś zepchnięty z C# do JavaScript, od SQL Server do PostgreSQL, od IIS do Apache, po co zawracać sobie głowę używaniem komputerów z systemem Windows?

Byłem prawdziwym ewangelistą Microsoftu, jeszcze zanim pojawił się .NET, a na pewno zanim .NET był open source i międzyplatformowy. Ale to wszystko umarło, kiedy zabrali nam (palec) na Skype. Zawsze lubiłem tworzyć aplikacje na platformy Windows. Spędziłem dużo czasu, ucząc się wskazówek i trików w branży i uważam, że byłem w tym bardzo dobry. Jednak rynek rozwoju oprogramowania bardzo się zmienił w ciągu ostatniej dekady. Wszędzie kwitną startupy, a każdy nowy klient poszukuje najbardziej opłacalnego rozwiązania. Microsoftowi nie udało się nadążyć za tym nowym rynkiem, a ja jestem tylko jednym z wielu programistów Microsoftu, którzy wymienili swojego laptopa z systemem Windows na MacBooka. Microsoft w końcu zdał sobie sprawę, że umożliwienie nam wdrażania naszych aplikacji na platformach typu open source sprawi, że ogromne społeczności programistów Microsoft będą korzystać ze swoich narzędzi, a ostatecznie przyciągnie do nich również więcej klientów.

Microsoft zrobił mały krok w kierunku wielkiej zmiany i ma najlepsze narzędzia programistyczne i wspaniałą społeczność programistów. Co by się stało, gdybyśmy otrzymali system operacyjny o otwartym kodzie źródłowym na świetnym IDE? „Nawet ja nie odważę się obliczyć szans”.