
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.
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.
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. :)
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! :)