우선 현재 사용중인 많은 프로그래밍 언어 (특히 "고급 언어")는 다중 패러다임 입니다. 이는 순전히 OOP 인 프로그램을 빌드하지 않는다는 것을 의미합니다 (스몰 토크 또는 에펠을 사용하여 큰 프로젝트를 빌드하는 경우 제외).
예를 들어 PHP 를 살펴보십시오 .
- OOP의 많은 요소가 있음 (버전 5부터)
- 이전에는 대부분 절차 적이었습니다.
- 선언적 프로그래밍 요소 (예 : 배열 함수)가 있습니다.
- 함수형 프로그래밍의 많은 요소를 구현했습니다 (버전 5.4 이후).
기본적으로 PHP는 많은 다른 패러다임을 하나로 묶습니다 (그리고 "접착 언어"자체입니다).
또한 Java는 객체 지향 패러다임 (예 : 함수형 프로그래밍)이 아닌 많은 개념을 구현합니다.
Wikipedia : https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Imperative_languages(100% 정확하지 않음) 에서 유형별 프로그래밍 언어 목록을 살펴보세요 .
기능적 프로그래밍 (결론적 프로그래밍의 하위 집합)
- Wideley은 (는 같은 붙어 언어의 일부가되었다 실제로 사용되는 PHP , 또한 자바 함수 프로그래밍 및 많은 다른 사람이 구현 한 개념)
- 많은 아이디어는 확실히 볼만한 가치가있는 LISP에서 비롯됩니다.
- 예를 들어 Haskell로 전체 애플리케이션을 빌드 할 수 있으므로 OOP를 "대체"할 수 있습니다.
절차 적 프로그래밍
- C (대부분 절차 적 언어)는 여전히 가장 널리 사용되는 언어 중 하나입니다.
- 많은 현대의 접착제 언어는 처음에 절차 적이었습니다.
- 여전히 많은 프로그램이 대부분 절차 적이므로 원하는 경우 OOP를 "대체"할 수 있습니다.
논리 프로그래밍
- 가장 눈에 띄는 예는 Prolog입니다. 규칙 기반 논리 쿼리의 이점을 얻는 특정 작업에 사용됩니다.
- 대규모 프로젝트 구축 측면에서 OOP를 "대체"할 수 없지만 다른 측면에서는 대체 할 수 있습니다.
일반적으로 선언적 / 도메인 특정 언어
- 프로젝트에서 SQL을 사용하십니까? 그렇다면 그들은 순전히 OOP가 아니며 SQL은 본질적으로 선언적입니다.
- 많은 도메인 별 언어 (예 : CSS)가 선언적입니다.
일반적인 명령형 프로그래밍
이 목록은 완전하지 않으며 단지 아이디어를 줄 것입니다. 큰 애플리케이션을 작성할 때 일반적으로 많은 다른 패러다임을 사용하고 있으며 사용중인 각 언어도 여러 패러다임을 구현하고 있다는 점에 유의하십시오.
OOP는 일반적으로 데이터를 모델링 할 때 크고 복잡한 관계를 구성하는 데 좋은 선택으로 간주됩니다. 다른 많은 작업을 수행하는 것이 항상 패러다임은 아닙니다.