
Wakacje dobiegły, dobiegają lub dla niektórych niebawem będą dobiegać końca, a jest to według mnie dogodny czas, aby przeprosić się z blogiem. Jak już nawet najmniej rozgarnięty Czytelnik się zorientował, post nie będzie dotyczył SQLa, tylko tematyki do tej pory na tych stronach nie poruszanej. Otóż popiszemy sobie trochę o najnowszej wersji systemu operacyjnego Mac OS X, czyli niedawno obwieszczonym dziele pewnej kalifornijskiej firmy kojarzonej z dość banalnym owocem. Oczywiście najbardziej przebiegli Czytelnicy już dawno się zorientowali, że post tak na prawdę będzie tylko pretekstem do kilku głębszych (i tutaj pewnie większość pomyślała nie o tym, o czym zaraz przeczyta ;)) przemyśleń na tzw. ogólne tematy otwarte. Bo przecież żaden ze mnie ekspert od Mac OS X'a i żądni rzetelnej wiedzy na temat tego systemu powinni zdobywać ją gdzieś indziej. Jedyne co mogę tutaj zaproponować, to trochę własnych z istoty subiektywnych opinii, spostrzeżeń i sarkazmów przeplecionych wybranymi informacjami technicznymi.
Trzeba przyznać, że zapewne część Czytelników prędzej spodziewałaby się tutaj przeczytać o rozwoju naturalnych sposobów planowania rodziny w krajach południowoafrykańskich niż o systemie operacyjnym Apple, ale tak to już jest w życiu i nie można się dać zaskoczyć. Wszakże należy się wszystkim wyjaśnienie uzasadniające moje zainteresowanie podjętą tematyką - otóż od ładnych kilku miesięcy głównym systemem, na którym pracuję, jest właśnie Mac OS X. Do tej pory był to Mac OS X 10.5, czyli Leopard, teraz czas na jego śnieżną wersję. O kulisach przejścia na ciemną stronę mocy nie będę się rozpisywał, nadmienię tylko, że wynikało ono z potrzeby stabilności i wydajności pracy. Mówiąc krótko potrzebowałem systemu, któremu mógłbym znowu zaufać. Jeśli chodzi o dotychczasowy system - Microsoft Windows XP/Vista, to używam go teraz wyłącznie w postaci zwirtualizowanej (VirtualBox to świetne narzędzie) tylko w celu odpalenia zabawek do SQL Server, ewentualnie MS Office. W takim scenariuszu sprawdza się bardzo dobrze, na inne scenariusze nie zamierzam mu pozwolić (przynajmniej na razie dotyczy to również Windows 7).
Tyle tytułem przerosłego wstępu, przejdźmy do konkretów, a dokładniej - do
wydajności. Kiedy przesiadłem się na Leoparda, odczułem znaczną poprawę wydajności. Oczywiście jakaś część z tego odczucia wiązała się z jednoczesną przesiadką na mocniejszego laptopa (+0.4 GHz na procesorze, +1 GB RAM), jednak prawdziwy powód nie wynikał ze sprzętu, tylko z oprogramowania. Szybko odeszły w niepamięć kilkusekundowe lagi między kliknięciem myszki a reakcją systemu operacyjnego pod obciążeniem czy dziwne "zamulenia" wynikające m.in. z pracy genialnych narzędzi antywirusowych. Praca z Leopardem udowodniła mi m.in., że:
- czekanie kilkudziesięciu sekund na zamknięcie systemu wcale nie jest normalne,
- czekanie kilku minut na pełne uruchomienie systemu (wraz z wstępnym skanem antywirusowym, który jest wykonywany w tle, a który skutecznie uniemożliwia pracę) nie jest normalne,
- przeciążenie systemu skutkujące niemożliwością zrobienia czegokolwiek (np. zamknięcia okna) nie jest normalne.
Byłem więc całkiem zadowolony z wydajności Leoparda i nie miałem wygórowanych oczekiwać względem wersji 10.6. Tymczasem jednak zostałem mile zaskoczony, gdyż Snow Leopard działa odczuwalnie szybciej niż poprzednik. Nie chcę się licytować, czy jest to 10% czy 30%, z resztą i tak zależy to od scenariusza pomiaru. Najważniejsze jest to, że programy uruchamiają się szybciej. Co za tym stoi? Na pewno natywne wsparcie dla procesorów wielordzeniowych zintegrowane z systemem (
Grand Central Dispatch). W obecnych czasach nie kolejne Ghz stanowią o wydajności, ale ilość - nawet relatywnie wolniej taktowanych - rdzeni oraz ich wykorzystanie przez system operacyjny i aplikacje. Trzeba też zaznaczyć, że wszystkie nowe zabawki Apple są również dostępne do łatwiego wykorzystania przez programistów. Inną cenną funkcjonalnością Śnieżnego jest
tryb 64-bitowy, przy czym można go wykorzystać na kilka sposobów. Oczywiście istnieje możliwość pełnego uruchomienia systemu na 64-bitach (włącznie z jądrem), ale Snow Leopard oferuje wg mnie lepsze rozwiązanie - zwłaszcza jak na obecne czasy. Trzeba pamiętać, że nie wszystkie programy, a co ważniejsze - nie wszystkie sterowniki i rozszerzenia (kext -
kernel extensions) zostały już przepisane na architekturę x86_64. Jeśli więc podczas zabawy z 64-bitami nie chcemy mieć problemów np. z drukarką, to warto zostawić kernel w trybie 32-bitowym. Jeśli dysponujemy odpowiednim procesorem (w praktyce Intel Core 2 Duo) Snow Leopard i tak będzie uruchamiał programy 64-bitowe w natywnych 64-bitach ze wszystkimi tego korzyściami. Mamy więc zarówno korzyści z architektury 64-bitowej, jak i eliminację problemów ze styku dwóch architektur.

