Prvih sedam programskih jezika u istoriji #FirstSevenLanguages

"Studente koji su radili sa Basicom skoro je nemoguće naučiti dobrom programiranju, jer su kao potencijalni programeri mentalno oštećeni bez nade za oporavak"

Aleksa Vidović - 16. Avgust, 2016.

Ovih dana se na Twitteru pojavio hešteg #FirstSevenLanguages, a programeri su tvitovali o prvih sedam programskih jezika sa kojima su imali iskustva.

Ovo nas je navelo na razmilšjanje o tome kojih su to sedam jezika koji su prvi nastali, u kojima su verovatno tek retki programeri imali priliku da programiraju? Izabrali smo da vam predstavimo neke od  ovih prvih uticajnih programskih jezika, čiji uticaj se može osetiti i danas.

Flow-matic (1955)

U periodu između 1952. i 1955. godine, Grejs Hoper, nekadašnja mornarička poručnica, razvijala je jedan od prvih kompajlerskih jezika. Za to vreme radila je u kompaniji Remington Rend na Univacu, gde je sa svojim timom razvijala ovaj jezik i njegov kompajler. Cilj je bio da se programiranje približi poslovnim korisnicima kojima nije odgovaralo matematičko označavanje koja se do tada koristilo u računarstvu.

Iako bez podrške od strane kompanije, Grejs i njen tim završavaju specifikaciju jezika 1955. i implementiraju njegov prototip. Flow-matic kompajler objavljen je u javnosti tri godine kasnije, i naknadno dovršen 1959. godine.

Ovaj jezik je imao veliki uticaj na dalji razvoj programskih jezika, pre svega Cobol.

Fortran (1957)

Dožn Bakus je 1953. godine, tada programer u IBM-u, predložio svojim nadređenima da zajedno sa svojim timom razvije praktičniju alternativu assembly jeziku. Novonastali jezik trebalo je da služi za programiranje njihovog IBM 704 mainframe računara. Stvorili su jezik opšte namene, ujedno i prvi programski jezik višeg nivoa.

Od njegovog nastanka svaka sledeća verzija dodavala je  na funkcionalnosti i mogućnostima, a ovaj jezik se i danas koristi za testiranje mogućnosti superkompjutera. Koristi se za simuliranje kompleksnih matematičkih modela, pa je tako primenu našao u oblastima kao što su predviđanje vremenskih (ne)prilika, računarska fizika i metod konačnih elemenata.

Lisp (1958)

Drugi najstariji programski jezik višeg nivoa i danas je u upotrebi. LISt Processor svoje ime opravdava činjenicom da su ulančane liste veoma bitna struktura podataka u ovom jeziku. Čak mu je i sam izvorni kod sačinjen od listi, što je programerima otvorilo mogućnost za kreiranje makro sistema i dijalekata prilagođenih njihovim potrebama.

Kao jedan od najranijih programskih jezika, Lisp je bio pionir vrlo važnih koncepata u programiranju, kao što su stabla, automatsko upravljanje memorijom i funkcije višeg reda.

COBOL (1959)

Nastao pod uticajem Flow-matica, Cobol je zamišljen kao jezik koji je trebalo da bude sličan engleskom, kako bi mu sintaksa bila jasna a kod čitljiv. Kako bi uspeo u ovome, Cobol ima preko 300 rezervisanih reči.

Usmeren je ka poslovanju i finansijama, a koristi se od svog nastanka i za administrativne sisteme i obradu transakcija.

Danas ima veoma retku primenu u nekim poslovnim aplikacijama.

APL (1962)

A Programming Language razvijen je 1960. godine. Njegov tvorac Kenet Ajverson razvio je na Harvardu matematičku notaciju za rad sa nizovima, koju je kasnije pretočio u programski jezik. Jezik koristi skup različitih simbola za predstavljanje funkcija i operatora, što njegov kod čini vrlo sažetim.

Za pronalaženje prostih brojeva od 1 do N, u APL-u bismo napisali sledeći kod:

(~N∊N∘.×N)/N←1↓ιN

Još bolja ilustracija konciznosti i moći APL-a, jeste sledeći kod koji računa novu generaciju u Konvejovoj Igri života:

life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

Simula (1962)

Početkom šezdesetih kada je računarstvo bilo u zamahu, nekim od tadašnjih programera jedan problem je postao previše očigledan. Pored toga što su olakšali pisanje koda čoveku, svi tadašnji jezici i dalje su bili prilagođeni računaru na kojem su radili, a ne problemima koje je trebalo da rešavaju. Tako 1961. dva norveška naučnika i programera, Dal i Najgard, kreiraju jezik koji je trebalo da služi za simulaciju diskretnih događaja.

Simula je prvi objektno orijentisani programski jezik. Sa njim su se pojavili danas vrlo poznati koncepti, kao što su klasa, objekat, nasleđivanje i automatsko oslobađanje memorije.

Uticaj Simule na dalji razvoj programskih jezika je neverovatan. Po uzoru na njegove objekte implementirani su objekti u Javi, C++, i C#. Bjarne Straustrap, programer koji je dao veliki doprinos računarskim naukama, rekao je kako mu je Simula bila najveća inspiracija pri stvaranju C++.

Basic (1964)

Profesorima na Darmut koledžu trebalo je nešto što bi olakšalo studentima učenje programiranja. Bio im je potreban jednostavan jezik koji bi korisniku omogućio da iskoristi računar u njegovoj punoj snazi, ali koji bi bio jednostavniji od tada popularnog Fortrana. Tako je 1964. godine nastao jednostavan jezik za početnike (Beginner’s All-purpose Symbolic Instruction Code). U godinama koje slede on postaje jedan od najvećih i najpopularnijih programskih jezika ikada.

Svoju popularnost Basic duguje mikroračunarima iz sedamdesetih. Veliki broj kompjuterskih entuzijasta počeo je da ga koristi. Sa dolaskom ere kućnih računara osamdesetih, Basic je doživeo neverovatan rast.

Čuveni računarski naučnik Dijkstra prognozirao mu je propast. 1975. godine rekao je: “Studente koji su radili sa Basicom skoro je nemoguće naučiti dobrom programiranju, jer su kao potencijalni programeri mentalno oštećeni bez nade za oporavak”.

Ipak ovaj jezik je ostao jedan od najrasprostranjenijih i do danas, u različitim verzijama, od kojih je verovatno najpoznatiji Visual Basic.