U nas na wyrobisku
31 I 2007, 01:36:16Chaotyczny wpis. Pisany bardzo nie po kolei. Te kawałki z bluzgami były pisane na początku, jak miałem w głowie obrazek siebie spędzającego życie jako programista java, co mnie z leksza drażniło. Te bardziej ironiczne -- na końcu, jak wykombinowałem dalszy plan działania, więc mi się humor poprawił.
Czytam książkę o umlu. Będę mniej więcej znał umla.
Po chuj?
Żeby to rzeczywiście miało jakąkolwiek wartość praktyczną (z zawodowego punktu widzenia), to musiałbym do tego jeszcze dodać jakieś wzorce projektowe (jedna, może dwie książki) i rzecz kluczową -- rzeczywistą znajomość jakiegoś obiektowego języka programowania.
Tylko którego? C#? Java? (To poniekąd to samo.) Java mnie przeraża. Nie ma czegoś takiego jak "programista java". Równie dobrze można mówić o "informatyku". Co to jest programista java? Co on robi? Serwlety, midlety, applety, pierdlety? J2EE, jboss, jini, swing... java2, java3, java4, java5... Widzieliście ostatnie wydania thinking in java? Ja mam encyklopedię tych rozmiarów. A po przeczytaniu tego i tak pewnie bym dalej nie był w stanie nic konkretnego zakodować (bo nie koduje się w javie przecież, koduje się w j2ee, jbossie, etc, etc).
Więc co? C++? C++ to już język niszowy (w porównaniu do javy i c#; nie w liczbach bezwzględnych) i z czasem będzie coraz bardziej niszowy. Jaki jest sens wtłaczania sobie do głowy tej całej obiektowej papki tylko po to, żeby kodować w C++?
W praktyce wybór kariery jest w większości przypadkowy. Jesteś programistą? A dlaczego nie administratorem? I dlaczego programistą j2ee, a nie czegoś innego? Bo na studiach akurat cię uczyli javy, a jak dostałeś staż to z j2ee i ci już tak zostało? Ano właśnie.
Na tej zasadzie ja jestem. Ja nie wiem czym ja jestem. Nie jestem adminem. Prawdziwi admini mają certyfikaty cisco, a ja nie mam certyfikatu cisco. Ja tylko całkiem nieźle znam jedno distro od środka i bardzo lubię wykorzystywać do maksa jego podstawowe narzędzie -- package managera. Tak, pozwala mi to na sprawne stawianie niezagraconych serwerów, ale ja tego po prostu nie lubię robić. Fajnie jest jak już działa, ale kogo może podniecać perspektywa grzebania w konfigach postfiksa, żeby działał z amavisem-new? Nie mnie.
A już na pewno nie mam ochoty zdobyć certyfikatu cisco.
Dla mnie naturalnym środowiskiem jest linia komend. Pliki, rury i takie tam. A jeśli koduję coś, co ma być szybkie, to wtedy używam znajomości C. epoll, dlaczego nie używa się dużej ilości wątków, blokujące sockety, minimalizowanie kopiowania danych, glib, może jakieś mempoole zamiast malloców, minimalizowanie ilości zmian kontekstów (ograniczać sysctle), etc, etc. To jest fajne. Nie wiem dlaczego. Może mam zboczenie, bo zaczynałem od assemblera, a poza tym bycie blisko kernela jest takie sexy.
A jak potrzebuję coś napisać, żeby działało, to używam pythona. Siadam, piszę, działa. Język dla hackerów.
Tutaj jestem bezpieczny. Tutaj wszystko jest proste. Mam swoje segfaulty, coredumpy, epolle, poldki i takie tam inne. Tutaj nie śnią mi się po nocach obiekty w javie. I sama java ze swoim nieskończonym stopniem złożoności.
Ten moment w życiu, kiedy to już nie ja kieruję moimi zainteresowaniami, tylko one mną...
Kurwa, jak ja tego nienawidzę.
Aaa, w dupie to mam. Nauczę się w końcu porządnie C++, przynajmniej nie będzie, że nie znam żadnego obiektowego, a w razie czego może jakieś kde zakoduję. Do tego wezmę się w końcu kiedyś za lepsze poznanie pythona, zwłaszcza tych wszystkich nowych ficzerów z ostatnich kilku wersji. Genericsy, dekoratory, stare typy obiektów, nowe typy obiektów. Co to w ogóle jest.
Jedyna nadzieja z zawodowego punktu widzenia, to jakoś się wkręcić w ten cały opensourcowy światek (jest w polsce coś takiego w ogóle; komercyjne znaczy się?). Albo przynajmniej pracować w, hmm, 'zwinnych' linuksianych firmach (a to jest?). Niech ów światek rośnie na zdrowie, im większy urośnie, tym mniejsza szansa, że wyląduję pod mostem. (A jak chcecie znać moje zdanie, to bardzo bym polecał wkręcenie się w wine'a. Mam niejasne wrażenie, że umiejętność odpalenia dowolnego windzianego programu pod linuksem jest/będzie w najbliższym czasie sporo warta. Zwłaszcza przy obecnym wejściu visty, gdzie firmy mogą stwierdzić, że lepiej im zapłacić komuś, żeby im legacy oprogramowanie odpalił na linuksie i na to zmigrować. Już nie wspominając o skillu z reversingu windzianych programów, który się przy tej okazji zdobywa, a który też ma swoją wartość.)
