Rubber duck | Gumowa kaczka
English Version: | Polska wersja: |
GDB or Strace are the basic tools for the developer. Thanks to them we have a functioning software. However, when all conventional means fail, one must resort to the ultimate weapon - a rubber duck! Wait ... what? | GDB czy Strace to podstawowe narzędzia walki programisty z jego własnym kodem. To dzięki nim mamy poprawnie działające oprogramowanie. Jednak gdy wszystkie konwencjonalne środki zawodzą trzeba sięgnąć po broń ostateczną – Gumową kaczkę! Chwila … co? |
Someone may ask how these beautiful rubber animals can help developers? Let me explain. | Ktoś może się zapytać jak te piękne zwierzęta w postaci gumowej mogą pomóc programistom? Już tłumaczę. |
![](https://steemitimages.com/640x0/https://www.wykop.pl/cdn/c3397992/dzika_kaczka_bez_dzioba_gEZHgfU4aJ.jpg)
Writing algorithms is not difficult, but it is very easy to make mistakes. Then such program stops working or is working badly. A programmer using this unconventional method can easily trace the code by reading it aloud with the help of a duck. Very often this way we can find the problem and eliminate it. Simple? Yes, of course. | Pisanie algorytmów nie jest trudne, jednak bardzo łatwo się pomylić. Wtedy taki program przestaje działać lub działa źle. Programista używający tej niekonwencjonalnej metody może w łatwy sposób z pomocą kaczki prześledzić działanie kodu czytając go na głos. Wtedy bardzo często znajdujemy problem i eliminujemy ją. Proste? Jasne, że tak. |
This name probably appeared first in the book "The Pragmatic Programmer" by Andrea Hunt and David Thomas. According to the authors, the duck should always be with you and you should solve any IT problems with its help. | Nazwa ta prawdopodobnie pojawiła się pierwszy raz w książce „The Pragmatic Programmer” autorstwa Andrewa Hunta i Davida Thomasa. Zdaniem autorów kaczkę należy mieć zawsze przy sobie i rozwiązywać wszelkie problemy informatyczne za jej pomocą. |
Rubber duck has some other interesting features:
|
Gumowa kaczka ma jeszcze parę ciekawych zalet:
|
If you do not like the duck, you can always use GNU / Tux. However, if you use GNU / Tux using Windows you may not be able to survive the night. | Jeśli kaczka ci nie odpowiada, zawsze możesz używać GNU/Tux. Jednak jeśli użyjesz GNU/Tux używając Windowsa możesz nie przeżyć nocy. |
haha Nikt cię nie posądzi o bycie świrem. Przecież nie rozmawiasz sam ze sobą, a z kaczką! Dobre, naprawde dobre :D
;)
Dobry tekst! Ja czesto gadam sama do siebie podczas pisania czegos :P pomaga :)
Dzięki ;) Tekst miał być trochę żartobliwy, ale też pokazać pewien sposób w informatyce. Gumowa kaczka przeszła do podświadomości programistów (chociaż nie zawsze jako kaczka, a jako sposób radzenia sobie z kodem)
Chyba źle zrozumiałem :)
Ta kaczka jest wymyślona, a ty po prostu czytasz na głos? Czy to jakiś program...?
To raczej taka koncepcja. Niektórzy mają prawdziwą gumową kaczkę (moja siedzi na wannie - tam z nią gadam ;-P ), inni jakiegoś zamiennika - figurkę superbohatera, miniaturkę R2D2, kota, plakat z Einsteinem albo Justinem Bieberem (czy jak to się tam pisze), jeszcze innym wystarcza wyobraźnia. I niekoniecznie polega to na czytaniu kodu, to może też być opisywanie algorytmu, który nam sprawia kłopot, czyli po prostu wypowiedzenie problemu na głos - takie trochę głośne myślenie.
Ja to rozumiem w ten sposób, że możesz tego potrzebować gdy programujesz (lub wykonujesz inne prace wymagające abstrakcyjnego myślenia) w odosobnieniu. Ile ja rozwiązałem swoich własnych problemów programistycznych wyciągając w pracy kolegę z innego projektu na kawę do służbowej kuchni już tylko opisując mu problem, zanim zdążył się jeszcze odezwać. Ale jeśli klepiesz kod w domu, zdalnie, w nocy i nie masz nikogo po drugiej stronie komunikatora, kto by akurat nie spał - to gumowa kaczka jest idealnym partnerem do burzy mózgów - taki trochę pair programming tyle, że bez pary, albo raczej w parze białkowo-gumowej (choć to akurat nie brzmi najlepiej :-) ).