Programista - niczym doktor?

Odpowiedz Nowy wątek
2014-12-17 17:10
Krwawy Samiec
1

Ostatnio się zastanawiam nad zawodami, które przypominają zawód programisty.
Pierwszym co przychodzi do głowy to oczywiście budowlaniec / architekt.
Występuje tam szkicowanie projektu, założenia, struktura, dokumentacja, oczekiwania, czas, następnie implementacja - budowanie no i na końcu utrzymanie przy życiu. Jednak brakuje mi w tym wszystkim debbugowania. Budowlaniec nie debugguje budynku, nie wykonuje refaktoryzacji, nie zmienia modułów zależnych od siebie. Wszystko przebiega liniowo i przypomina bardziej programowanie z dawnych lat 80-90 niż dzisiejsze.

Sądzę, że programowanie można porównać bardziej do pracy lekarza, doktora, farmaceuty.
Tworzone są medykamenty (projekty), które przechodzą różne etapy rozwoju, a na końcu dystrybucji i utrzymania (ewentualnie rozwoju). Tabletki takie mogą działać, mogą nie działać lub też wykonywać inne nieprzewidziane działania. Następuje wtedy faza wykrycia problemu, znalezienie rozwiązania i jego wprowadzenie w życie.

Podobnie jak podczas leczenia pacjenta, należy zdiagnozować problem, wpaść na pomysł jego rozwiązania, a następnie wprowadzić w życie. Czasami pacjenci umierają, co może być alegorią do zamknięcia projektu, zakończenia jego rozwijania i utrzymywania.

Fragmenty w kodzie oddziałują na siebie wzajemnie, podobnie jak w ludzkim organizmie. Jeśli boli nas serce to związane może to być z wieloma czynnikami, podobnie jak w kodzie. Problem może być ciągnąc za sobą różne skutki, ból w piersiach, gorączka, potliwość, duszność i na końcu wychodzi Exception.

Co o takim porównaniu myślicie?

Pozostało 580 znaków

2014-12-17 17:17
m.
3

naiwe, życzeniowe... programista jest jak bezdomny, który często do odziedziczonego po innym szałasu dokleja kolejne deseczki i śmieci, żeby nie ciekło... w marzeniach jest architektem, ale na codzień łata dziury, żeby innym na łeb nie padało, bo go inaczej pogonią, a oni chcą mieć względnie sucho dziś, a nie w jakiejść dalekiej przyszłości, w jakiej możnaby od nowa zbudować porządny dom... :]

Pozostało 580 znaków

2014-12-17 17:30
adruab
0

programista jest jak bezdomny,
który często do odziedziczonego po innym szałasu dokleja kolejne deseczki
i śmieci, żeby nie ciekło...
w marzeniach jest architektem,
ale na codzień łata dziury, żeby innym na łeb nie padało,
bo go inaczej pogonią, a oni chcą mieć względnie sucho dziś,
a nie w jakiejść dalekiej przyszłości, w jakiej możnaby od nowa zbudować porządny dom...
m.

jakbyś usunął kursywe i zamienił to na normalne zdania, to by nikt się nie domyślił, że to miał być wiersz - a nie, czekaj, to można powiedzieć o połowie współczesnej poezji :D - Wizzie 2014-12-17 18:51

Pozostało 580 znaków

2014-12-18 06:06
Tgc
0

Programista jest niczym artysta malarz, tworzacy piekne obrazy, ktoremu kazali pomalowac sciany w mieszkaniu... gownem.

edytowany 1x, ostatnio: Tgc, 2014-12-18 06:15

Pozostało 580 znaków

2014-12-18 07:42
0

Wyobraź sobie grupę architektów, która poprawia czyiś sknocony projekt.
Taddaaa...

Pozostało 580 znaków

2014-12-18 08:05
cepa_nz
4

Artysta? Doktor? Buahahah taaaaaa... zwłaszcza w robocie :D

SZAMBELAN to chyba najlepsze określenie, bo najczesciej robota programisty to pompowanie szamba jak sie przelewa, ewentualnie rzezbienie w gownie jak klient nowy ficzer sobie zarzyczy :P

*zażyczy ;p - EroSanin 2014-12-18 08:13

Pozostało 580 znaków

2014-12-18 08:46
2

Co do debugowania - budowlaniec jak najbardziej ma cos takiego, poprzednia ekipa robi w ten sposob, albo gorzej: http://mieszkanicznikodpodsze[...]-takich-ekip-remontowych.html i trzeba sytuacje prostowac.

