Kada nastupa programiranje?
Skala veština razvoja.
Nivo 1: programski jezik
Primarna veština je poznavanje programskog jezika, rečnika programiranja. Predstavlja neophodnu osnovu, ali ne daje preveliku vrednost - izuzev na intervjuima za posao. Samim programskim jezikom se malo šta može uraditi.
Nivo 2: razvojni okviri
Poznavanje ekosistema i okvira (framework) je veština kojom se može stvarati vrednost. Ovaj nivo je ono našta se većina nas fokusira - konačno, tu smo da iskucamo traženo, zar ne? SpringBoot, AWS, Docker… sve to spada u nekakve razvojne okvire.
Nivo 3: prilagođavanje
Jednom kada znamo kako rade alati i okviri, imamo priliku da ih prilagodimo našim potrebama. Svaki upotrebljeni alat je mahom generalan (da podrži što više slučajeva korišćenja); u projektu nam treba njegova specijalizovana upotreba. Ovo je nivo meta-programiranja, generisanja koda, procedura.
Nivo 4: programiranje
Tek kada pređašnje postavimo na svoje mesto, može da krene programiranje. Na ovom stupnju su korišćene biblioteke i okviri u drugom planu, poželjno sakriveni iza apstraktnih barijera; u fokusu je modelovanje sistema i arhitektura. Ovo je nivo DSL jezika.
Gde smo mi?
Prvo: gradacija ne preslikava kvalitet niti osporava vrednost.
Voleo bih da češće dobacimo dalje od drugog nivoa.
Zanimljivo je da četvrti nivo može da postane tehnološki-agnostičan; te da izgleda slično bez obzira koji jezik i tehnologiju koristili. Što je i suština, zar ne?
Osvrnuvši se na to, ne mogu a da se ne zapitam: ima li mesta za programski (?) jezik koji obitava na nivou 4
? Koji, mašti kada pustimo na volju, ima plug-and-play za osnovne jezike i tehnologije? Drugim rečima, takav apstraktan jezik kome će sadašnje tehnologije biti samo implementacija.