Tuesday, October 21, 2008

Dexter, MacBook & product placement.

A dzisiaj coś z zupełnie innej beczki, a mianowicie produkt placement firmy Apple.

Chyba każdy z nas oglądając produkcje filmowe z USA zwrócił uwagę na te laptopy z jabłuszkami na pokrywach, prawda ? Występują one niezwykle często, myślę, że popularność ich w filmach i serialach jest dużo większa niż w rzeczywistości.

Na filmach pokazani są super-fajni ludzie, a przecież ci jak wiadomo korzystają wyłącznie ze sprzętu firmy Apple :). Mogłoby się wydawać, że ten produkt placement jest nachalny i mocno przypadkowy (tzn. Apple mówi, chcemy żeby w Waszym firmie grały Mac'i i wszystkie komputery w danym filmie maja logo ogryzka...).

Oglądając ostatni odcinek serialu Dexter, bliżej się temu product placement'owi przyjrzałem. Product placement jabłuszek jest dużo bardziej podstępny niż nam się wydaje :) (zgodnie ze spiskową teorią dziejów).

Wydawałoby się że wszystkie komputery w Dexterze to Mac'i, nic bardziej błędnego. Ostatni obejrzany odcinek doprowadził mnie do bardzo ciekawych wniosków (sezon 3, epizod 3).

Na posterunku policji wszyscy korzystają z komputerów HP. Takie nudne miejsce, nudni ludzie korzystający z nudnych komputerów ;). Wyjątkiem jest Dexter, korzystający ze swojego MacBooka Pro, zarówno w domu jak i w pracy.


No właśnie Dexter zawsze korzysta z Mac book'a, no ale cóż on jest fajny i nie można mu się dziwić, że wybrał Mac'a w końcu fajnie ludzie wybierają fajne komputery.


Ale najlepsze na koniec. W ostatnim odcinku pojawił się niejaki Nathan Marten, mający na koncie wyrok za pedofilie, a obecnie dobierający się do rodziny Dexter'a.
Bardzo zły gości, nie sądzicie ? Jakiego komputera może używać taki zły do szpiku kości drań ? I tu niespodzianka! Nathan używa wypasionego laptopa firmy Alienware.


Firma ta zajmuje się budowaniem modeli z górnej półki dla graczy! Tak te komputery adresowane są dla graczy. Tak więc, jak czarne kapelusze to gracze. Pedofil nie mógł wybrać Mac'a bo jest zdecydowanie niefajnym człowiekiem.

Nie traktujcie tego artykułu zbyt poważnie :)

Wednesday, October 8, 2008

Pragmatyczny programista vs. Crtl+space

Ostatnio okazyjnie nabyłem książkę Panów: Andrew Hunta oraz Davida Thomasa pod tytułem "Pragmatyczny programista". Warto dodać że książka ta została wydana w 2000 roku (w USA, w Polsce 2002).

W rozdziale o narzędziach, autorzy przekonują do tezy, że programista powinien posługiwać się biegle jednym edytorem tekstu i używać go wszędzie, gdzie się da. Tłumaczą, że maestria w posługiwaniu się jednym prostym narzędziem, jest znacznie ważniejsza niż wyręczanie się kombajnem w rodzaju IDE.
Dla mnie teza ta jest dzisiaj już trochę nieaktualna. Wyobraźmy sobie kogoś kto nad projektem w JEE (z wykorzystaniem np. spring, hibernate, struts) pracuje np. vi. Znałem osobiście jednego programistę który taki styl pracy preferował ale do pewnego czasu. Kiedy poznał Intellij Idea (to nie jest blog sponsorowany) i zapoznał się z klawiszologią jego praca stała się nie tylko szybsza i prostsza ale także mniej błędogenna.

Czy więc dzisiaj słowa zawarte w pragmatycznym programiście są nadal aktualne?

Od 2000 roku wiele się zmieniło, wystarczy spojrzeć jakie wtedy były IDE i jakie są teraz... Dzisiaj Eclipse czy IDEA to nie tylko produkty tworzone pod kontem konkretnego języka. To rozwiązania do których istnieje całe bogactwo rozszerzeń, dzięki którym praca programisty staje się nie tylko prostsza ale także mniej błedo genna.
Często bowiem zdarza się, że edytując config w xml popełniam literówke. Błędy zawarte w plikach konfiguracyjnych wychodzą dopiero podczas działania aplikacji. Wykrywanie takich błędów jest więc bardzo kosztowne, ponieważ trzeba aplikacje zbudować, uruchomić i jeżeli będziemy mieli szczęście to wyłapiemy błąd podczas uruchamiania aplikacji, jeżeli nie to będziemy go musieli wy klikać.
Gdy mamy do dyspozycji IDE, z walidacją tych configów błąd lub ostrzeżenie zobaczymy na ekranie w momencie jego popełnienia, tak więc IDE oszczędza nam w tym wypadku wiele pracy. Dodatkowo IDE podpowie także w xml nazwę pakietu czy klasy.
Dodatkowo dzięki IDE zwiększa się czytelność kodu (autoformatowanie) i nawigacja po strukturach klas i interfejstów jest bardzo ułatwiona.

Dzisiaj IDE zaspokaja w 99% potrzeby programisty, ale fakt jest faktem, że raz na jakiś czas trzeba coś zrobić poza nim. Wtedy trzeba użyć narzędzi o których piszą autorzy "Pragmatycznego programisty". Maestria w posługiwaniu się nimi jest atutem, ale czy koniecznością ?

Jak widać wiele się zmieniło w ciągu ostatnich paru lat w pracy programistów. IDE jest dzisiaj ważnym narzędziem bez którego ciężko się obyć. Należy jednak pamiętać, że IDE to tylko narzędzie i nie ma w nim magicznych krasnoludków, które wszystko za nas zrobią. Niestety efektem ubocznym korzystania z IDE jest często niewiedza, co tak naprawdę się dzieje pod spodem, co IDE robi za nas. Spotkałem już "programistów" którzy tworzyli programy w IDE, a gdy poprosiłem ich o uruchomienie ich z linii poleceń, nie potrafili tego zrobić :) Podobne anegdotki, krążyły o programistach korzystających z Visual Studio, że nie piszą oni kodu, a go wyklikują.

Podsumowując, świat idzie na przód i narzędzia też i sam edytor to dzisiaj stanowczo zbyt mało. Dzisiaj maestria w posługiwaniu się IDE jest coraz bardziej wskazana, należy być jednak świadomym tego co IDE za nas robi (czasami może nam coś popsuć i wtedy wiemy gdzie szukać błędu), bo czasami nadchodzi chwila w której musimy stanąć twarzą w twarz z linią poleceń.