A zmiana modulow? Np. burzenie badz przesuwanie scianek (i tu moga wchodzic: rurki od gazu, wody, ogrzewania, prąd etc.)

Informatyk przynajmiej ma VCS (przewaznie) i moze sie cofnac jak cos sknoci:)

Najpierw jak doktor, potem architekt, teraz budowlaniec - zaraz zaczną się porównania do "konserwatora powierzchni płaskich" :D - Sebastiano 2014-12-18 09:39

Pozostało 580 znaków

2014-12-18 10:03
3

Programista podobny jest do skarbu ukrytego w ziemi.


"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." Robert Heinlein.

Pozostało 580 znaków

2014-12-18 10:28
m.
0
datdata napisał(a):

Programista podobny jest do skarbu ukrytego w ziemi.

Tia, na codzień nikt go nie widzi w tej ziemi i traktuje jak robaka, a jak trzeba znaleźć kogoś winnego znaleźć i mu dupę skopać, to go spod tej ziemi szybko wygrzebią :]

Pozostało 580 znaków

2014-12-18 11:35
0

programista jest jak dziecko:

  • Patrzy się w kolorowe literki, przesuwa je po ekranie, pisze własne - a potem odpala i cieszy się, że mu się coś tam wyświetliło. Przypomina to jakąś zabawkę edukacyjną dla dzieci.

  • czasami pisze słowa bez sensu, takie jak "lorem ipsum", "asddddsdssa", czy "dupa". Twierdzi, że "to tylko tak testowo"

  • jak korzysta z jakiegoś programu, to myśli o tym "jak go zrobiono", próbuje go rozkręcić. Jak wchodzi na jakąkolwiek stronę, to od razu patrzy w źródło, czy otwiera narzędzia dla programistów i próbuje ją albo zhakować, albo skrytykować kod, albo dowiedzieć się jak ktoś zrobił taki i taki efekt. Trochę jak dziecko, które rozkręca i psuje zabawki.

  • nie umie do końca pisać i nie wie wielu rzeczy, więc lubi takie ficzery w IDE jak autocomplete, dzięki którym może napisać literkę G, i się samo napisze "getSomething" i nauczyciel-IDE przypomni mu jakie są parametry. Nauczyciel-IDE też podkreśli mu na czerwono wszystkie błędy jakie popełnił w programie. Także ma przykazane pisanie testów, które służą temu, żeby jakiś inny programista niczego nie zepsuł w przyszłości. Bo przecież inny programista też jest dzieckiem, więc też coś zepsuje, jak będzie mógł. Stąd potrzeba testów jednostkowych. Stąd też potrzeba kontroli wersji, żeby można było przywrócić zepsutą przez kogoś wersję.

  • ma problem z planowaniem większych rzeczy, więc często robi coś, co go przerasta, czego wynikiem jest później ciągłe zmienianie ("refaktoryzacja") kodu, bo przecież programista nie jest w stanie zrobić czegoś raz a dobrze, tylko to wszystko taki eksperyment i każdy programista w zasadzie "dopiero się uczy". Trochę jak dziecko biorące się za zrobienie reaktora jądrowego.

  • powyższe to raczej tryb Agile - ale jest też druga szkoła, czyli waterfall z mnóstwem kolorowych obrazków i strzałeczek (podobno nazywa się to UML, ale w zasadzie wymyślono to tylko po to, żeby programista/analityk/itp. mógł sobie porysować ;)

Podsumując - aż dziwne, że programowanie jeszcze jakoś się trzyma, bo wszystko jest oparte na jakimś tam wielkim eksperymencie i zabawie.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2014-12-18 11:36

Pozostało 580 znaków

2014-12-18 11:41
0

Myślę, że porównanie programisty do budowlańca jest najlepszym porównaniem. Czasem trzeba wprowadzić jakieś poprawki - gdzieś domalować, coś rozebrać i przerobić. Można nazwać to takim debugowaniem. Po jakimś czasie może pojawić się potrzeba przesunięcia ścianki działowej, wymiany podłogi lub przemalowania. Testowanie też jest obecne gdy sprawdza się różnego rodzaju instalacje. Elektryk sprawdzi czy światło się świeci, zanim zwinie sprzęt i pójdzie do domu (taką mam nadzieję ;)).
BTW: Poznań City Center przy dworcu głównym zaliczył produkcyjny crash. Połowa podwieszanego sufitu spadła na jednym piętrze ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0