Ako ste dovoljno dugo u IT svijetu onda ste već vidjeli kako se tehnologije i metode vraćaju, ponavljaju. Tako u zadnje vrijeme sve popularniji postaju no-code ili low-code termini. Predviđanja idu tako daleko da se govori kako će se uvelike smanjiti potražnja za programerima, a ljudi koji ne znaju programirati moći će sami izrađivati aplikacije.
Negdje krajem prošlog tisućljeća svoju IT karijeru započeo sam korištenjem jednog RAD (Rapid Application Development) alata. Isprobao sam razna slična rješenja za generiranje koda i Clarion se pokazao kao najbolje rješenje. Samo izvedba je bila manjkava, malo složenija aplikacija nije radila u 640kB osnovne DOS memorije, trebalo je koristiti proširenu memoriju, a i čuvena processor violation zadavala je glavobolje razvijačima aplikacija. No sam koncept cijele platforme je bio daleko ispred konkurencije - driveri za razne baze, koncept ORM-a, template za generiranje koda i embedded točke za ubacivanje specifičnog koda, izrada izvješća i podrška za različite printere.
Da li su uz pomoć Clariona neprogrameri mogli izrađivati aplikacije? Jesu, i to su i radili. Iako su za posao izrade aplikacija traženi programeri ipak je na razvoju aplikacija radilo i nekoliko kolega koji prije tog posla nisu napisali ni redak ozbiljnog koda ili je njihovo znanje započinjalo i završavalo s halo svijete.
Međutim izrada aplikacija nije samo pisanje koda ili klikanje i izrada sučelja, tu je i ono što smo tada narodski zvali programiranje prije programiranja i u čemu su neprogrameri obično kiksali. Analiza rješenja, projektiranje, modeliranje modela podataka, algoritam za rješenje - to su neprogrameri rješavali metodom pokušaja i pogrešaka. Tako da su oni za rješavanje nekog problema koristili više vremena i bili su manje efikasni nego normalni programeri.
Taj izazov i danas imaju sve te low-code platforme. I mada je jasno koji problem rješavaju - nestašicu programera, veliku cijenu rada i puno vremena za izradu aplikacije - ipak rješenje nije u angažiranju neprogramera već da programeri koriste low-code platformu za bržu izradu aplikacija.
Činjenica je da danas programeri pišu previše koda. Naravno, lakše je napraviti copy&paste, izmijeniti par stvari umjesto da se napravi neko generičko rješenje koji bi ponovo koristili za slične slučajeve. Kao kod Clariona: imaš listu, imaš formu, odabereš izvor podataka za listu, odabereš polja za formu i to je to. Ne treba pisati dodatan kod. Jedino se doda kod na embedded točke ako je potrebna neka specifična logika.
Neprogramer će potrošiti puno više vremena u tko zna koliko ciklusa pokušaja i pogrešaka za razliku od programera koji će postojeće rješenje prilagoditi s par linija koda na pravom mjestu.
Negdje u maglovitim vremenima tog tisućljeća kolega i ja smo izradili aplikaciju za praćenje turnirskog natjecanja u sportu s više kategorija. Noć prije natjecanja smo na pivi s organizatorom i prijateljem raspravljali o tome što treba napraviti, negdje poslije ponoći smo krenuli doma, svaki svojoj kući. Za sat vremena sam posložio modele i poslao aplikaciju kolegi koji je napravio izvješća (ždrijeb, rezultati), a ja sam nastavio raditi na ostatku aplikacije. U sedam sati ujutro smo imali aplikaciju instaliranu na nekoliko DOS računala - naravno, podržavala je mrežni rad.
Nije da smo bili neki genijalci, samo smo koristili alat koji nam je omogućio da brzo i učinkovito riješimo problem s minimalnom količinom koda.
Da samo našem prijatelju, koji nije imao veze s programiranjem, dali da sam izradi aplikaciju to bi vjerojatno potrajalo danima, tjednima, možda i mjesecima i sigurno bi nekoliko puta bacao učinjeno i počinjao iznova.
Tako da kad danas čitam o obećanjima low-code platformi samo se nasmijem, s crtom suosjećanja na rubu usana.
Low-code platforme su dobar način da se doskoči nekim čestim problemima u razvoju aplikacija ali bilo bi puno bolje kad bi te probleme, s pravim alatom, rješavali programeri. Jer sve drugo je recept za malu katastrofu.
Nije slučajno da cijelo vrijeme spominjem low-code. No-code rješenja su drugi par čarapa. Njih mogu koristiti neprogrameri jer već rješavaju konkretan problem, samo se mijenjaju parametri. Wordpress CMS je no-code rješenje. Može ga instalirati i koristiti bilo tko, ne mora znati programirati. Može ga prilagoditi uz pomoć raznih modula i dodataka, i ako ne treba specifično rješenje koje ne postoji, nije potreban angažman programera.