본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
요즘 화제
임의의 문서로
sitesupport
사용자 모임
사랑방
사용자 모임
관리 요청
편집 안내
소개
도움말
정책과 지침
질문방
한울위키
검색
검색
보이기
로그인
개인 도구
로그인
다중 패러다임 프로그래밍 언어 문서 원본 보기
문서
토론
한국어
읽기
원본 보기
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
원본 보기
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
보이기
사이드바로 이동
숨기기
←
다중 패러다임 프로그래밍 언어
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
일반 사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
'''다중 패러다임 프로그래밍 언어'''({{lang|en|multiparadigm programming language}})는 하나 이상의 [[프로그래밍 패러다임]]을 지원하는 [[프로그래밍 언어]]이다. 이것은 [[비야네 스트롭스트룹]]이 설명하는, “하나 이상의 [[컴퓨터 프로그래밍|프로그래밍 스타일]]을 따르는 [[컴퓨터 프로그램|프로그램]]”을 허용한다. 이런 언어들의 설계 목표는 모든 문제를 가장 쉽고 효율적으로 풀 수 있는 하나의 패러다임은 없다는 것을 인정하고, 프로그래머가 자신의 일에 가장 적합한 것을 사용할 수 있게 하는 것이다. 가장 야심찬 예는 [[오즈 (프로그래밍 언어)|오즈]]인데, 오즈는 [[논리형 프로그래밍]], [[함수형 프로그래밍]], [[객체지향 프로그래밍]], [[자료흐름 병행 프로그래밍]] 등의 프로그래밍 패러다임을 지원한다. 오즈7는 십년 이상의 기간을 들여 다른 프로그래밍 [[패러다임들과]] 전통적으로 연관되어 있던 개념들을 조화로운 방법으로 결합시키려 하였다. == 다중 패러다임 언어의 예 == 지원하는 패러다임의 수와 형태로 묶을 수 있다. === 두 가지 패러다임 === * [[자료흐름 언어|자료흐름]], [[비주얼 프로그래밍 언어|비주얼]] ** [[랩뷰]](LabVIEW) * [[함수형 프로그래밍|함수형]], [[명령형 프로그래밍|명령형]] ** [[APL (프로그래밍 언어)|APL]] * 함수형, [[논리형 프로그래밍|논리형]] ** [[ALF (프로그래밍 언어)|ALF]] * 함수형, [[객체지향 프로그래밍|객체지향]] ([[클래스 (컴퓨터 과학)|클래스 기반]]) ** [[커먼 리스프]] ** [[딜런 (프로그래밍 언어)|딜런]] ** [[Sather (프로그래밍 언어)|Sather]] * 함수형, 비주얼 ** [[스프레드시트]] * 명령형, 객체지향 (클래스기반) ** [[PHP]] ** [[시뮬라]] * 객체지향 (클래스기반), 비주얼 ** [[라바 (프로그래밍 언어)]] === 세 가지 패러다임 === * [[병행 프로그래밍 언어|병행]], [[자료흐름]], 함수형 ** [[SISAL]] * 병행, 함수형, distributed ** [[얼랭]] * 병행, 함수형, 논리형 ** [[Curry (프로그래밍 언어)|Curry]] * 병행, imperative, 객체지향 (클래스기반) ** [[ChucK]] * 자료흐름, 객체지향 (클래스기반), 비주얼 ** [[Prograph]] * 함수형, imperative, logic ** [[Poplog]] * 함수형, 명령형, 객체지향 (클래스기반) ** [[BETA]] ** [[J (프로그래밍 언어)|J]] ** [[펄]] ** [[Pliant]] ** [[파이썬]] ** [[Tcl]] (클래스기반에 [[xotcl]]이나 [[itcl]]을 확장, 프로토타입기반에 [[snit]]을 확장) * 함수형, 명령형, 객체지향 (프로토타입기반) ** [[ECMA스크립트]] *** [[액션스크립트]] *** [[DMDScript]] *** [[E4X]] *** [[자바스크립트]] *** [[J스크립트]] ** [[루아 (프로그래밍 언어)|루아]] ** [[Tcl]] ([[snit]] 확장) * [[제네릭 프로그래밍|제네릭]] ([[템플릿 메타프로그래밍]]), 명령형, 객체지향 (클래스기반) ** [[C++]] ** [[D (프로그래밍 언어)|D]] === 네 가지 패러다임 === * 함수형, 제네릭 (템플릿 메타프로그래밍), 명령형, 객체지향 (클래스기반) ** [[Ocaml|Objective Caml]] * 함수형, 명령형, 병행 ([[행위자 모델]]), 객체지향 (프로토타입기반) ** [[아이오 (프로그래밍 언어)|아이오]] * 함수형, 명령형, 병행, 객체지향 (클래스기반) ** [[루비 (프로그래밍 언어)|루비]] * 함수형, 명령형, 논리형, 객체지향 (클래스기반) ** [[레다 (프로그래밍 언어)|레다]] * 명령형, 논리형, 객체지향 (클래스기반), 규칙기반 ** [[ROOP (프로그래밍 언어)|ROOP]] * 함수형, 명령형, 객체지향 (프로토타입기반), [[사투리 (프로그래밍)]] ** [[REBOL]] === 다섯 가지 패러다임 === * 병행 (rendezvous 기반), [[분산 컴퓨팅|분산]], 제네릭, 명령형, 객체지향 (클래스기반) ** [[에이다 (프로그래밍 언어)|에이다]] === 여덟 가지 패러다임 === * 병행, [[제한형 프로그래밍|제한]], 자료흐름, 분산, 함수형 (evaluation: [[Eager evaluation|eager]], [[Lazy evaluation|lazy]]), 명령형, 논리형, 객체지향 (클래스기반) ** [[오즈 (프로그래밍 언어)|오즈]] *** [[모차르트 프로그래밍 시스템]] - 오즈의 [[다중 플랫폼]] == 같이 보기 == * [[프로그래밍 패러다임]] * [[프로그래밍 언어의 종류별 목록]] == 참고 자료 == * {{언어링크|en}} ''Multiparadigm Design for C++'', by Jim Coplien, 1998. * {{언어링크|en}} ''Concepts, Techniques, and Models of Computer Programming'', by Peter Van Roy and Seif Haridi, 2004. == 외부 링크 == * {{언어링크|en}} [http://c2.com/cgi/wiki?MultiParadigmProgrammingLanguage MultiParadigmProgrammingLanguage] on the [http://c2.com/cgi/wiki?FrontPage C2 wiki] {{위키데이터 속성 추적}} [[분류:다중 패러다임 프로그래밍 언어| ]] [[분류:프로그래밍 언어]]
다중 패러다임 프로그래밍 언어
문서로 돌아갑니다.
검색
검색
다중 패러다임 프로그래밍 언어 문서 원본 보기
새 주제