środa, 29 czerwca 2016

Suchar informatyczny #3

Suchar informatyczny na dziś:

"– Dlaczego programista na umycie głowy zużywa całą butelkę szamponu?
– Bo w instrukcji jest napisane: nałożyć, spłukać, czynność powtórzyć."

Komentarz dla nie-informatyków:
        Informatyk, jako stworzenie piszące instrukcje (dla komputera) z założenia instrukcjom się bezrefleksyjnie poddaje (jak komputer). Dlatego łatwo nim kierować - postępuje zawsze według instrukcji. Dlatego też trudno nim kierować - postępuje zawsze według instrukcji. Nieprecyzyjne instrukcje (choćby wspomniane niedawno polecenie obrania połowy ziemniaków) informatyk stara się zrealizować precyzyjnie, co czasem prowadzi do kupienia 6 butelek mleka zamiast butelki mleka i 6 jajek.
        Powyższy suchar opiera się na konstrukcji zwanej pętlą nieskończoną. Dlaczego zatem wspomniany informatyk zużywa butelkę szamponu i kończy jednak mycie głowy? Otóż butelka szamponu ma ograniczoną pojemność. Pomimo najszczerszych chęci nie da się czynności powtórzyć, gdy szamponu brak. "Ale przecież pętla nieskończona być miała" - zauważycie słusznie. Ano miała. Jednak brak szamponu generuje wyjątek EMissingShampooException, a to powoduje przerwanie pętli i przywrócenie informatyka do normalnego życia. Można go znowu wysłać po mleko i jajka.

Dziękuję za uwagę.

9 komentarzy:

  1. Jacuniu, to cecha męska, obejmuje całą płeć męską, bez podziału na specjalność zawodową.
    A poza tym jeśli wyczyta w instrukcji "nalać na rękę niewielką ilość szamponu" pół dnia straci nim wykombinuje jaka to jest ta "niewielka ilość".
    Miłego;)

    OdpowiedzUsuń
    Odpowiedzi
    1. I bardzo słusznie będzie kombinował. A bo to nie można napisać "wycisnąć na dłoń 5 mililitrów szamponu"? I wszystko byłoby jasne.

      Usuń
    2. Jakby napisali, żeby wycisnąć 5 mililitrów, to powinni też dołączyć stosowną menzurkę. Inaczej zamiast kombinować ile to jest "niewielka ilość", informatyk zacznie kombinować jak odliczyć cholerne pięć mililitrów. I całą ciepłą wodę wytraci w międzyczasie na bezdurno.

      Usuń
    3. Ale 5 mililitrów daje chociaż nadzieję na rozwiązanie problemu z skończonym czasie. I przy okazji rozbudzi kreatywność. A "niewielka ilość" wpędzi informatyka w depresję. Stad zresztą zapewne spora liczba informatyków rozczochranych z włosami, które dawno szamponu nie widziały. Uważa się ich za przegrańców, a tymczasem oni właśnie są bohaterami, którzy wyrwali się z procedury bez wyjścia. Chwała im.

      Usuń
  2. Spoko, Ciebie akurat ten algorytm nie dotyczy. Chyba, że zapuściłeś wąsy. Zapuściłeś?!

    OdpowiedzUsuń
    Odpowiedzi
    1. I wąsy, i brodę. Ale tam jest o myciu głowy, a głowę myć można nawet nie posiadając na niej włosów. Ha.

      Usuń
  3. Dla niewtajemniczonych: i to jest właśnie Twój przypadek. Gdyż matematyka lubi upraszczać i wartość 4 (np mm) zaokrągla w dół, do zera.

    OdpowiedzUsuń
    Odpowiedzi
    1. Aż zadrżałem z oburzenia. Matematyka, owszem, lubi upraszczać. Ale we wzorach musi się wszystko zgadzać. Nie można ot tak sobie zniknąć 4 mm. Gdyby zaokrąglać 4 mm do 0, to by się okazało, że litrowa butelka szamponu jest tak naprawdę pusta, gdyż składa się z z wielu czwórek, z których każdą możemy zaokrąglić do 0. Nie. Skracamy - tak. Znikamy - nie.

      Usuń
    2. E tam, pitolenie. Wystarczy zmienić jednostkę. 4 milimetry to niecałe dwie stutysięczne furlonga. Zaokrąglamy w górę do pełnych dwóch stutysięcznych furlonga i już mamy o dwie setne milimetra więcej (i w dodatku ładnie zaokrąglone!)

      Usuń