Napisałem o zaskoczeniu in plus za sprawą wydajności, teraz czas na zaskoczenie in minus w kwestii
kompatybilności. Otóż szereg programów na Snow Leopardzie się nie uruchomi lub nie będzie działała prawidłowo. Listę kompatybilności można znaleźć pod adresem
http://snowleopard.wikidot.com/. Już po powierzchownym zerknięciu na dokument można stwierdzić, że nawet kilkanaście procent programów na Śnieżnym może mieć mniej lub bardziej poważny problem, z czego 5-10% programów nie będzie nawet skłonne wystartować. Snow Leopard oznaczony jest wersją 10.6, Leopard - 10.5, mieliśmy więc zmianę 10.5 -> 10.6. Według mnie taki upgrade nie uzasadnia problemów z kompatybilnością aplikacji w omawianej skali. Jeśli chodzi o mnie, to miałem dwie trudności (przestał działać klient do SVN - SCPlugin, a aplikacja do modemu 3G nie jest już w stanie połączyć się z siecią). Naturalnie jako użytkownik oceniam to zjawisko negatywnie. Przewrotnie powiem jednak, że na miejscu twórców Mac OS X najprawdopodobniej postąpiłbym analogicznie :) Dla strategicznego rozwoju systemu korzystnie jest pozbyć się niepotrzebnego "bagażu" w postaci starych architektonicznie fragmentów kodu nawet kosztem kompatybilności ze starszymi aplikacjami, gdyż w przyszłości może to wyeliminować mnóstwo problemów związanych z koniecznością ciągłego oglądania się za siebie. W konsekwencji pozwala to w przyszłości zrobić lepszy produkt. Taka już jest filozofia Apple, za którą część ludzi firmę z Cupertino krytykuje, a inna część chwali. Nie ma nic za darmo. Microsoft ma pod tym względem inne podejście, ale znajduje się w innej sytuacji. Z resztą jeszcze bardziej przewrotnie powiem, że na miejscu firmy z Redmond, także postępowałbym analogicznie :) Windows to produkt dla mas, także tych ze starymi komputerami i starymi aplikacjami. Jeśli więc porównać Snow Leoparda do większego Service Packa (albo dwóch) do Windowsa, to jasne staje się, że w przypadku Windowsa żaden SP nie mógłby spowodować takich problemów z kompatybilnością jak Śnieżny w przypadku systemu Mac OS X.
Ważną i oczekiwaną przeze mnie nowością w 10.6 była natywna obsługa kont pocztowych typu
Exchange, czyli nie mniej ni więcej tylko integracja programu Mail, Address book oraz iCal (kalendarza) z Microsoft Exchange 2007. W pracy niedawno przeszliśmy na Microsoft Exchange, więc 10.6 ładnie wstrzeliła się w moje aktualne potrzeby. Muszę przyznać, że integracja działa całkiem ładnie. Zarówno z zakresie odbierania/wysyłania poczty, jak i tworzenia/akceptowania spotkań, rezerwacji zasobów czy choćby podpowiadania adresów e-mail podczas wypełniania pola adresata. Snow Leopard dogonił w tym aspekcie iPhone'a, który już od dawna potrafił obsługiwać konta Exchange. Oczywiście zawsze istniała możliwość współdziałania z serwerem Exchange przez protokół IMAP, ale z istoty rzeczy nie można było wtedy korzystać z wszystkich funkcjonalności.
Z mniej istotnych, ale wartych odnotowania aspektów, zwróciłbym jeszcze uwagę na bezproblemową
instalację. Instalowałem Snow Leoparda na zasadzie upgrade'u Leoparda (inną opcją jest instalacja "od zera"). Wszystko przebiegło bezproblemowo - nie poginęły mi żadne ustawienia kont poczty, zakładek czy pęków kluczy. Dane oczywiście również nie doznały uszczerbku. Nie musiałem także dokonywać żadnych dodatkowych czynności związanych np. z naprawianiem uprawnień do plików, co niekiedy było konieczne z przypadku poprzednich upgrage'ów (sam tego nie doświadczyłem, tylko mówił mi o tym znajomy o wiele bardziej obeznany w Mac'ach). Co ciekawe, wersja 10.6 zajmuje do 7 GB mniej miejsca na dysku w porównaniu do wersji 10.5, co bezpośrednio wiąże się z odchudzeniem systemu, o którym wcześniej pisałem.
Snow Leopard dostarczył także wiele dodatkowych funkcjonalności:
- 64-bitowa wydajna platforma QuickTime X (wraz ze strumieniowym przesyłaniem wideo, szybką edycją filmów i innymi wodotryskami)
- OpenCL (technologia wykorzystująca moc procesorów graficznych do celów niezwiązanych z grafiką - pomysł wart popularyzacji i dobrze, że Apple go zaimplementowało),
- usprawnienia w obsłudze Docka, Findera,
- technologie ułatwiające dostęp i korzystanie z systemu (dla osób niesłyszących/niewidzących, które przecież też używają komputerów i nie można o nich zapominać),
- lepszy iChat i szybsza przeglądarka Safari,
- wiele innych, np. choćby łatwiejsze wprowadzanie znaków chińskich (można je teraz rysować palcem po gładziku).
Nie zamierzam oczywiście opisywać wszystkich funkcjonalności, z resztą nie ze wszystkimi się jeszcze zapoznałem. Sygnalizuję tylko, że upgrade 10.6 dostarcza całkiem sporo nowości i każdy ma szansę znaleźć coś dla siebie. Apple reklamuje Snow Leoparda stwierdzając, że jest to system
"dopracowany, nie przeprojektowany". Muszę przyznać, że ekipa z Cupertino ma rację. Nie znam żadnego innego systemu operacyjnego, który byłby tak spójny wewnętrznie i przemyślany. W życiu używałem już wielu różnych OS'ów - od poczciwego DOS'a, przez różne Linuxy (szczególnie Slackware i Ubuntu) czy Windowsy. Każdy z nich ma swoje mocne i słabe strony. Często krytykowany Windows - także, z resztą Microsoft robi coraz więcej kroków w dobrym kierunku (przy Windows 7). Na moment obecny jednak Mac OS X wypada w moim osobistym bilansie korzyści zdecydowanie najlepiej.