Jedna od stvari na kojima često diskutujem jeste prilagodljivost i simplicitarnost programskih jezika (i kriptografije pretežno, ali sada malo o programskim jezicima) za “obične” korisnike koji se po prvi put susreću sa programerstvom, ali i IT strukom.
Često se po Internetskim dubinama može pronaći niz objašnjenja zašto je neki programski jezik dobar i zašto ne, koliko je težak i kako ga savladati (što je većinski subjektivni stav).
Moja percepcija jeste da se sve u IT svijetu treba polako pojednostavljivati da nas ljudi ne bi gledali kao vanzemaljce, a ni mi njih kao digitalno neupućene.
Posebno kada se radi o kriptografskim sistemima gdje je na prvi pomen istog hvatanje za glavu zbog matematike i smatranja da “kriptografija nije za svakoga.” Malo ću promjeniti paradigmu svojih tekstova koji su crypto-related u većini slučajeva i pokušati objasniti zašto su Rust i Go Golang jedni od jezika budućnosti koji će zasigurno uspjeti pronaći stabilno mjesto pod suncem tastatura diljem svijeta, ali i srca programera, bilo onih koji su tek na početku karijere ili profesionalaca.
Za početak, Rust.
Rust postaje sve više mainstream programski jezik koji se razvio u laboratorijama Mozzila zajednice. Prednost Rusta je u tome da je njegov osnovni postulat brzina i sigurnost, sa željom da u isto vrijeme bude i low/high level jezik, što će zaisgurno doprinjeti njegovoj popularizaciji u budućnosti. Može se koristiti za projekte ranije pisane u C ili C++ jeziku, sa ciljem da smanji “bol C++” ili jednostavno, kao vid alternative Pythonu u svrhu povećanja izražajnosti sa ciljem da, donekle, smanji upotrebu Pythona.
Rust polako ali sigurno dobija sve veći broj “prijatelja Rusta” od kojih se izdvaja TOR projekt, Parity, Coursera, Dropbox, Algorithmia i mnogih drugih koji prepoznaju njegov potencijal. Zbog svoje funkcionalnosti i temeljitosti, ali i sigurnosti koju nudi, te nedostatku GC-a i automatskim upravljanjem memorijom, nije ni čudo da je 2016. označen kao jedan od najvoljenijih jezika na StackOverFlow Comm.
Oficijalna stranica:
[justify]Knjiga : https://doc.rust-lang.org/book/second-edition/[/justify]
Težina : potrebno poznavanje barem jednog programskog jezika.
Go
Ko se još nije zaljubio u simpatičnog gophera, maskotu Go jezika?
Go je jednostavan, brz i negdje nazvan i kao Python nove generacije. Sa samo dvadeset i pet ključnih funkcija, Go se čini kao lansirna staza nove generacije programera. Kompiliran sa automatski upravljanom memorijom, oslanjajući se na tradiciju C porodice, Go nudi multitasking, simplicitarnost upravljanja paketima, dinamičnost i ogromnu dokumentaciju za sve koji žele krenuti na put upoznavanja jezika nastalog od nekadašnje UNIX ekipe. Go zajednica iz dana u dan raste, sa sve većim brojem primjera uspješnosti mikroprojekata koji dobijaju na značaju.
[justify]Oficijalna stranica: https://golang.org/doc/[/justify]
Težina: Od početnika do mastera koda!
Sklonost kompariranju Rust i Go jezika je sasvim naturalni proces, sa mikrorazlikama i makrosličnostima oba jezika. Ali, kao i svaki drugi jezici, oba posjeduju određene mane. Dok je Rust sav o funkcionalnosti, te pogodan za multi-pro. computing, Go je imperativan i teško pogodan za ozbiljnije djelovanje na operativnim sistemima (ima primjera pisanja dijelova OS-a na Go, ali još uvijek je određeni vid težine prisutan).
Sa druge strane, Go je pristupačan i početnicima koji u par sati izučavanja koda, mogu dobiti okvir o čemu se radi i već polako krenuti sa kodiranjem (naravno, ponovno subjektivno jer sve zavisi od spremnosti, volje i afiniteta prema programiranju), dok je Rust poprilično kreiran za već postojeću zajednicu programera sa posebnim akcentom na posvećenost učenju.
U suštini, Go je kreiran da da primjer jednostavnosti koja radi, a Rust funkcionalnosti koja radi.
Oba programska jezika imaju iluminirajuću budućnost koja će zasigurno donijeti, kroz različite upotrebe, ono što ponekad fali - funkcionalnost i jednostavnost.