관계형 데이터베이스는 집합 이론에 기반하고, 함수 프로그래밍은 람다 미적분을 기반으로하며, 논리 프로그래밍은 논리에 기반합니다 (물론 :)), 이제는 생각해 봅니다. 명령형 프로그래밍과 일반 프로그래밍이 수학의 특정 부분을 기반으로하는지 확실하지 않습니다.OOP는 수학의 어떤 지점을 기반으로합니까?
21
A
답변
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에 의해 개발되었습니다.
관련 문제
- 1. MFC는 어떤 디자인 패턴을 기반으로합니까?
- 2. Feedly는 어떤 아약스 프레임 워크를 기반으로합니까?
- 3. 프로그래밍과 수학의 관계는 무엇입니까?
- 4. 상속 문제 OOP는
- 5. 이산 구조와 이산 수학의 차이
- 6. OOP는 PHP에서 사용할 가치가 있습니까?
- 7. 클라우드 컴퓨팅은 SOA를 기반으로합니까?
- 8. 통계는 액세스 토큰을 기반으로합니까?
- 9. RCP는 플러그인 또는 기능을 기반으로합니까?
- 10. microsoft asp.net 분할 컨테이너를 기반으로합니까?
- 11. .Net XML 직렬화는 XSD를 기반으로합니까?
- 12. 방지 기능은 동적으로 자바 스크립트 OOP는
- 13. PHP OOP는 - 잘못된 개체는 다음과 코드
- 14. Matlab OOP는 일시적인 속성을 저장하는 메소드를 호출합니다.
- 15. 현재 사용중인 지점을 보려면 어떤 SVN 명령을 사용할 수 있습니까?
- 16. cuda.net은 CUDA 런타임 또는 CUDA 드라이버를 기반으로합니까?
- 17. 원격 지점을 추적하는 로컬 지점을 어떻게 만들 수 있습니까?
- 18. GIT : 다른 지점을 체크 아웃하기 전에 지점을 커밋해야합니까?
- 19. 특정 지점을 확인 하시겠습니까?
- 20. git - 지점을 보는 방법
- 21. 지점을 사용하여 위치 설정
- 22. 힘내 - 지점을 지우는 방법?
- 23. OpenGL이 한 지점을 중심으로 회전합니다.
- 24. 덜 알려진 브라우저는 OWN 엔진을 기반으로합니까?
- 25. 범위는 여러 가지 가능한 예외 사항을 기반으로합니까?
- 26. PHP는 검색 엔진 프레임 워크를 기반으로합니까?
- 27. 매트릭스에서 데이터 지점을 추출하고, MATLAB
- 28. 개인 지점을 통한 버전 관리?
- 29. usleep가 스레드 취소 지점을 생성합니까?
- 30. SVN : 두 지점을 하나로 병합
건물 건축물에서 온 것이라고 들었습니다. – hgulyan
@hgulyan, 아니요, [Design Patterns] (http://en.wikipedia.org/wiki/Design_pattern)입니다. OOP는 이것보다 먼저 선다. –
@ Péter Török, 맞아요 :) – hgulyan