Sunday, October 19, 2008

Windows Vista - czy warto?

Miałem jakiś czas temu okazję pobawić się vistą. Nie poraz pierwszy zresztą. No i potwierdziłem swoją opinię o tym systemie.

WSTĘP (nudne, pomiń ten akapit):
Powiedzmy to otwarcie: Programiści, którzy stworzyli windowsa vistę spartolili kilka spraw.
Ale jak to możliwe? Wiem już, że z oprogramowaniem tak jest często. W korporacjach są ludzie od cięcia kosztów, ludzie od organizacji pracy, ludzie od promocji produktu, projektanci i robole-programiści. Do tego testerzy i inni.
Ale czy to tylko programiści? Nie - to nigdy nie jest wina jednej ze stron.
Ci od cięcia kosztów skroili je zbyt mocno (dlatego w korporacjach trwa ciągła walka między nimi a pozostałymi szczeblami).
Ci od projektu nigdy nie są w stanie wszystkiego przewidzieć i zawsze robią błędy (dlatego zawsze powinni poprawiać projekt w trakcie tworzenia).
Ci od tworzenia oprogramowania na pewno też nie wszystko zrobili najlepiej - mieli zbyt małe kwalifikacje (dzięki temu są tani i dostali pracę) lub dano im zbyt mało czasu.
Menadżerowie nie rozumieją (albo nie chcą zrozumieć), że projekt trzeba zmieniać (a to wymaga znowu programowania).

ROZWINIĘCIE:
- W XP poziom bezpieczeństwa był zbyt niski - popracowano nad tym. W efekcie system Vista jest natrętny i wkurza ciągłymi pytaniami (uważam, że ta funkcjonalność byłaby świetna - gdyby jej nie z***no).
- W XP system wyglądał ładnie i to przekonało część klientów - dlatego vista jest ładniejsza. Ale warto by się zastanowić czy komputer ma być ładny, czy funkcjonalny => jeśli ma być ładny i funkcjonalny to kup Mac'a.
- W Viście spece od marketingu kombinowali jak zarobić więcej - dlatego aby zainstalować sterowniki - muszą być one podpisane cyfrowo przez Microsoft. A to kosztuje - kasę zgarnia Microsoft. Problem: Przez to (i nie tylko) trudno o sterowniki do visty.
- W Viście obcięto funkcjonalność i dodano kilka bajerów za potworną kasę - dzięki temu powstało kilka wersji visty. Tylko czy warto wydać kilka setek $ za odrobinę łądniejsze okienka?
- W Viście dorzucono szyfrowanie dysków (tylko droższe wersje visty). Ale przecież są inne sposoby na osiągnięcie tego samego celu - a do tego lepsze niż ten bit-locker.
Powyżej nie ma nic na korzyść visty.... ale może coś jednak jest w niej fajnego?
- Otóż jest! Spece od marketingu stwierdzili że ich gniot się nie sprzedaje. Aby zwiększyć sprzedaż - biblioteki graficzne DirectX wyszły tylko pod vistę - ale nie pod XP. Oficjalnie architektura XP na to nie pozwala (czyli oficjalnie powinni powiedzieć "spi*liśmy XP"). Ale jakoś w to nie wierzę...
- 64 bity! Ejże... przecież był XP 64. Czyli nic nowego. Poza tym pod 64 bitową vistą wszystko działą jeszcze wolniej niż pod 32-bitową.

ZAKOŃCZENIE:
XP jednoznacznie wygrywa z vistą (pomimo niedociągnięć) - został jednak wykluczony z walki przez sędziów (spece od marketingu) czyniąc Vistę zwycięzcą.

POSŁOWIE:
Po-słowie - nie chodzi mi o nierobów polityków (choć nie wszyscy z nich są nierobami), tylko o to, co się dodaje po zakońćzeniu części właściwej.
Odpowiem (przynajmniej spróbuję odpowiedzieć) poniżej na 3 pytania:
(1)Dlaczego jest tak niewiele oprogramowania 64-bitowego? (2)I dlaczego jest ono wolniejsze? (3)Na co komu 64-bity?

(3) Bez wdawania się w szczegóły - systemy 32-bitowe bez problemu dają radę z niecałymi 4 GiB pamięci. Nie oznacza to jednak, że obsłużenie większej ilości pamięci nie jest możliwe.
Niewiele jest aplikacji wykorzystujących tyle pamięci. Są to zazwyczaj gry i skomplikowane aplikacje obliczeniowe. Zazwyczaj jednak możnaby bez problemu przepisać takie oprogramowanie tak, aby działało na mniejszej ilości pamięci. Problem w tym, że programista woli zrobić tandetę na szybko, ale za to często, niż jedną perłę w życiu - ale za to przez cały swój żywot nie mieć kasy na życie.

(2) Dlaczego 64-bity są wolniejsze?
i od razu
(1) Dlaczego jest tak niewiele oprogramowania 64-bitowego?
W programowaniu używa się wskaźników do miejsc pamięci. To tak jak np. numer telefonu.
32-bitowy wskaźnik jest mniejszy niż 64-bitowy.
Tak samo, jak wybranie/zapisanie numeru telefonu składającego się z 4 cyfr jest szybsze i zajmuje więcej miejsca niż wybranie/zapisanie 8-cyfrowego numeru - tak samo operowanie na takich wskaźnikach może być wolniejsze i wymaga więcej miejsca w pamięci.
Teraz niespodzianka - w systemach 64-bitowych (w zasadzie mówi się o architekturze x86_64) wszystko działa szybciej. Problem w tym, że na x86_64 można uruchomić oprogramowanie 32-bitowe. Po co więc robić osobno plik na 32 i 64 bity jak wystarczy jeden? A jak się tworzy oprogramowanie 64-bitowe to zazwyczaj wstarczy ten sam kod (32-bitowy) wykorzystać aby zrobić coś 64-bitowego.
Tutaj rodzi się problem - rezygnujemy z części przyspieszenia które daje nam x86_64. Ale skoro na pierwszy rzut oka nie widać różnicy to po co przepłacać za tworzenie oprogramowania? Tak przynajmniej myślą wielkie firmy tworzące to oprogramowanie.

Jest jeszcze jedna sprawa. Sterowniki na 64-bity (jeśli w ogóle są) - nie są tak dopracowane jak te na 32-bity. Dlatego cały system jest wolniejszy.

Jeśli ktoś to przypadkiem czyta to serdecznie pozdrawiam :)

No comments: