18.01.2016 - Institute Seminar - 13:00, Stanisław Ambroszkiewicz (ICS PAS)

18 01 2016 ambroszkiewicz

Wydawałoby się, że w Podstawach Informatyki jest wszystko jasne. Tak jest dla obliczeń na prostych typach.

Czym są obliczenia na obiektach wyższych rzędów, np. funkcjach, funkcjonałach czy relacjach? Są one wtedy traktowane jako obiekty i mogą być argumentami jeszcze wyższych funkcji i relacji. Nie jest to tylko problem teoretyczny. Programiści chcą używać i używają(?) takich obiektów w praktyce programowania, np. języki funkcyjne (np. Haskell, Coq CoIC), programowanie strukturalne, generic programing. Jaki jest współczesny paradygmat w Informatyce?

Jeśli chodzi o architekturę komputera i języki programowania, to według John Backus (1977 ACM Turing Award lecture ``Can Programming Be Liberated from the von Neumann Style?''), paradygmat ten polega na izomorfizmie pojęciowym pomiędzy architekturą komputera według von Neumanna (jedyna jaka jest) a językami programowania. Języki programowania są abstrakcyjną (na wyższym poziomie abstrakcji) kopią komputera von Neumanna.

Jeśli chodzi o programowanie na obiektach wyższych rzędów, to ten paradygmat sprowadza się do tzw. ``lazy evaluation'', czyli do symbolicznego przetwarzania termów (nazw) odnoszących się od tych obiektów. Czy można przełamać ten paradygmat?

ATTENTION! This site uses cookies and similar technologies.

If you do not change your browser settings, you automatically agree to this.

I understand