Kako razmišljaju programeri

Svako ko se okušao u programiranju zna da je strpljivost ključ uspeha. Ponekad, a naročito kada počinjete da učite, provešćete sate tražeći problem u kodu, da bi se ispostavilo da vam fali jedna tačka-zarez. I to je sasvim okej, dok god ste dovoljno uporni da pronađete tu grešku.

Pošaljite komentar
  1. Ovo je upravo većinom istina. Sve je tačno navedeno. Isto tako postoje FB grupe poput [link]/ koju koriste web programeri za pomoć u Srbiji i okolini gde programeri pomažu jedni drugima.
    (Irena, 9. maj 2017 09:06)

    # Link komentara

  2. Svaka cast za clanak, odlican je!
    (Mi6, 6. maj 2017 02:17)

    # Link komentara

  3. a tekst je pisao profesionalni modni stilista?

    kad fali ; kompajler to odmah prijavi, pravi problemi nastaju kada sve prodje, program startuje i onda se razleti kao kula od karata...
    (wer, 5. maj 2017 19:19)

    # Link komentara

  4. Vecina ih ne razmislja vec radi copy/paste sa stackoverflow-a i drugih izvora sa interneta kod bilo kog ozbiljnijeg problema.
    (Pera, 5. maj 2017 12:05)

    # Link komentara

  5. Ja sam uspeo da napravim prvi funkcionalni algoritam koji sa velikim procentom uspešnosti muva devojke na Fejsbuku. Kada program obradi input koji dobija od druge strane, on bira najbolji mogući odgovor koji u najmanju ruku garantuje da se razgovor tu neće završiti. Na primer, ukoliko devojka odgovori sa “nemam sad vremena da ćaskam”, program prelazi u asertivni modus sa “ zašto, moraš da ideš negde da budeš slatka, hehehe”.

    O savršenosti mog programa govori i podatak da prepoznaje i gramatičke greške sagovornice i na osnovu toga podiže ili spušta nivo zavođenja od nivoa “lako” do “inteligentno”. Jedan od sigurnih znakova da sve ide po planu su kada devojka počne da ostavlja tri tačke na kraju rečenice, što je ekvivalent “ uvrtanju pramena kose za vreme razgovora uživo”.
    (ispran mozak, 5. maj 2017 11:13)

    # Link komentara

  6. p: realno o tome treba pažnju da vodi kompajler, ali nisu svi podjednako dobri i verbozni i nisu sva razvojna okruženja dobra. Ja recimo radim (silom prilika) u jednom koje podvlači red sa greškom ali ne daje informaciju koja je tačno greška do kompajliranja. A ako sam skontaš i ukloniš onda red nije više označen. Znači IDE zna koja je greška a neće da kaže. Kada kaže nekad je samo generična porula o grešci. A najgore mi je kada pišem fajl koji ima html, css, sql, jedan egzotičan OOP jezik i neke templating komande. Jedina pomoć IDE-a sem za taj OOP jezik je upozorenje na nezatvorene tagove i navodnike. Taj jezik nema line terminator i odvikao sam se od toga. Onda uzmem i napišem 100 linija javascript koda i na 10 mesta zaboravim ; a kompilacija prođe. Pa traži grešku. A arhitektura nije moja, ali tehnologija zahteva css u istom fajlu :(
     (Nemanja, 5. maj 2017 09:49)

    # Link komentara

  7. Moze ovako:

    if ( age < 100 ) { … /* If the age is less than 100 */
    printf ("You are pretty young!\n" ); /* Just to show you it works... */
    }

    ali moze i ovako:

    if ( age
    (ajd ja - c, 5. maj 2017 08:53)

    # Link komentara

  8. Bas tako. Opsesija i upornost. Ja sam ucio bez google-a i bilo je mnogo nezgodno. Odavno nisam procitao neki clanak kao sto je ovaj. Bez demagogije i popularizma. Svaka cast.
    (Ramon, 5. maj 2017 08:53)

    # Link komentara

  9. Najzanimljivija stvar je sto oko 70.000 linija koda držim u glavi i znam gde je svaki mali delic smešten, ali ne mogu da zapamtim bilo koji broj telefona, datum bilo čega, drugove iz skole, pa cak i bivse devojke,...
    (cyberpank, 5. maj 2017 08:18)

    # Link komentara

  10. Pozdrav
    (Vlada Tasic, 5. maj 2017 07:18)

    # Link komentara

  11. Programiranje je kao i medicina. Mora da se uči i usavršava ceo život. I zahtevan je posao. Mora da se radi dobro i kvalitetno.
     (Lucius Fox, 5. maj 2017 04:30)

    # Link komentara

  12. Previse ljudi sebe smatra programerima samo zbog toga sto su naucili da koriste alate, kao da to je neka velika nauka. Programer je neko ko RAZUME kako to sto programira funkcionise, a ne neko ko samo zna da koristi gotove module i samo ih sklapa ko lego kockice. To bi bilo isto kao kada bi neko ko pritiska dugmice i kontrolise robota koji sklapa automobil sebe smatrao konstruktorom motora. Kvalitet takvog softvera je blago receno uzasan. Masa tih "programera" ne zna cak ni stvari kao sto su osnovni algoritmi i strukture podataka.
    (mov, 5. maj 2017 02:59)

    # Link komentara

  13. ©Evo kako razmisljaju programeri: 
    Pošalje žena muža programera u prodavnicu i kaze: 
    - Kupi margarin, a ako ima jaja - kupi 10 komada.
    Muž se vraća kući, stavi na sto 10 margarina i kaže: Bilo je jaja.
    (Sava, 04. maj 2017 15:45)

    ..ili kad na profesor kaže: "napiši nešto"..
    napiše "nešto"...
     (djuro, 5. maj 2017 01:49)

    # Link komentara

  14. "Najlaksi novac je novac u IT-u. Placeni su dobro jer ih je malo...
    (Zoom, 04. maj 2017 21:22)"

    Najlaksi je novac u voznji kamiona:
    Prvo, ne smes da vozis vise od zakonskog maksimuma.
    Drugo, kad ugasis motor ne moras da razmisljas o poslu do sledeceg palenja motora.
    Trece, vreme za obuku za novi kamion je vrlo kratko.
    Cetvrto, direktor vrlo dobro zna koliko danas mozes da odvezes i nece postaviti pitanje zasto nisi napravio 20000 km u toku jednog radnog dana.
    Peto, da postanes sofer dovoljno je svega nekoliko mjeseci obuke.
    Sesto, svaka voznja je za sebe, ne mozes dozivjeti da te proganja probusena guma od prije 174 dana ili da ti neko reklamira voznju nakon 3 godine.
    Sedmo, i soferi su jako dobro placeni i neto zarade su im cesto vrlo uporedive sa zaradama u IT.
    Ima jos, ali mislim da si shvatio poentu...
     (Eskim, 5. maj 2017 01:46)

    # Link komentara

  15. tekst u centar, bravo
    dibaging, i ono da ne vidite "tačka zarez", zahteva timski rad u smislu, "kolega, šta mi ovde ne valja" - i kolega odmah vidi jer onaj ko je pisao program i gleda u njega par sati ne vidi očigledan problem, ČINJENICA
    možda se ne bih složio za timski rad jer ne može svaki problem da se podeli na više ljudi, ali postoji i druga strana medalje gde ono o egu radi posao a to je da možda tvoje rešenje nije najbolje za dati problem
    OSNOVA PROGRAMIRANJA je naučiti na kom nivou računar može da reši dati problem (tj, da sabere, oduzme, pomnoži, izbroji, uporedi...) i deliti taj problem do tog nivoa, jezik onda nije bitan... KONCEPT PROGRAMIRANJA
    a primenljiv je i na realni život...
    (27 godina programiram, 5. maj 2017 01:23)

    # Link komentara

  16. Pored svega navedenog, za mene je jos dok sam bila junior programer, dobra pouka bila: Budi siguran da razumes zahtev sistem ili biznis analiticara, tj. onoga ko trazi da se nesto isprogramira. Postavljaj pitanja sve dok u najsitnije detalje ne znas i najmanje detalje. Ne smes nikako da prepostavljas kako nesto treba da radi. Ako to ucinis sigurno ces nesto pogresiti i krajnji rezultat nece biti kako je zahtevano. Pitaj i pitaj.
    (nena - Canada, 5. maj 2017 00:20)

    # Link komentara

  17. @Sava
    I meni je prvo taj vic pao na pamet kad sam procitala naslov. Muz i ja smo programeri, oboje vec preko 20 godina. Tekst poprilicno oslikava stvari, ali vic pogadja u kost :-)
    Jednom, prije dvadesetak godina, sam stvarno provela popodne trazeci gresku u tudjem kodu i bila je tacka, ne tacka-zarez. Pri tom sam sjedila kod klijenta u kancelariji i on je sve vrijeme gledao preko mog ramena kako greska brise unesene obracune plata. Bio je Clipper 5.1 i debagovali smo na upornost i komentarisanje blokova koda. Clanak me podsjetio na to i vratio u romanticnu mladost, prije gugla, kad su se odgovori trazili razgovorima i u gomilama knjiga, ali najcesce cistim inatom.
     (zena-zmaj, 5. maj 2017 00:14)

    # Link komentara

  18. Neke stvari i nije moguće eksplicitno isprogramirati, već se koriste knowledge-based algoritmi ili čak programi i programski jezici.

    Primer je Wolfram, čiji softverski paket može da izračuna beskonačnu sumu i kao rezultat izbaci konačan izraz ako ta suma ima konačnu vrednost i može se izračunati eksplicitno ne koristeći približne vrednosti.

    Banalan primer je suma kvadrata recipročnih vrednosti svih prirodnih brojeva (1+1/4+1/9+....), što je naravno Pi^2/6, ali Wolfram daje rezultate i za mnogo složenije beskonačne sume, često preko Gama, Beta ili Zeta funkcija, itd.

    Takve stvari je nemoguće ručno isprogramirati - radili su to kod prvih verzija za jednostavnije stvari, ali su kasnije uradili algoritme koji "prikupljaju" znanje i na osnovu tog znanja rešavaju za njiov softver potpuno nove probleme i daju tačna rešenja.


    Takođe, AI brzo napreduje pa danas postoje mnogobrojne platforme koje možete "trenirati" da igraju igrice, šah, voze auto, ili analiziraju medicinske podatke za milione pacijenata.

    Za ne više od decenije postavljaće se pitanje da li hoćete da učite da pišete programe dajući im svo vaše znanje (dakle, za simulacije fizičkih pojava morate odlično poznavati i fiziku i programiranje) ili hoćete da pišete programe koji će moći sami da UČE i na osnovu naučenog sami rešavaju potpuno nove probleme koje čak ni vi sami ne umete da rešite.
    (matematičar, 5. maj 2017 00:02)

    # Link komentara

  19. Dobar clanak. Zaista, strpljenje i upornost, posvecenost i verovanje da ce to sve na kraju raditi kako treba cak i kada situacija deluje prilicno beznadezno. Najbitnije je ostati stalozen i fokusiran kad se sve raspada a rokovi su blizu, ali to dolazi vremenom.
    Za tacka-zarez, manje vise. Cak i kako nesto tehnicki odraditi, to se sredi, snadjes se ovako ili onako (neki prethodni kod, google, stackoverflow...). Build, compile, pukne ovde, sredi tamo, to uvek nekako prodje na kraju.
    Onaj deo koji je zapravo najtezi je kada je sve proslo, ali rezultati nisu skroz tacni. Management misli da je to sad sitnica srediti, samo eto malo doraditi, doterati (jer, zaboga, aplikacija je napravljena), onda pritiskaju da se to brzo finalizira, javljaju dalje da je to prakticno zavrseno, a ti kao developer nemas pojma ni od prilike koliko ce ti vremena trebati da ustanovis sta pravi problem i da ga resis. Taj deo ume da bude stresan, a inace je posao uzivanje ako volis da se zanimas time.
    (ja, 4. maj 2017 23:39)

    # Link komentara

  20. Biti programer danas je daleko, daleko lakse nego nekada. Alati, dostupnost gotovih biblioteka i informacija su bukvalno od programera napravili korisnika. Na zalost, to je za posledicu imalo da se kvalitet koda drasticno srozao. Skoro niko danas ne razmislja o optimizaciji. Kad samo pogledam kakve mocne masine imamo danas koje se guse u moru programerskog djubreta ...
    (Pr, 4. maj 2017 23:31)

    # Link komentara

  21. Mislim da se dosta mladih takoreci "napale" na programiranje i onda upisu neke IT kurseve gde misle da ce nauciti za mesec dana da naprave cudo od aplikacija... I kada vide da to nije bas tako napuste... Ovo je struka gde treba dosta raditi na sebi i vecito usavrsavanje...
     (Inzenjer, 4. maj 2017 22:14)

    # Link komentara

  22. Petre, objasnio si. Ipak mislim da je upornost ključ uspeha u svakom, pa tako i u našem poslu.
     (milan82, 4. maj 2017 22:02)

    # Link komentara

  23. ... kad postaneš programer i napises svoj prvi kod koji je u produkciji, stani, razmisli i zapisi sa strane svoje odgovore. Da li je projekat funkcionalan? Da li sam zadovoljan kodom? Kako je dizajniran, organizovan kod, performanse, testovi... E onda nakon godinu dana pogledajte isti kod i postavite sebi ista pitanja. Ako je odgovor isti, onda ste ili rođeni genije (sto je retkost) ili niste nista naučili za tih godinu dana.
    (Zeljko, 4. maj 2017 21:52)

    # Link komentara

  24. Programiranjem ne treba da se bavi onaj koji to radi samo zato sto zna da ce dobro da zaradi jer iz licnog iskustva od takvog nikad nece biti dobar programer. Takodje kao devojka programer, kojih na zalost ima jako malo, da bi se bavila programiranjem to stvarno mora da se voli jer cete nailaziti na prepreke kako u radu tako i okruzenju jer ima puno onih koji idalje misle da je ovo "muski posao". Sve u svemu programiranje nije samo posao jer ono postane i deo zivota, to nije posao od devet do pet koji ostavljate kada odete sa radnog mesta tako da svako ko razmislja o bavljenju programiranjem treba to da ima na umu :)
    (Lela, 4. maj 2017 21:46)

    # Link komentara

  25. Najmanji problem je tačka-zarez. Današnja moderna razvojna okruženja gotovo da sama ispravljaju kojekakve sintaksne greške.
    Problemi koji se javljaju su semantičke prirode. Npr. sinhronizacija tredova, klijent-server komunikacija, itd... Osnova za programiranje je korišćenje debuggera, kao i praćenje steka promenljivih.
    Što se tiče timskog rada, on je neophodan kada se radi na projektu. Bez toga ne možete ni da počnete.
     (Mobile Developer, 4. maj 2017 21:44)

    # Link komentara

  26. Najlaksi novac je novac u IT-u. Placeni su dobro jer ih je malo...
     (Zoom, 4. maj 2017 21:22)

    # Link komentara

  27. Ovaj savet za Google ili Stackoverflow moze da bude i zamka. Ja vec dugo radim i u zadnje vreme se sve vise oslanjam na Google ali samim tim sve manje razmisljam tj. ulenjujem se i osecam kako zatupljujem posto trazim i nalazim gotova resenja. Jednom cu doci do situacije kad na Google nema resenja i sta onda :)
    (Pera, 4. maj 2017 21:11)

    # Link komentara

  28. Pozdrav za sve programere od nekog iz finansija...
    Programeri se najvise zanimaju kod nas oko investiranja u berze i na dobar nacin prate cene i desavanja na trzistima.Da li je to do alogaritma ili neceg drugog...
    (brokeri ilir..., 4. maj 2017 21:05)

    # Link komentara

  29. @klej mislim da nije u bukvalnom smislu mislio na tacku zarez, vec na to da se gube sati na sitnice kao sto su te.
     (svemir, 4. maj 2017 20:31)

    # Link komentara

  30. każe żena mużu programeru .... molim te idi u prodavnicu i kupi hleb a ako ima jaja uzmi 10 ... vraća se muż iz prodavnice i nosi 10 hlebova .... hihi :)
    (nindza.postar, 4. maj 2017 20:23)

    # Link komentara

  31. @Klej ti dok odradis sve pobrojano, ode deadline... prvo kolege I koleginice, pa onda google I ostali..
     (bot92, 4. maj 2017 20:08)

    # Link komentara

  32. (Sava, 4. maj 2017 15:45) hahaha ziva istina :)))))
    (zena programera, 4. maj 2017 19:15)

    # Link komentara

  33. "Ponekad, a naročito kada počinjete da učite, provešćete sate tražeći problem u kodu, da bi se ispostavilo da vam fali jedna tačka-zarez" - Ovo se moze desiti samo nekom ko nije odmakao od "hello world" programa.
    (Klej, 04. maj 2017 15:42)

    meni se desavalo i u pisanju malo "ozbiljnijih" aplikacija.
     (Sale, 4. maj 2017 19:04)

    # Link komentara

  34. Prvo i osnovno je ljubav ka programiranju i prosta logika, sve ostalo je manje bitno. Entuzijazam je odmah iza ove dve stvari... da ne gnjavim.

    p.s. Programiranje je bilo i pre Google-a te tako neke informacije bas i ne stoje... Oni malo stariji mozda se i sete starih dana i PEEK i POKE komandi.
    (grof, 4. maj 2017 17:31)

    # Link komentara

  35. Cesto procitam negde kako je problem mnogima tacka zarez, i kako izgube sate dok ne nadju da se zapravo o tome radi. Mislim da sam maksimalno 3 nedelje kako sam poceo da ucim programiranje imao ovaj problem, i onda posle naucio da citam sta mi kaze kompilator. Ima i gorih stvari.
     (p, 4. maj 2017 17:27)

    # Link komentara

  36. Google je cale - Stackoverflow je keva.
     (Jong Sung Jai Kai Chow, 4. maj 2017 17:06)

    # Link komentara

  37. Dobar tekst :) sve pohvale !!
    (Cezar, 4. maj 2017 16:40)

    # Link komentara

  38. Pa naravno da je tesko i da treba napora i to stalno.
    Pa nismo valjda dzabe najplaceniji gde god da smo!
    (It na Ti, 4. maj 2017 16:34)

    # Link komentara

  39. Dobar, koristan tekst, odn. saveti. I ne važe samo za programere već i za ostale.
     (dzigi, 4. maj 2017 16:16)

    # Link komentara

  40. Pa dobro, sve navedene tačke važe danas za bilo koju profesiju, ne samo programiranje. Ne može se ni uspešan baštovan biti bez upornosti, motivacije i konstantnog usavršavanja.
    (Beli maharadža, 4. maj 2017 16:07)

    # Link komentara

  41. Šta ću da jedem na pauzi?
    (Unknown programming hero, 4. maj 2017 15:58)

    # Link komentara

  42. Zaista zanimljiv, kratak clanak za razliku od drugih u kojima se reklamiraju privatne skole i druge ustanove vezane za IT. Ne bi skodilo vise ovakvih tekstova, mozda se neko stvarno zainteresuje za programiranje.
    (aca, 4. maj 2017 15:47)

    # Link komentara

  43. Evo kako razmisljaju programeri:
    Pošalje žena muža programera u prodavnicu i kaze:
    - Kupi margarin, a ako ima jaja - kupi 10 komada.
    Muž se vraća kući, stavi na sto 10 margarina i kaže: Bilo je jaja.
    (Sava, 4. maj 2017 15:45)

    # Link komentara

  44. "Ponekad, a naročito kada počinjete da učite, provešćete sate tražeći problem u kodu, da bi se ispostavilo da vam fali jedna tačka-zarez" - Ovo se moze desiti samo nekom ko nije odmakao od "hello world" programa.

    Drugo, "debugging" je tata! Ako ni to ne pomogne, napraviti mini projekat koji ce izolovati problem. Ako ni mini projekat ne pomogne, pitajte kolege. Ako kolege ne pomognu, postavite pitanje na stackoverflow-u. Ako stackoverflow ne pomogne, postavite pitanje na Twitteru (vjerujte, pomaze!) i tagujte developera koji je razvijao API, alat ili sta vec.

    P.S. Ova prica oko ega i timskog rada je pun pogodak.
    (Klej, 4. maj 2017 15:42)

    # Link komentara