Od Autocode-a do Swift-a, vidjeli smo stotinu računarskih jezika u posljednjih 75 godina. No, sve je počelo ženskim algoritmom i od tada su žene uključene u oblikovanje računarskih jezika.
Danas postoji stotine računarskih jezika, a detaljan pregled svega ili čak potpunog spiska tema je za knjige, a ne jedan članak. Ipak, možemo dobiti pregled evolucije jezika kako bismo dobili opšti osjećaj prošlosti, sadašnjosti i budućnosti računarskih programskih jezika.
Gdje započeti?
Iako je očigledan odgovor na pitanje ‘na početku’ – gdje je tačno taj početak ostaje pitanje. Ranije smo razmišljali o računarima kao o fenomenu kasnog 20. stoljeća, jer je to bilo vrijeme kad su se počeli koristiti za širu upotrebu, što bi značilo započinjanje sa Autocode-om.
Ali glavne jezične inovacije pojavile su se i prije toga. Ustvari, sam početak je bio prije prošlog stoljeća.
Prvi programer bila je žena
Moramo se vratiti u 1883. godinu da bismo pronašli ono što neki smatraju prvim programskim jezikom. To je godina u kojoj je Ada Lovelace (jedini zakoniti potomak lorda Georgea Gordona, pjesnikinja romantičaraka, za koju se znalo da je ‘luda, loša i opasna za poznvati’) postavila algoritam za analitiku Charlesa Baggagea s ciljem izračunavanja Bernoullijevih brojeva.
Potrebno je gotovo 70 godina da se dođe do sljedećeg velikog razvoja, za koje vrijeme je druga žena imala veliki uticaj na industriju.
Sredina stoljeća
Autcode je razvijen od strane Alick Glennie za računar Mark 1 na Univerzitetu u Manchesteru u Velikoj Britaniji 1952. godine. Autocode smatra se prvim sastavljenim računarskim programskim jezikom.
Nekoliko godina kasnije, John Backus stvorio je programski jezik FORTAN, koji je skraćenica za Formula Translation, kako bi prošao složeni znanstveni, matematički i statistički rad. Koristi se i danas. Nema tačnih podata u kojoj godini se ovo desilo.
Općenito se pojavljuje 1957. godina. Međutim, po radu fizičara koji su koristili Fortran govori nam da je 1954. bila godina u kojoj je Backus napisao ‘izvornu specifikaciju’ za taj jezik.
Ako ste zapravo pročitali knjigu Skrivene figure od Margot Lee Shetterly, a niste se samo oslanjali na filmsku verziju, znali biste da je FORTRAN zapravo učen od strane zaposlenika, a kursevi na licu mjesta bili su otvoreni za sve rase. Prema tome, ne bi bilo razloga da Dorothy Vaughan ukrade knjigu iz biblioteke o toj temi kako bi naučila taj jezik.
Godine 1958. odbor je stvorio ALGOL, koji se zalaže za Algoritamski jezik. Iako nam jezik danas nije poznat, smatra se temeljem za jezike poput C, Java i Pascal.
1959. godine pojavio se programski jezik zasnovan na dizajnerskom djelu Grace Hopper. Da biste saznali više o ženi koja je poznata kao ‘baka COBOL-a’ pogledajte video ispod:
COBOL koji označava uobičajeni poslovni jezik, „stvoren je u sklopu truda Ministarstva obrane SAD-a na stvaranju prijenosnog programskog jezika za obradu podataka.“ Tada su mislili da će se to koristiti samo kao privremena mjera, ali jezik je pokazao nevjerojatnu izdržljivost.
Iako se čini da niko više ne proučava COBOL, on se i dalje koristi za održavanje neke ostavljene infrastrukture na mainframe računarima. Iz tog razloga, vještine na ovom jeziku bile su vrlo tražene neposredno prije Y2K panike.
Za one koji nemaju sjećanja na to vrijeme, pogledajte video u nastavku:
Godine 1964. BASIC što predstavlja svenamjenski simbolički kod (All-purpose Symbolic Instruction Code) razvili su John G. Kemeny i Thomas E. Kurtz na Dartmouth Collegeu. Cilj je bio omogućiti učenicima bez jakih tehničkih vještina da koriste računare. BASIC je prilagođen za upotrebu u Microsoftovim računarima, dovodeći jezik do učenika sljedeće generacije.
Dolazak na nivo C
1972. godine Dennis Ritchie u Bell Lab-u razvio je jezik pod nazivom C, koji se smatra prvim jezikom na visokoj razini. Neki bi ga smatrali „najrelevantnijim programskim jezikom u historiji“. To je zato što ne samo da je i danas u upotrebi, već služi i kao temelj za ostale programske jezike, uključujući C++ i C#, JavaScript, Java i Python.
C ++ je proširenje jezika C, a razvio ga je 1983. godine Bjarne Stroustrup. Kao što je Guilherme Torres Castro objasnio u srednjovjekovnom postu: „Veliki dijelovi Mac OS/X, sve glavne Adobe aplikacije i Google svi koriste jezik C ++“.
Sljedeća iteracija tog slova je C#, izgovarana C Sharp, svojevrsni napredak od druga dva C jezika koja je Microsoft dizajnirao početkom ovog stoljeća. Ne čudi nas da je to jezik izbora za Microsoftove aplikacije, ali se također koristi u „širokom rasponu poslovnih aplikacija koje pokreću .NET.“
Ostali poznati jezici iz posljednje decenije 20. stoljeća
Svi koji se trenutno bave informatikom znaju za Python koji se na većini popisa svrstavao među prva tri jezika, što je najvećim dijelom posljedica njegove prilagodbe projektima znanosti podataka. Guido Van Rossum razvio je Python 1991. godine i imenovao ga po britanskoj komičnoj grupi Monty Python.
Java je rođena otprilike u isto vrijeme, a brzo je postala vrlo popularna. Oracle nudi historiju jezika koji je sada ugrađen u njegovu marku.
Godine 1991. mala skupina inženjera nazvanih „Zeleni tim“ vjerovala je da je sljedeći val u programiranju bio udruženje digitalnih potrošačkih uređaja i računara. Vođeni od strane James Gosling-a, tim je radio svakodnevno i stvorio programski jezik koji će revolucionirati naš svijet – Java.
Zeleni tim demonstrirao je svoj novi jezik interaktivnim, ručnim kontrolorom kućne zabave koji je izvorno bio namijenjen industriji za digitalne kablovske televizije. Nažalost, koncept je tada bio previše napredan za tim. Ali bio je to baš pravi koncept za Internet, koji se tek počeo pojavljivati. 1995. godine tim je objavio da će internetski preglednik Netscape Navigator ugraditi Java tehnologiju.
I pored očigledne povezanosti s Javom, JavaScript se smatra derivatom C. Evo zabavne činjenice: Brendan Eich je stvorio JavaScript u samo 10 dana 1995. godine. To je jezik izbora za dodavanje interaktivnih karakteristika na web stranicu, a on se može pronaći na večini web lokacija.
Prva verzija Ruby objavljena je krajem 1995. godine. Od tada je prošlo nekoliko iteracija. Priča o porijeklu je da je Yukihiro Matsumoto („Matz“) želio razviti objektno orijentirani scenaristički jezik koji je bolji od onog koji je već bio dostupan. Ruby se koristi za izradu web stranica i mobilnih aplikacija. Da bi proširio domet izvan svog rodnog Japana, Matz je 1998. godine za Ruby postavio englesku početnu stranicu. Često čujete da je Ruby uparen s Railsom, njegovim dodatnim okvirom koji omogućava brzi razvoj, zahtijevajući manje kodiranja kako biste olakšali izgradnju web aplikacija.
U 21. stoljeću
Go je jezik koji se pojavio u Google-u, a zatim je postao projekt otvorenog koda u novembru 2009. godine. Svrha mu je bila poboljšati radno okruženje programera kako bi mogli bolje pisati, čitati i održavati velike softverske sisteme. Projekt je prvi put započeo 2007. godine, a razvili su ga mnogi ljudi kako bi prešli na nešto korisno.
Apple je 2014. godine stvorio Swift, što ga čini prilično nedavnim dodatkom računarskim jezicima. Riječima matične firme: „Swift je moćan i intuitivan programski jezik za macOS, iOS, watchOS, tvOS i šire. Pisanje Swift koda interaktivno je i zabavno, sintaksa je sažeta, ali izražajna, a Swift uključuje moderne karakteristike koje programeri vole.“
Koji će se jezici ubuduće koristiti?
Iako je iz trenutnog najbolje rangiranog jezika na TIOBE indeksu moguće pretpostaviti koji jezici će vjerojatno ostati u modi, veći kontekst daje upozorenje da će se ono što je na vrhuncu godinu dana, naći na dnu nekoliko godina kasnije.
Takva je objektna lekcija Pascala. Jezik, koji je dobio ime po francuskom matematičaru Blaise Pascalu, razvio ga je Niklaus Wirth godine 1970. I pored svojih vrlina pouzdanosti i učinkovitosti, rijetko se koristi.
Zapravo, na indeksu TIOBE Pascal drži nezavidno mjesto #220 za 2019. godinu. To je ogroman pad s njegovog ranga na 16. mjestu prije samo pet godina. Još je dramatičniji pad od visokog ranga kao trećeg najpopularnijeg jezika u 1994. godini. Čini se da su računarski jezici nešto poput poznatih; neki se zadržavaju u središtu pozornosti desetljećima, dok drugi brzo idu u zaborav.
Castro nudi neke svoje stavove, uz predviđanje sve veće pozornosti za jezik koji se koristi u LLVM (Virtualne mašine niske razine – Low Level Virtual Machines). Navodi neke od relevantnih jezika: ActionScript, Ada, C#, Common Lisp, Crystal, CUDA, D, Delphi , Fortran, programski jezik grafičkog G, Halide, Haskell, Java bajt kod, Julia, Kotlin, Lua, Objective-C, OpenGL Shading Language, Pony, Python, R, Ruby Rust, Scala Swift i Xojo.
Njegov savjet je zapamtiti da uspjeh u razvoju nije funkcija „specifičnih tehnoloških vještina“. Umjesto toga, radi se o savladavanju „čvrstih principa koji nadilaze bilo koju određenu tehnologiju“.
Originalan članak možete pročitati na linku.