Refleksje, czyli: Windows vs. Linux: porównanie architektury część 2 i 1/2
[ sobota, 11 sierpnia 2007, Keyto ]
Po niedzielnej publikacji drugiej części artykułu „Windows vs Linux” przeczytałem dziś – końcem tygodnia – wszystkie komentarze. Cieszę się, że są tacy, którym chciało się ów artykuł przeczytać. Jeśli komuś się podobało – cieszę się a za wszystkie komentarze dziękuję. Jest kilka spraw, które wymagają, nie tyle wyjaśnienia, co pewnego odniesienia. Ponieważ są wakacje – w tonie dość luźnym, jeśli można.
Przede wszystkim podziękowania dla fttrobina. „Komisja do spraw badania zbrodni na języku polskim” nie zatwierdziła „tego” i raczej nie zatwierdzi, więc dziękuję za zwrócenie uwagi. Tak się potocznie mówi i… jest to najlepszy dowód na to, że potocznie też należałoby zawsze mówić poprawnie, bo człowiekowi „tak zostaje”.
A teraz odnośnie uwag merytorycznych:
Po pierwsze - po co? Po co sporządzać takie zestawienia? Po co po raz kolejny porównywać systemy? Po co wytykać niewygody w oprogramowaniu? Po co zwracać uwagę na to, że Linux i Windows to różne systemy, i że Linux to nie jest darmowy Windows?
Odpowiem pytaniem: A po co po raz kolejny rozgrywać partię szachów? Po co oglądać kolejny serial w TV, kiedy jeden niewiele różni się od drugiego? Po co po raz kolejny grać w StarCrafta? Po co chodzić na spacery, kiedy byliśmy już wczoraj i przedwczoraj? Po co po raz kolejny czytać ulubioną książkę? Po co ludzie ślęczą godzinami nad oprogramowaniem, z którego potem powstają dystrybucje Linuksa?
To proste. Dla zabawy.
Jednych bawi oglądanie „CSI” drugich opowiadania o Linuksie i Winowsie. Ośmielę się też stwierdzić, że owo porównywanie jest zajęciem nieco bardziej ambitnym, (chociaż sam oglądam też „CSI” – przyznaję się). Ja bawiłem się dobrze pisząc ten artykuł, są tacy, którzy dobrze bawili się czytając go i tak to właśnie działa. A, że przy okazji artykuł zawiera nieco informacji o systemach operacyjnych czy oprogramowaniu? To chyba nie jest źle – nieprawdaż?
Po raz kolejny przypominam też, że artykuł od początku nie był pisany jako rozprawa popularnonaukowa, ale taka nieco ambitniejsza „poczytajka”, więc zarzucanie mi, że „niestety nie piszę nic o prawdziwej architekturze systemów” to nieporozumienie i to w dodatku dubeltowe – gdyż właśnie o tym piszę. Tylko, że dla kogoś, kto tę wiedzę posiada w stopniu zaawansowanym nie ma w takim „dziele” nic odkrywczego. Żadnej nowej treści. Są jednak tacy, a jest ich wielu, którzy używając Linuksa czy Windows a nie mają pojęcia, co znajduje się w katalogu etc, czy rejestrze. Proszę spróbować popatrzyć na świat ich oczami. Ta wiedza nie jest dla nich konieczna, więc nie będą się za nią zabijać, ale często słyszę, że nie obraziliby się gdyby ktoś „sprzedał” im trochę strawnej informacji na ten temat. (Ostatnie zdania to w zasadzie cytat za jednym z moich znajomych.) I głównie do nich adresowany jest artykuł. A, że inni, aby dobrze się bawić potrzebują co najmniej opisu mechanizmów takich jak sqashfs czy unionfs? … (Nawiasem mówiąc – właśnie kończę taki artykuł, ale znów będzie duża grupa niezadowolonych – bo chciałbym aby był zrozumiały dla szerszego grona – więc znów będzie narzekanie.)
Po drugie – sprawa dokumentacji… d o k u m e n t a c j i… Nie przepisu na zmianę tapety, ustawienie strony startowej w IE czy tworzenia kolejnego skrótu do programu, czyli i n s t r u k c j i do oprogramowania, ale dokumentacji do wspomnianego formatu ‘doc’, informacji jak obsługiwany jest ntfs. Informacji jak wyglądają wpisy rejestru, które pozwalają na poprawienie obsługi protokołu TCP/IP. Takowe wpisy są, ale poza specjalistycznymi szkoleniami są to informacje niedostępne. A szkolenie, proszę bardzo – za drobną opłatą 2800 PLN. Byłem. Bardzo fajne. Polecam. Tak jak wspomniałem w artykule – pisząc w OpenOffice.org i zapisując plik w formacie OASIS wiemy „co” otrzymujemy i wiemy „jak” to otrzymaliśmy. W programie firmy MS nie wiemy do końca „co” (specyfikacja „doc”) a już na pewno nie wiemy „jak”, choć czasem… niekiedy… w zasadzie bardzo rzadko, ale jednak by się przydało. Tego jednak nie da się wyczytać w książkach Microsoft Press. Strona msdn… nie jest to niestety, proszę państwa, kompletna dokumentacja produktów firmy Microsoft.
(Nawiasem mówiąc jak już jesteśmy w tym miejscu – to uwaga do Jendrek jednego z autorów omawianego właśnie przeze mnie komentarza – kiedy ja byłem w wieku, w którym przystępuje się do Pierwszej Komunii, komputera nie mogłem dostać. Po prostu rodziny nie było stać na Odrę 1300.)
A teraz najważniejsze – po co pisać o dokumentacji w artykule o architekturze oprogramowania? Otóż dla developera dokumentacja do produktu zwanego oprogramowaniem i sposób do jej podejścia w ogóle są sprawą kluczową. To tak jakby kupić nowy dom bez planów do niego. Proszę teraz wyobrazić sobie jakieś poważniejsze prace remontowe przy owym domu za parę lat. Bez sensu? Microsoft prezentuje taki właśnie sposób traktowania sprawy. Kupujesz produkt ale nie wiesz jak on działa i nie masz możliwości aby się dowiedzieć. Nie jest to oczywiście architektura systemu, ale jest to, jak już napisałem, integralna cześć produktu, więc nie sposób o niej nie wspomnieć.
Po trzecie – Na zakończenie o mojej „kompletnej ignorancji” w sprawie blokowania pliku wykonywalnego aplikacji Internet Explorer (przykład z trzeciej sekcji artykułu). Zarzucano mi, że blokuję jedynie plik wykonywalny a wszystkie biblioteki są nadal dostępne. Otóż panie i panowie. Zrozumieliście prawidłowo. O to mi właśnie chodziło. Celem tej części artykułu było przede wszystkim uwidocznienie, że w zasadzie każda, bardziej złożona aplikacja nie jest tworem monolitycznym a blokowym / modułowym / warstwowym a poszczególne moduły mogą być i są używane gdzie indziej.
Po drugie – nie było istotne, że bibliotekę mshtml.dll można w ogóle użyć poza programem iexplore.exe a o to, że jest ona tak głęboko powiązana z całym GUI systemu. Proszę przeczytać uważnie – uwaga między innymi do M i AdamK – przecież w artykule można wyczytać, że „ja zmieniłem jedynie uprawnienia do binarki która wywołuje bibliotekę, kiedy odpalimy to niebieskie e na pulpicie”. Piszę nawet jak owa biblioteka się nazywa. Piszę też o konsekwencjach, jakie takie a nie inne podejście do sprawy implikuje – i to jest zasadnicza treść, celem bowiem nie było podanie przepisu na blokowanie dostępu do internetu a opisanie roli silnika Trident w MS Windows.
I proszę wybaczyć, ale KDE, do którego padło porównanie, (choć go nie lubię) jest jednak od Windowsowego GUI o wiele bardziej przejrzyste konstrukcyjnie. (To fakt – nie spierajmy się: Pełna dokumentacja, pełny kod źródłowy – da się o wiele więcej i szybciej coś o owym środowisku powiedzieć, nawet jeśli te informacje rozumieją jedynie nieliczni).
Na zakończenie – po prostu – miłych pozostałych nam jeszcze – tygodni wakacji ![]()
Liczba komentarzy: 8
- Link: <a href="jaklinux.org">Linux dla każdego</a>,
- Wytłuszczenie: <strong>tekst pogrubiony</strong>,
- Kursywa: <em>tekst pochylony</em>,
- Przekreślenie: <strike>
tekst przekreślony</strike>, - Kod: <code>
printf("blok kodu");</code>, - Cytat: <blockquote>cytat</blockquote>


