Veze, linkovi
Kompjuter biblioteka
Korpa

Kratka istorija funkcionalnog programiranja

  1. Godina 1936 kao prekretnica: Alan Tjuring i Alonzo Čerč, dvojica matematičara, nezavisno su rešili Problem odlučivosti, jedan od čuvenih problema Dejvida Hilberta.

  2. Problem odlučivosti i računarstvo: Problem je bio povezan sa pronalaženjem opšteg rešenja za formule celih brojeva, što je značajno jer je svaki program u digitalnom računaru zapravo jedna celobrojna formula.

  3. Doprinos Alana Tjuringa: Tjuring je u svom radu iz 1936. godine izmislio koncept digitalnog računara i pokazao da postoje brojevi koji se ne mogu izračunati, čak ni sa beskonačno vremena i prostora.

  4. Doprinos Alonza Čerča: Čerč je do istog zaključka došao kroz izum lambda računa, matematičkog formalizma za manipulisanje funkcijama, pokazujući postojanje logičkih problema koji ne mogu biti rešeni.

  5. Temelji modernih digitalnih računara: Tjuringov izum je predak svih savremenih digitalnih računara, a svaki takav računar je u suštini konačna Tjuringova mašina.

  6. Ekvivalencija Tjuringovih i Čerčovih pristupa: Tjuring i Čerč su kasnije sarađivali i pokazali da su njihovi pristupi ekvivalentni, što znači da se svaki program Tjuringove mašine može predstaviti lambda računom, i obrnuto.

Ove činjenice predstavljaju temelj za razumevanje razvoja funkcionalnog i proceduralnog programiranja, kao i njihov uticaj na savremeno računarstvo.

Još jedna kratka istorija funckionalnog programiranja

Kratka istorija funkcionalnog programiranja je priča o evoluciji jednog od ključnih pravaca u razvoju računarskih nauka. Evo detaljnijeg osvrta:

Početci i teorijske osnove (1950-te i 1960-te)

  1. Temelji postavljeni teorijom:

    • Alonzo Čerč: Stvorio lambda račun u 1930-im, osnovu na kojoj se kasnije razvijalo funkcionalno programiranje.
    • Alan Tjuring: Iako je najpoznatiji po svojim Turingovim mašinama, Tjuringov rad indirektno je uticao na formiranje funkcionalnog programiranja kao dela računarskih nauka.
  2. Prvi jezici:

    • LISP (1958): Džon Mekarti sa MIT-a razvio je LISP (List Processing), jedan od pionira među funkcionalnim jezicima, koji je bio zasnovan na principima lambda računa.

Progres i inovacije (1970-te i 1980-te)

  1. Razvoj ML Jezika i njegove varijacije:

    • ML (Sredina 1970-ih): Na Univerzitetu u Edinburgu razvijen je ML (Meta Language), unapređujući ideje o tipizaciji i obrascima u programiranju.
    • Standard ML i OCaml: Nastali kao varijante ML-a, donoseći nove funkcije i mogućnosti.
  2. Haskell (1987):

    • Haskell, kao standardni čisti funkcionalni jezik, uveo je koncept lenjog izračunavanja (lazy evaluation), postajući popularan u akademskim krugovima.

Širenje i prihvatanje (1990-te i 2000-te)

  1. Široka primena u obrazovanju:

    • Funkcionalni jezici nalaze svoje mesto u akademskom svetu, posebno u istraživanju teorija programiranja.
  2. Novi jezici i dijalekti:

    • Erlang (1986): Specijalizovan za paralelno programiranje, idealan za sisteme koji rade u realnom vremenu.
    • Scala (2004): Scala spaja funkcionalno i objektno-orijentisano programiranje, razvijena na EPFL-u.
  3. Clojure (2007):

    • Clojure, kao savremeni dijalekt LISP-a, razvijen je za JVM (Java Virtual Machine), predstavljajući funkcionalni jezik za moderno doba.

Savremeni trendovi i inovacije (2010 - danas)

  1. Funkcionalni elementi u tradicionalnim Jezicima:

    • Jezici kao što su Java i C# uvode funkcionalne koncepte poput lambda izraza i stream API-ja.
  2. Rast popularnosti:

    • Funkcionalni jezici postaju sve popularniji zbog svojih prednosti u paralelnom programiranju i obradi podataka.
  3. Fokus na neizmenljivost i konkurenciju:

    • U svetlu razvoja pouzdanih i skalabilnih aplikacija, funkcionalni jezici nude efikasnija rešenja za upravljanje stanjima i neizmenljivost podataka.

Funkcionalno programiranje i dalje se razvija, prilagođavajući se promenljivim zahtevima softverske industrije i integrišući nove tehnološke inovacije.

 

 

         
Twitter Facebook Linkedin Pinterest Email
         

Budite prvi koji će ostaviti komentar.

Ostavite komentar Ostavite komentar

 

 

 

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272