2010-06-05 10 views
21

관계형 데이터베이스는 집합 이론에 기반하고, 함수 프로그래밍은 람다 미적분을 기반으로하며, 논리 프로그래밍은 논리에 기반합니다 (물론 :)), 이제는 생각해 봅니다. 명령형 프로그래밍과 일반 프로그래밍이 수학의 특정 부분을 기반으로하는지 확실하지 않습니다.OOP는 수학의 어떤 지점을 기반으로합니까?

+0

건물 건축물에서 온 것이라고 들었습니다. – hgulyan

+1

@hgulyan, 아니요, [Design Patterns] (http://en.wikipedia.org/wiki/Design_pattern)입니다. OOP는 이것보다 먼저 선다. –

+0

@ Péter Török, 맞아요 :) – hgulyan

답변

25

OOP는 엄격한 형식주의에서 비롯된 것이 아니라 실제로 형식주의입니다. 그 형식주의를 적절하게 정의하려는 많은 시도가 있었다. 가장 주목할만한 작업은 Luca Cardelli가 수행합니다. http://lucacardelli.name/indexPapers.html (전체 "객체"섹션 참조)

명령 프로그래밍은 람다 미적분, SK 논리, 튜링 추상 기계, 마르코프 알고리즘을 비롯한 모든 튜링 대응 형식을 기반으로 할 수 있습니다. 다른 유사한 용어 재 작성 시스템 (TRS). 일반적인 프로그래밍은 전혀 다르지 않습니다. 이것은 용어의 재 작성 시스템입니다.

따라서 문자 그대로 모든 것을위한 가장 일반적인 수학적 근거는 용어 다시 쓰기 시스템을 파헤쳐 야 할 때입니다.

더 최근의 연구는 AbdelGawad의 Rice University에서의 최근 연구입니다. 그는 NOOP라고 불리는 주류 OOP (예 : Java, C#, C++, Scala, X10 등)의 수학적 모델을 구축합니다. 여기 http://scholarship.rice.edu/handle/1911/70199

3

OOP가 기원이 자신의 박사 학위 논문에 대한 링크가 시뮬-67와 스몰 토크-80보다는 어떤 수학적 이론이나 형식주의와 같은 프로그래밍 언어. 하지만 OOP의 객체, 클래스 및 상속 개념이에 기초한 이라는 범주 및 분류의 순진하거나 일반적인 의미의 시스템이라고 말할 수 있다고 가정합니다. 예 : 분류는 Linnaeus에 의해 개발되었습니다.

관련 문제