Douglas Crockford: Uvijek pišite dobar kod, makar ga koristili samo jednom!

Douglas Crockford: Uvijek pišite dobar kod, makar ga koristili samo jednom!

Nakon što su drugu konferenciju The Geek Gathering otvorili osječki dogradonačelnik Vladimir Ham i direktor tvrtke Mono Denis Sušac, prvo predavanje održao je Douglas Crockford. Riječ je o slavnom programeru, koji danas radi u PayPalu, a koji je najpoznatiji po svom angažmanu oko programskog jezika JavaScript te popularizaciji JSON-a. Upravo je o tim temama govorio na svom predavanju, točnije, o boljim dijelovima programskog jezika, što se može povezati i s njegovom istoimenom knjigom – JavaScript: The Good Parts.

Douglas Crockford poznat je po svom angažmanu oko JavaScripta.
Douglas Crockford smatra da se trebaju koristiti samo “dobre opcije” programskog jezika.

Nakon što su drugu konferenciju The Geek Gathering otvorili osječki dogradonačelnik Vladimir Ham i direktor tvrtke Mono Denis Sušac, prvo predavanje održao je Douglas Crockford. Riječ je o slavnom programeru, koji danas radi u PayPalu, a koji je najpoznatiji po svom angažmanu oko programskog jezika JavaScript te popularizaciji JSON-a. Upravo je o tim temama govorio na svom predavanju, točnije, o boljim dijelovima programskog jezika, što se može povezati i s njegovom istoimenom knjigom – JavaScript: The Good Parts.

Pomalo je bilo iznenađujuće što je predavanje počeo s pričom o autoru knjiga koje su ipak drugačije od onih o programiranju. Antoine de Saint-Exupéry najpoznatiji je po svom djelu Mali princ, no Crockford se ovdje referirao na njegovo drugo poznato djelo, Zemlja ljudi, odnosno na citat:

Savršenstvo se ne postiže kada više nemamo što za dodati, nego kada više nema ničega što bi se moglo oduzeti.

Crockford je to usporedio s programiranjem, odnosno, programskim jezicima. Kako kaže, ako je određena opcija ponekad korisna, a ponekad opasna, i ako u isto vrijeme postoji bolja opcija, uvijek treba koristiti bolje rješenje.

Nismo plaćeni da koristimo svaku opciju u jeziku. Plaćeni smo da pišemo programe koji rade dobro i koji ne sadrže greške. Dobar jezik za programiranje trebao bi učiti vas. Osobno sam napravio svaku grešku s JavaScriptom koju sam mogao. Uključujući i prvu, najvažniju – mislio sam da ne moram učiti jezik prije korištenja.

The Geek Gathering Douglas Crockford (2)

Argumenti protiv korištenja isključivo dobrih dijelova jezika uglavnom su ovi:

  • To je samo stvar mišljenja.
  • Svaka opcija je u biti alat.
  • Imam pravo koristiti svaku opciju.
  • Želim se slobodno izražavati.
  • Trebam smanjiti tipkanje.
  • Vrijeđa me kada netko kaže da ću napraviti grešku ako koristim opasne opcije.
  • Opasne opcije su tu s razlogom.

Ali ih Crockford većinom smatra besmislenima. Posebice posljednju tvrdnju, jer ako je nešto tamo ne mora se nužno i koristiti. Kako kaže, i sam JavaScript sam ima puno takozvanih Foot Guns, opcija koje vas mogu lako “upucati u stopalo”. Pojedini programeri smatraju da ne mogu pogriješiti, da mogu koristiti sve opcije, a Crockford kaže da se to većinom vidi kod mlađih programera. To je programiranje koje se vodi “opasnošću” i nije se mudro “igrati” na taj način. Uvijek treba imati na umu koliko je vremena potrebno da se nešto iskodira te koliko je vremena potrebno da kod dobro radi – ako je prva faza dobro odrađena, druga ne mora trajati niti sekundu.

Uvijek izdvojite vrijeme da napišete dobar kod, makar ga koristili samo jednom.

The Geek Gathering Douglas Crockford (3)

Crockford je najavio i kako stiže nova verzija JavaScripta, a izdvojio je i neke njene “dobre strane” (Proper Tail Calls, Splat, Module, Let, Destructuring, WeakMap). Istodobno, priznao je kako je ponovno razmislio o nekim stvarima koje je ranije smatrao dobrima, a i najavio kako će u jednom trenutku neki drugi program zamijeniti JavaScript.

Siguran sam da će biti zamijenjen. Znam to jer bi u suprotnom JavaScript bio posljednji programski jezik. A to bi bilo vrlo tužno.

No, ono što će predstavljati problem pri usvajanju novog jezika su sami programeri, jer su emocionalni i iracionalni, kaže Crockford. Teoretizirao je i o tome kakav će taj novi jezik biti, ističući i greške koje trenutno rješenje ima, poput činjenice da Binary Floating Point stvara određene probleme pri zbrajanju decimalnih brojeva. Nada se da će se zbrajanje raditi na način koji on predlaže – kako kaže, ne mora uvjeriti sve da koriste njegovo rješenje, nego samo jednu osobu, onu koja će osmisliti idući program. 🙂

douglas1

Odgovornost za profesionalne programere iznimno je važna, istaknuo je na kraju. Oni su odgovorni:

  • Ljudima. Sirotim osobama koje će koristiti njihov softver. Programer treba željeti da im život bude olakšan, ne otežan.
  • Timu. Kod se mora lako razumjeti, lako održavati, bez zamki.
  • Menadžmentu. Oni i plaćaju za njega.

I zadnji Crockfordov savjet za programere – ne pravite bugove! 🙂

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Što ste propustili

Pametni automobili

Napokon smo se provozali Verneovim robotaksijem!

Nakon što smo u Zagrebu bezuspješno pokušali uhvatiti Verneov robotaksi putem Uberove aplikacije, zvijezde su se posložile i mi smo dobili poziv koji se ne odbija.

Umjetna inteligencija

Tko zbog AI-ja i dalje ulaže u ljude, a tko otpušta 50% radne snage?

Dok neke tvrtke nastavljaju i zapošljavati i ulagati u AI, druge su odabrale samo potonje. Kako različite tvrtke pristupaju promjenama na tržištu, doznali smo na Automation Summitu.

Novost

Gamepires najavio otpuštanja, smanjuje tim koji radi na SCUM-u

Gamepires, koji stoji iza igre SCUM, smanjuje broj zaposlenih zbog zahtjevnih tržišnih uvjeta. Objava dolazi nekoliko mjeseci nakon što je studio preuzeo britanski Splash Damage.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Veliki intervjui

Ako AI može napraviti film ili igru, što ostaje kreativcima? Odgovara CEO Nanobita

Može li umjetna inteligencija promijeniti način na koji nastaju filmovi i igre, a da pritom ne žrtvujemo kvalitetu priče i kreativnu viziju? Nanobit već testira odgovor na to pitanje, razvijajući AI produkcijske procese koji otvaraju mogućnost stvaranja sadržaja velikom brzinom.

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.