다중 패러다임 프로그래밍 언어
다중 패러다임 프로그래밍 언어(multiparadigm programming language)는 하나 이상의 프로그래밍 패러다임을 지원하는 프로그래밍 언어이다. 이것은 비야네 스트롭스트룹이 설명하는, “하나 이상의 프로그래밍 스타일을 따르는 프로그램”을 허용한다. 이런 언어들의 설계 목표는 모든 문제를 가장 쉽고 효율적으로 풀 수 있는 하나의 패러다임은 없다는 것을 인정하고, 프로그래머가 자신의 일에 가장 적합한 것을 사용할 수 있게 하는 것이다.
가장 야심찬 예는 오즈인데, 오즈는 논리형 프로그래밍, 함수형 프로그래밍, 객체지향 프로그래밍, 자료흐름 병행 프로그래밍 등의 프로그래밍 패러다임을 지원한다. 오즈7는 십년 이상의 기간을 들여 다른 프로그래밍 패러다임들과 전통적으로 연관되어 있던 개념들을 조화로운 방법으로 결합시키려 하였다.
다중 패러다임 언어의 예
편집지원하는 패러다임의 수와 형태로 묶을 수 있다.
두 가지 패러다임
편집- 자료흐름, 비주얼
- 랩뷰(LabVIEW)
- 함수형, 명령형
- 함수형, 논리형
- 함수형, 객체지향 (클래스 기반)
- 함수형, 비주얼
- 명령형, 객체지향 (클래스기반)
- 객체지향 (클래스기반), 비주얼
세 가지 패러다임
편집- 병행, 자료흐름, 함수형
- 병행, 함수형, distributed
- 병행, 함수형, 논리형
- 병행, imperative, 객체지향 (클래스기반)
- 자료흐름, 객체지향 (클래스기반), 비주얼
- 함수형, imperative, logic
- 함수형, 명령형, 객체지향 (클래스기반)
- 함수형, 명령형, 객체지향 (프로토타입기반)
- 제네릭 (템플릿 메타프로그래밍), 명령형, 객체지향 (클래스기반)
네 가지 패러다임
편집- 함수형, 제네릭 (템플릿 메타프로그래밍), 명령형, 객체지향 (클래스기반)
- 함수형, 명령형, 병행 (행위자 모델), 객체지향 (프로토타입기반)
- 함수형, 명령형, 병행, 객체지향 (클래스기반)
- 함수형, 명령형, 논리형, 객체지향 (클래스기반)
- 명령형, 논리형, 객체지향 (클래스기반), 규칙기반
- 함수형, 명령형, 객체지향 (프로토타입기반), 사투리 (프로그래밍)
다섯 가지 패러다임
편집여덟 가지 패러다임
편집같이 보기
편집참고 자료
편집- (영어) Multiparadigm Design for C++, by Jim Coplien, 1998.
- (영어) Concepts, Techniques, and Models of Computer Programming, by Peter Van Roy and Seif Haridi, 2004.
외부 링크
편집- (영어) MultiParadigmProgrammingLanguage on the C2 wiki