środa, sierpnia 25, 2010

Lenie ;-)

Ciekawą, ale i smutną tendencję zauważam wśród developerów. Niechęć do pisania samemu.
Zamiast napisać własne 20-30 linii kodu do BASE64 używają gotowych bibliotek, które niosą ze sobą masę niepotrzebnego kodu i ważą po 0.5-2 MB.

Nie dziwota więc, że wszelkie TopCoder i podobne do znudzenia wykorzystują np. zadanie z pisaniem własnej arytmetyki czy to dla liczb rzeczywistych (dzielenie jest najdłuższe) czy dla macierzy.
90% odpadnie już na tym etapie... ale to smutne trochę.

I tak, wiem że o tym już pisałem i to nieraz ;-)


Podobne postybeta
3 plusy ;-)
~ - czyli "tak sobie"
Raspberry Pi + no-ip.org ;-)
2.68 tryliona nanomaszyn....
Jak wnuk za babcię płaci ;-)

2 komentarze:

  1. ale po co odkrywać Amerykę od nowa? jeszcze jak biblioteki nie ważą po pół mega (skąd ty wziąłeś te liczby?) ;) pierwsza biblioteka do base64 dla javy zajmuje aż 9kb a 4kb po skompilowaniu ;) Nie popadajmy w paranoję, co innego, że programiści to naprawdę lenie do potęgi n-tej. Jeśli ściągną bibliotekę - lenie. Jeśli zaczną pisać własne - lenie, bo nie chciało im się szukać / mają teraz co innego do roboty ale szukają dobrej wymówki ;)

    OdpowiedzUsuń
  2. Komu się chce szukać małej biblioteki? Po prostu biorą pierwszą z brzegu, jakieś commonsy apacha czy coś podobnego i stąd się bierze 0.5 albo 2 MB.
    Najlepiej jak to robią na Androidzie czy czymś podobnym to aplikacja rośnie jak głupia choć nie przybywa jej funkcjonalności.

    A po co odkrywać Amerykę od nowa? Bo czasem to ma sens. Biblioteki należy się nauczyć i poznać jej ograniczenia (np. tego, że biblioteki Harmony gdy wysyła się coś przez sieć używają ByteArrayOutputStream'u co będzie bolało jak wysyłamy duże pliki), a jak potrzebujemy jej małego kawałka to szybciej i bezpieczniej jest napisać kawałek po swojemu, czy nawet użyć jakiegoś przykładowego kodu z internetu.
    No i jest też problem praw do biblioteki, jak w produkcie komercyjnym któryś z developerów użyje czegoś na GPL to mogą być problemy z racji łamania licencji.

    OdpowiedzUsuń