Przede wszystkim gratuluję uporu, żeby jednak pisać z innego punktu widzenia, niż niektórzy (za to głośni) krytycy się spodziewają.
Ja na przykład bardzo lubię czasem poczytać w lżejszym tonie o sprawach, które znam (stąd na przykład szczerze się ubawiłem czytaniem tej baśni). Ostatecznie komputery można też traktować jak hobby i nic w tym złego, dopóki się nie udaje, że to jest właśnie profesjonalne. Napisałeś to wyraźnie kilka razy, więc wszystko jest w porządku.
No i czekam na kolejne części serialu!
Pozdrawiam.
PS.: CSI też bardzo lubię, ale podobno tylko LV jest dobre. ;-}
> d o k u m e n t a c j i (…) i n s t r u k c j i
możnaby zmienić w tym miejscu spacje na niełąmliwe spacje? albo jakoś inaczej wyróżnić te słowa? niestety “instrukcje” wylądowały w dwóch różnych wersach i kiepsko to wygląda
Co do dokumentacji to nie denerwuje jakos nikogo cena szkolenia Oracle a Windows tak? Bez sensu jest przecie tyle darmowcyh baz danych a jednak wieksze firmy upieraja soe na oracla, debile?
Ale tak się dziwnie składa, iż takie Oracle w większości już działają na nie M$ środowiskach. Czemu tak robią … ? Są głupi od połowy i mądrzy do połowy ?
Oczywiscie uwage, ze spora czesc artykulu nie ma zwiazku z rzeczywistoscia - chociazby to o rzekomym przeniesieniu w Windows “ochrony” do userlandu - albo wynika z niezrozumienia tematu - kwestia praw dostepu do iexplore.exe - starannie pominales.
Nie rzekomym… (W razie czego - konkrety prosze.)
Ochrona - jak już pisałem - jest to mechanizm skomplikowany.
Odsyłam do Silberschatz, Galvin: “Podstawy Systemów Operacyjnych” - tam jest opisany “związek z rzeczywistością”.
Fragment o IE… przeczytaj proszę “po trzecie” z wpisu powyżej.
Rety no ;] Żeby autor ciągle się tłumaczył co pisze i dlaczego tak napisał
Napisał i już, jednym się podoba innym nie. Mnie osobiście cała seria się nie podobała, ale to także nie ma większego znaczenia.
może posłuży jako inspiracja donastępnych części, albo po prostu jako dodatkowa lektura dla komntujących:
http://widefox.pbwiki.com/Kernel%20Comparison%20Linux%20vs%20Windows