Univerzalni jezik i sistemi zasnovani na veštačkoj inteligenciji mogli bi potpuno da izmene rad programera u budućnosti.
Programeri koji u svojoj struci rade tek nekoliko godina već su videli uspone i padove nekoliko programskih jezika i alatki. Razvoj softvera je vrlo dinamična aktivnost, a potrebe za različitim profilima stručnjaka se stalno menjaju. Zbog toga bi trebalo neprestano pratiti buduće trendove i tehnologije.
Navešćemo pet pretpostavki o tome kako će programiranje izgledati za deset godina.
1. Programiranje će biti apstraktnije
Trendovi kao što su tehnologije u oblaku, kontejneri i platforme niskog koda nagoveštavaju da će mnogi programeri u budućnosti stvarati na višim nivoima apstrakcije potpuno odvojeni od detalja programiranja na nižem nivou, rekao je Džef Hamond potpredsednik kompanije „Forester“ i njen glavni analitičar.
„Teoretski bi trebalo manje da se bavimo infrastrukturom, odnosno, kako se stvaraju aplikacije u oblaku“, dodao je.
Predviđa da će konačni korisnik videti mnogo veći deo proširene i virtuelne stvarnosti, što znači da će programeri morati da steknu veštine koje će im omogućiti da stvore takve aplikacije koje će u sebi imati ugrađene sposobnosti obrade glasa i prirodnih jezika. Prema njegovim rečima, programeri će morati da se naviknu da obavljaju procedure koje se razlikuju od razvoja zasnovanog na pikselima u okvirima u kojima se osećaju udobno dok stvaraju mrežne i mobilne aplikacije.
2. Veštačka inteligencija neće zameniti programere, ali biće deo alata svakog programera
Veštačka inteligencija počinje da se ubacuje u deo opreme svakog programera, naveo je Hamond. Na primer, kompanija „Majkrosoft“ je dodala platformu veštačke inteligencije u ažuriranja Windowsa 10 tako da će svaki programer koji pravi aplikacije na tom operativnom sistemu moći da koristi modele mašinskog učenja koji su prethodno obučeni. Naučnici sa Univerziteta Rajs stvorili su aplikaciju koja se naziva BAYOU i koristi duboko učenje da bi funkcionisala kao pretraživač kodova i tako omogućila programerima da unesu nekoliko ključnih reči i vide kodove u javi, što će im pomoći u onome što rade.
„Mislim da ćemo sve češće viđati situacije u kojima će alat programera pokušati da predvidi šta programer namerava i omogućiti mu da brže izrazi svoju nameru, što će, konačno, postati drugi oblik apstrakcije“, rekao je Hamond. Sasvim je sigurno da takve tehnologije neće zameniti programere, uveren je Hamond.
„Smatram da će im pomoći da dođu do rešenja brže nego danas, što je dobro, jer izgleda da ima sve više ljudi koji žele dodatne aplikacije u postojećim servisima i novim softverima“, dodao je. „Uveren sam da te tehnologije postaju pomoćno programersko sredstvo, a ne zamena za programere. Uvek ima mnogo posla na nižem nivou, a nikad dovoljno vremena da se urade zadaci na višem nivou. Možda će nam tehnologije omogućiti da imamo više vremena za testiranje kodova koje smo napisali.“
3. Pojaviće se univerzalni programski jezik
Da bi programiranje iskoristilo sve prednosti koje donose nove tehnologije, među njima i veštačka inteligencija, trebalo bi da bude lako za učenje, ali i osnova na kojoj se može jednostavno uspostaviti dalji razvoj. Možda će se generacije za deset godina sećati pajtona kao čukundede jezika budućnosti, koji će verovatno u osnovi biti vrlo slični engleskom, ali mnogo lakši za korišćenje. Programi će se stvarati pomoću blokova kodova koji će podsećati na drvene blokove sa urezanim slovima kojima smo se igrali u detinjstvu. Programeri će moći da povezuju blokove da bi primenili željenu funkcionalnost, a može se desiti da se ti blokovi ne moraju pisati u tekstualnom obliku.
Jezici budućnosti bi mogli da obuhvate vizuelne slike transformacija podataka. Recimo, slika kalendara bi mogla da kaže: „Ovaj blok omogućava korisniku da izabere i postavi datum.“ Oni bi mogli da omoguće uključivanje uređaja osetljivih na dodir, što bi dozvolilo čak i ljudima sa problemima vida da se bave programiranjem.
Najdominantniji programski jezik budućnosti biće univerzalan, što znači da će moći da ga koriste svi programeri bez obzira na njihov maternji jezik.
4. Svaki programer će morati da radi na podacima
Programeri budućnosti moraće da savladaju mnoge veštine, posebno u oblasti analize podataka. Trebalo bi da obavljaju statističku analizu podataka, od linerane i nelinerane analize do mašinskog učenja i veštačke inteligencije. Budućnost programiranja ne podrazumeva samo pisanje kodova, već i savladavanje analize podataka i sticanje veštine da se prodaju različiti modeli.
5. Programiranje će biti osnovno načelo obrazovnog sistema
Programiranje će u školama postati osnovni predmet uz današnje savladavanje pisanja i računanja. Svaki posao će u budućnosti zahtevati razvijenu sposobnost obavljanja analize podataka za velike skupove podataka, mašinsko učenje i korišćenje simulacija da bi se smanjili troškovi testiranja i proizvodnje. Stručnjaci preporučuju svima koji žele da postanu programeri da počnu od nekog jezika objektivno orijentisanog programiranja kao što je pajton da bi stvorili osnovu na kojoj bi dalje mogli da razvijaju svoje veštine. Za programere koji tek počinju najvažnije je da shvate arhitekturu koja se nalazi iza alatki i okvira koje koriste da bi se pripremili za buduće poslovanje.
Tokom proteklih trideset godina, menjali su se jezici, menjali su se okviri i dobavljači, ali obrasci primene su se uglavnom ponavljali u svakom razvojnom periodu. Ako to shvatite, moći ćete da vidite i promene koje se dešavaju kad god se pojave nove tehnologije i primenite već stečeno znanje u tim novim okvirima.