Citat:
Nedeljko:
Ne znam, Pascal je nekada bio super za učenje strukturnog programiranja. Za to ga je Niklaus Virt i pravio. Mnogi su zavoleli programiranje preko njega, pa je Laslo Kraus napisao da je mnogima prva ljubav bio Pascal, ali da su život proveli u srećnom braku sa C-om.
Vidi, tu bih mogao da se slozim s tobom. Ja sam se s Pascalom susreo na II godini studija na ETF-u, gde mi je bas doticni Laslo (RIP - i njega je odnela korona) drzao vezbe, a prof. Jozo Dujmovic predavanja ... I da, pocinjali smo od Pascala, koji je za C64-basic-ovce bio vojnicki dril ... maltene u stilu: "Za jedan GOTO 10 sklekova za kaznu". :-) Ali Pascal je omogucavao da naucis i pojam lokalnih/globalnih promenljivih i konstanti, prenos argumenata funkcije po vrednosti i po referenci ... Naravno, jednom kada sam naucio C zaboravio sam Pascal i Fortran (77 - takodje je bio u programu predmeta) sto pre.
Citat:
MajorFatal:
A zašto ljudi toliko greše kad prave programske jezike, zar ne bi mogli da slede neku kao logiku? I uopšte uzev šta će više od dva programska jezika? Čemu služi 22 programska jezika, da bi mogli da učimo jezike, a ne programiranje?
Ljudi nisu pravili programske jezike iz hira, vec da bi resili neke vrlo konkretne probleme. Ok, istorija pamti i jezike koji su nastali iz ciste dosade ili zarad akademskih vezbi, ali velika vecina je nastala iz potrebe da se resi odredjeni problem. Takodje, imaj u vidu da su u drugoj polovini proslog veka kompjuteri nastajali u razlicitim krajevima sveta, da standardizacije nije bilo i da je svaki proizvodjac gurao svoju pricu.
Recimo, rec "FORTRAN" je skracenica slogana "FORmula TRANslation" i omogucio je matematicarima, statisticarima, fizicarima, inzenjerima ... i uopste svima koji su koristili neku vrstu matematike u svom poslu da razmisljaju samo o matematickim operacijama koje treba da obave, a da u isto vreme olaksaju posao operaterima
kartičnih bušilica. Fortran je IBM-ov izum i to su gurali Ameri, ali on je omogucio apstrakciju samo prostih matematickih formula i prakticno sveo tadasnje racunare na ono sto mi danas zovemo kalkulatorima.
Medjutim, IBM nije bio usamljen u tadasnjoj kompjuterskoj industriji, a ni Ameri nisu bili jedini koji su trazili elegantnije nacine da priblize kompjutere krajnjim korisnicima. Ne znam da li ti je poznato da je cak i nasa bivsa domovina takodje proizvodila mainframe-ove -
CER-10 je nastao u Institutu Mihailo Pupin 1960, jos u vreme druge (tranzistorsko-cevne, hibridne) generacije racunara. Ok, nije bio bogzna sta, ali u to vreme ni mnoge evropske zemlje nisu imale tako nesto! A Sovjeti su svoj prvi mainframe napravili tek 70-ih. A paralelno s razvojem hardvera islo se i ka razvoju programskih jezika.
Slicno je bilo i sa jezicima. Oni su se radjali na razlicitim kontinentima i svaki je resavao odredjeni problem. Fortran je bio blizak inzenjerima, ali recimo nisu ga kapirali americki oficiri, pa su za potrebe armijske administracije smislili COBOL. Holandski matematicari (Wijngaarden & Dijkstra) su otisli dalje od obicne funkcije kalkulatora i pokusali da naprave apstrakciju algoritma. Tako je nastao ALGOL. Svajcarci (grupa okupljena oko Niklausa Wirtha) je uzela ALGOL kao osnovu, a onda su mu dodali pointere, liste i stabla i tako je nastao Pascal. Inace, pointeri, liste i stabla su strukture zasnovane na indirektnom adresiranju memorije, a taj mehanizam je vec ranije postojao u programskom jeziku LISP. Francuzi su posli od apstrakcije pojma relacije, logickih operacija i uzrocno-posledicnih veza i tako je nastao Prolog. I tako dalje ...
Slicno su nastali i svi kasniji programski jezici. Programeri su trazili precice da rese konkretne probleme, bez potrebe da rade copy/paste istog koda. Tako su nastale klase i objekti s jedne strane. S druge strane, programeri (ali i ljudi koji to nisu - npr. sistem-admini) su trazili sebi precice da automatizuju svakodnevne repetitivne radnje, jer repetitivne rutinske radnje koje se obavljaju svakodnevno dovode do
ozbiljnih fizickih i mentalnih problema ... iz cega su nastajali razni scripting jezici (Shell programming, AWK, Bash ... kasnije Perl). Uprkos uvrezenom misljenju da i Python spada u tu grupu, to nije sasvim tacno. Python je pisan za studente matematike i inzenjerskih nauka, nastao je na
CWI ... iako Guido van Rossum to nikada nije priznao, prompt u Python shellu (>>) je slican onome u Matlabu, a i nacin inicijalizacije nekih struktura (npr. lista) je slican Matlabu, tako da mu je Matlab verovatno bio delimican uzor. Medjutim,m Python je postao popularan i medju sysadminima zato sto je - poput Perla i shellova - takodje interpretatorski (ok, nije bas ... ispod haube radi on-the-fly kompilaciju, ali korisnik ga vidi kao interpreter). Iz potrebe da korisnicima omoguci automatizuju repetitivnih radnji u Office-u, Microsoft je ugradio VBA u Office, jer su VBA vec imali razvijen i sto bi izmisljali toplu vodu?