Pytanie Czy OOP jest oparty na dowolnej gałęzi matematyki? [Zamknięte]


Wiem, że relacyjne bazy danych oparte są na teorii zbiorów, programowanie funkcjonalne opiera się na rachunku lambda, programowanie logiczne oparte jest na logice (oczywiście :)) i teraz o tym myślę; Nie jestem pewien, czy programowanie imperatywne i ogólne jest oparte na jakiejś konkretnej gałęzi matematyki.


21
2018-06-05 09:50


pochodzenie


Słyszałem, że pochodzi z architektury budynków :) - hgulyan
@hgulyan, nie, to jest Wzorce projektowe. OOP poprzedza te. - Péter Török
@ Péter Török, masz rację :) - hgulyan
Programowanie logiczne w szczególności pochodzi z logiki predykatów. (Są inne typy.) - JUST MY correct OPINION
Obiekty są skończonymi funkcjami w połączeniu z podpisami określającymi ich kontrakty. Czy sprawdziłeś ostatnio pracę AbdelGawad? NOOP? - Ertug Yasdu


Odpowiedzi:


OOP nie pochodzi z żadnego ścisłego formalizmu, ale jest to formalizm. Było wiele prób prawidłowego zdefiniowania tego formalizmu. Najbardziej znaczącą pracę wykonuje Luca Cardelli: http://lucacardelli.name/indexPapers.html (zobacz całą sekcję "Obiekty")

Programowanie imperatywne może opierać się na dowolnym formalizmie równoważnym Turingowi, w tym rachunku lambda, logice SK, maszynie abstrakcyjnej Turinga, algorytmach Markova lub dowolnym innym podobnym systemie transkrypcji okresowej (TRS). Generyczne programowanie nie jest niczym innym, jest to termin określający rodzaj przepisywania.

Tak więc, dla najczęstszych matematycznych podstaw dosłownie wszystko, czego potrzebujesz, aby zagłębić się w systemy przepisywania terminów.

Nowszym dziełem jest niedawna praca AbdelGawad na Rice University. Buduje model matematyczny głównego nurtu OOP (np. Java, C #, C ++, Scala, X10 itd.) O nazwie NOOP. Oto link do jego pracy doktorskiej http://scholarship.rice.edu/handle/1911/70199


25
2018-06-05 10:07





OOP ma swoje początki w językach programowania takich jak Simula-67 i Smalltalk-80, zamiast jakiejkolwiek teorii matematycznej czy formalizmu. Ale przypuszczam, że można powiedzieć, że pojęcia obiektu, klasy i dziedziczenia OOP są oparte na naiwne lub zdroworozsądkowe systemy kategorii i klasyfikacji; na przykład taksonomie opracowane przez Linneusza.


3
2018-06-05 10:16