Ciekawy moment w historii systemów operacyjnych, języków programowania i firm komputerowych. Microsoft niedługo wypuści już oficjalnie nową wersję Visual Studio wraz z nową odsłoną języka C# i pełnoprawną wersją F#. Apple z firmy, która prawie leżała na deskach, przerodził się w giganta multimediów i mobilności, a ostatnia wycena firmy wskazuje, że z pazurami skoczył samemu Microsoftowi wprost do gardła. Novell, jedna z większych firm świata open-source, nie dość że odrzucił ofertę przejęcia firmy, licząc na wyższą cenę, to teraz zatrzaśniętu mu drzwi tuż przed nosem, a dokładniej przed jego MonoTouchem.
Ale po kolei — dawno, dawno temu (tak dawno, że ja sam znam to tylko z opowieści starożytnych górali) tworzono Lisp Machine. Komputer z systemem perfekcyjnym, w którym stan niezdefiniowany nie miał prawa istnieć. Zamierzenie ambitne, a takie na ogół pochłaniają dużo energii, czasu, osób. Unix ze swoją przaśnością był niczym barbarzyńca łupiący święty Rzym — ponieważ z góry założono jego niedoskonałość, nie trzeba się było martwić tonami warunków, sytuacji krytycznych i tym podobnych. Unix był gorszy, ale zdecydowanie mniej kosztochłonny, czyli… lepszy. Worse is better.
Tej lekcji historii nie zapamiętali hackerzy, bojownicy open-source, przepisujący po raz n-nasty daną aplikację, miliardson dystrybucji Linuxa z jedynym wyróżnikiem w postaci loga — ponoć ma to przed sobą świetlaną przyszłość, ale pieniądze zarabia się dziś. Wie o tym Microsoft — po co przepisywać, skoro można używać skorodowanego elementu tak długo, aż wyzionie ducha, a tuż przed tym smutnym faktem, wprowadzi się jego zastępnik. Gorsze, czyli… lepsze. Sukces komercyjny MS-Windows w świecie desktop jest tego niezbitym dowodem. Ale desktopy to nie wszystko — Microsoft wziął na celownik świat serwerów, małych i dużych firm. Baza danych MSSQL zagraża skutecznie zarówno i MySQL (tani i popularny) i Oracle’owi (tani inaczej, ale też popularny). Od tego samego producenta możemy kupić także system operacyjny (MS-Windows), serwer WWW (IIS), jeszcze żeby programowanie stało się łatwiejsze…
Tutaj pozwolę sobię na przerywnik. Kilka lat temu S.Ballmer wg niektórych robił z siebie idiotę biegając podczas prezentacji na podium i krzycząc do programistów „developers, developers, …” tak długo aż ci zaczęli bić mu brawo. Ballmer może nie jest odpowiednią ikoną dla developera, ale przekaz był jednak jak najbardziej sensowny — siłą napędową każdej platformy są zwykli programiści. Żaden gigant, nawet Microsoft, nie jest w stanie wytworzyć całego „ekosystemu”, to właśnie zadanie firm i firemek — programy do fakturowania, gospodarka magazynowa, nauka muzyki, co tam nie tylko. Programiści en masse nie mogą się znudzić daną platformą, bo to oznaczałoby śmiertelne zagrożenie dla producenta systemu operacyjnego. A jak na razie mimo wszystko wiało nudą — pilnowanie wskaźników, „ręczne” wyłuskiwanie danych z bazy, pseudo-rewolucja Javy, w której zabroniono niemal wszystkiego, aby się tylko programista nie skaleczył. Przechył w stronę programowania webowego, PHP, Ruby, szum wobec nowinek — to wszystko zaczęło powodować, że MS-Windows wydawał się passé.
Do czasu C#. Język garbaty od samego poczęcia, jednak zaangażowanie w jego projektowanie takiej sławy jak Anders Hejlsberg, grawitacja jaką tworzy Microsoft, zintegrowanie z innymi produktami oraz pozorna łatwość tworzenia aplikacji (pozorna ze względu na wspomniane „garby” takie jak do dziś nie ustandaryzowane pojęcie równości, brak silnej generyczności, brak systematycznego rozróżnienia między wartością a referencją) spowodowały, że C# stał się najpopularniejszym językiem. Najnowcześniejszym. Najmodniejszym. Język programowania. C#!
Microsoft z taką mocą lansuje i język i środowisko .Net, że niektóre biblioteki jeszcze nie zdążą się naturalnie zestarzeć, a są wprowadzane już nowe. Nowe pojawiają się też tak szybko, że brak do nich dobrych narzędzi.
— I jeszcze podłoga w przedpokoju jest krzywa.
— A to się też zgłosi, nie ma problemu.
— Dziękuje ci bardzo.
— Nie ma sprawy, w końcu robię to dla siebie.
To wszystko jest nieważne, aby szybciej, aby dalej. Cel — zarazić programistów. C# ma być w istocie pewnego rodzaju bakterią, spróbuj go, spróbuj jego bibliotek, a języki, w których programowałeś/aś do tej pory wydadzą Ci się ociężałe, nudne w użyciu. Oprócz programistów, także producenci sprzętu tęsknie patrzą na nowinki jakie przynosi .Net. Wystarczy obejrzeć dowolną prezentację A.Hejlsberga lub D.Syme’a, aby skojarzyć jedno — nacisk na przetwarzanie równoległe oraz programowanie funkcyjne oznacza ogromne wymagania pamięci. Kilkurdzeniowy procesor także się przyda (jak się nie przyda dziś, to jutro byle Notepad o tym delikatnie przypomni), a to oznacza żniwa, żniwa i jeszcze raz żniwa. Programiści będą pisać szybciej i łatwiej, producenci sprzętu sprzedawać szybciej, klient będzie płacił więcej, a Microsoft, cóż…
Jeżeli Microsoft nie przesadzi z tempem zastępowania bibliotek i opóźnianiem dostarczania narzędzi do ich obsługi, może się okazać, że szampan w firmie Red Hat pito zdecydowanie przedwcześnie. Nadal notowane są zyski, ale jeśli C# i F# na dobre zarazi developerów, może być krucho, gdyż Microsoft będzie posiadał rodzinę MS-SQL, IIS, LINQ+C#/F#, MS-Office, MS-Windows (i to wszystko ściśle ze sobą zintegrowane). Trudno RedHatowi cofnąć się w czasie i wpompować miliony w rozwój chociażby samego języka. A kolejna firma w zestawieniu, czyli Novell, przymila się właśnie do Microsoftu, a kopie po kostkach nie kogo innego, a RedHata właśnie. Walka o serwery jest tak zacięta, że wszystkie wymienione firmy zapomniały o desktopach (z tą uwagą, że Novell i RH nigdy de facto o czymś takim słyszeć nie chciały), a tymczasem po malutku, po cichutku pewna cukierkowa firma podbiła portfele najpierw użytkowników telefonów, aby wypromować nową-starą markę — Apple.
Jeśli porównać ostatnie wyceny Microsoftu i Apple, to można tylko się zadziwić „jak oni to zrobili”. Jeszcze niedawno był to bez mała outsider, produkujący sprzęt niszowy, a dziś Apple’a zna każdy, każdy dzieciak koniecznie musi mieć iPhone’a. Konkurenci mieli czas, pieniądze, możliwości, wszystko co potrzebne jest formalnie do osiągnięcia sukcesu — nie mieli jednak jednego, Steve’a Jobsa, a dokładniej — jego motywacji i wizji. Jak jest ona silna przekonały się niedawno firmy próbujące wepchnąć erotykę na iPhone’a a wczoraj Novell ze swoim koniem trojańskim, MonoTouchem. THIS! IS! IPHOOOONE! Think Different, God Damnit.
A co ma do zaoferowania świat open-source i firmy z nim związane? Długoletnie utożsamianie idei open-source (w jej najbardziej ekstremalnej formie, niestety) z całkowitą darmowością skutecznie dokonało erozji umysłów potencjalnych klientów i dziś nie znajdują się śmiałkowie, którzy by chcieli lokować tu jakieś programy komercyjne. Unixowy shell jest nadal pozytywnym wyróżnikiem, ale to za mało aby konkurować z innymi systemami dla domu. Przeciętny użytownik Linuxa spragniony nowinek może sobie co najwyżej zmienić tapetę na ekranie. W tym przypadku gorzej znaczy, cóż, gorzej.
Chciałbym rzecz jasna widzieć świat z firmami sprzedającymi oprogramowanie z indywidualną opcją open-source (klient i tylko on otrzymuje wraz z programem źródła bez prawa do redystrybucji, ale z prawem do modyfikacji), tyle że świat oprogramowania okopał się w obozach dalekich od tego modelu. Pozostaje więc tylko życzyć Apple‘owi, aby zdążył wyprzeć MS-Windows z domów zanim Microsoft skończy dobijać Oracle’a. Tyle z tego będzie dobrego, że restrykcyjność będzie bardziej pastelowa.