다중 패러다임 프로그래밍 언어의 비교

Comparison of multi-paradigm programming languages

프로그래밍 언어는 지원되는 패러다임의 수와 유형에 따라 그룹화할 수 있다.

패러다임 요약

이 기사에 나열된 프로그래밍 패러다임에 대한 간략한 참조.

  • 동시 프로그래밍 - 동시성을 위한 언어 구조를 가지며, 여기에는 멀티스레딩, 분산 컴퓨팅 지원, 메시지 전달, 공유 리소스(공유 메모리 포함) 또는 미래 등이 포함될 수 있음
    • 행위자 프로그래밍 – 환경에 대응하여 현지 결정을 내리는 행위자와의 동시 연산(이기적 또는 경쟁적 행동 가능)
  • 제약 조건 프로그래밍 – 변수 간의 관계를 제약 조건(또는 제약 조건 네트워크)으로 표현하여 허용 가능한 해결책(제약 만족도 또는 단순 알고리즘 사용)
  • 데이터 흐름 프로그래밍 – 데이터 값이 변경될 때 수식을 강제로 재계산(예: 스프레드시트)
  • 선언적 프로그래밍 – 자세한 상태 변화 c.f. 명령적 프로그래밍(기능 및 논리 프로그래밍은 선언적 프로그래밍의 주요 하위 그룹)을 지정하지 않고 계산이 수행해야 하는 작업을 설명한다.
  • 분산 프로그래밍 – 컴퓨터 네트워크를 통해 통신하는 여러 개의 자율 컴퓨터를 지원
  • 기능 프로그래밍 – 수학적 함수의 평가를 사용하고 상태 및 변이 가능한 데이터를 방지
  • 일반 프로그래밍 – 매개변수로 제공되는 특정 유형에 대해 필요에 따라 인스턴스화하는 지정 대기자 유형 관점에서 작성된 알고리즘 사용
  • 명령형 프로그래밍 – 프로그램 상태를 변경하는 명시적 문구
  • 논리 프로그래밍 – 프로그래밍에 명시적 수학적 논리 사용
  • 메타프로그래밍 – 다른 프로그램(또는 그들 자신)을 자신의 데이터로 작성하거나 조작하거나, 또는 다른 방식으로 실행되지 않는 컴파일 시간에 작업의 일부를 수행하는 프로그램 작성
    • 템플릿 메타프로그래밍 – 임시 소스 코드를 생성하기 위해 컴파일러에 의해 템플릿을 사용하는 메타프로그래밍 방법. 이 방법은 컴파일러가 나머지 소스 코드와 병합한 다음 컴파일러에 의해 컴파일된다.
    • 반사 프로그래밍 – 프로그램이 스스로 수정하거나 확장하는 메타프로그래밍 방법
  • 객체 지향 프로그래밍 – 데이터 필드 및 방법으로 구성된 데이터 구조를 상호 작용(객체)과 함께 사용하여 프로그램 설계
    • 클래스 기반 – 객체 자체 대비 객체 클래스를 정의하여 상속이 이루어지는 객체 지향 프로그래밍
    • 프로토타입 기반 – 클래스를 피하고 인스턴스 복제를 통해 상속을 구현하는 객체 지향 프로그래밍
  • 파이프라인 프로그래밍 – 원래 none으로 설계된 언어에 구문을 내포함수 호출에 추가하기 위한 간단한 구문 변경
  • 규칙 기반 프로그래밍 – 지식 기반을 구성하고 전문가 시스템과 문제 추론 및 해결에 사용할 수 있는 경험의 규칙 네트워크
  • 시각적 프로그래밍 - 프로그램 요소를 텍스트로 지정하지 않고 그래픽으로 조작(예: Simulink), 다이어그램 프로그래밍이라고[1]

언어 개요

멀티패러다임 프로그래밍 언어
언어 패러다임 수 동시 제약 데이터 흐름 선언적 분산된 기능적 메타프로그래밍 포괄적인 명령적 논리학 반사 객체 지향 파이프라인 비주얼 규칙 기반 기타 패러다임
에이다[2][3][4][5][6] 5 [a 1] 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
알프 2 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
아미가이[필요하다] 2 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
APL 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 배열(다차원)
베타.[필요하다] 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
C++ 7 (15) [7][8][9] 도서관[10] 도서관[11][12] 도서관[13][14] 도서관[15][16] [17] [a 3] 도서관[18][19] 도서관[20] [a 2] [21] 아니요. 도서관[22] 배열(다차원, STL 사용)
C# 6 (7) 아니요. 도서관[a 4] 아니요. 아니요. [a 5] 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 반작용의[a 6]
추크[필요하다] 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
클레어. 2 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
클로저 5 [23][24] 아니요. 아니요. 아니요. [25] [26] 아니요. 아니요. 도서관[27] 아니요. 아니요. [28] 편집자[29] 아니요. 다중 발송,[30] 에이전트[31]
커먼 리스프 7 (14) 도서관[32] 도서관[33] 도서관[34] [35] 도서관[36] [37] 도서관[38] 예(복수 디스패치, 메서드 조합)[39][a 2] 도서관[40] 아니요. 도서관[41] 다중 디스패치, 메타-OOP 시스템,[42] 메타프로그래밍을 통해 언어가 확장 가능하다.
5 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 3] 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
카레 4 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
D(버전 2.0)[43][44] 6 [a 7] 아니요. 아니요. 아니요. 아니요. [45][a 3] [a 3] 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
델파이 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 3] 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
딜런[필요하다] 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
E 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
ECMAScript[46][47](ActionScript, E4X, JavaScript, JScript) 4 (5) 부분(일반, 기본 확장)[a 8] 아니요. 아니요. 도서관[48][49] 아니요. 아니요. 아니요. 아니요. [a 9] 도서관[50][51] 편집자[52] 아니요. 반응성,[a 10][53] 이벤트 중심[a 11][a 12]
얼랑 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
엘리시르 4 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
엘름 6 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 반작용의
F# 7 (8) [a 7] 아니요. 도서관[a 4] 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 반작용의[a 6]
포트란 4 (5) 아니요. 아니요. 아니요. 아니요. [a 13] 아니요. [a 14] 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 배열(다차원)
가다 4 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
하스켈 8 (15) 도서관[54] 도서관[55] 도서관[56] 예(레이지) [57] 도서관[58] 아니요. 불변성 도서관[59] 리터러시, 반응형, 종속형(상호)
이오 4 [a 7] 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 9] 아니요. 아니요. 아니요. 아니요.
J[필요하다] 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
자바 6 도서관[60] 도서관[61] 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
줄리아. 9 (17) 도서관[62] 도서관[63][64] 도서관[65] 예() 도서관[66] 예(기존 싱글이 아닌 복수 디스패치) 아니요. 도서관[67][68] 다중 파견,
배열(다차원), 선택적으로 게으르고[69] 반응적(라이브러리 포함)
코틀린 8 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
랩뷰 4 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
용암 2 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요.
LispWorks(대칭 다중 처리, 규칙, 로직(Prolog), CORBA 지원 버전 6.0) 9 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요.
루아[필요하다] 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 9] 아니요. 아니요. 아니요. 아니요.
매트랩 6 (10) 공구함[70] 공구함[71] [72] 아니요. 공구함[73] 아니요. [74] [75] 아니요. 아니요. [76] [77] 아니요. [78] 아니요. 배열(다차원)
네멜레 7 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
객체 파스칼 4 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
OCAML 4 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
오즈 11 아니요. 아니요. 아니요. [a 2] 아니요. 아니요.
[필요하다] 8 (9) [79] 도서관[80] [81] 아니요. 아니요. 아니요. 아니요. [a 2] [a 2] 아니요. 아니요. 아니요.
PHP[82][83][84] 4 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
팝로그 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
프로그램 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요.
파이톤 5 (10) 도서관[85][86] 도서관[87] 아니요. 아니요. 도서관[88] 부분적 [89][90] [91][92] 도서관[93] [a 2] 아니요. 편집자[94] 아니요. 구조화된
R 4 (6) 도서관[95] 아니요. 아니요. 아니요. 도서관[96] 아니요. 아니요. 아니요. [97] 아니요. 아니요. 배열(다차원)
라켓 10 [98] [99] [100] 아니요. [101] 아니요. 아니요. 아니요. 아니요. 게으름뱅이[102]
라쿠 10 [103] [104] [105] 아니요. 도서관[106] [107] [108] 아니요. [109] [110] 아니요. 아니요. 다수의 파견, 게으른 명단, 반응적이야
3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
루비 5 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
(버전 1.0.0-알파) 6 [a 7] 아니요. 아니요. 아니요. 아니요. [111][112] [113] 아니요. 아니요. 아니요. 아니요. 아니요. 선형, 선 및 소유권 유형
캐더[필요하다] 2 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
스칼라[114][115] 9 [a 7] 아니요. [a 15] 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
시물라[필요하다] 2 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 아니요.
시살 3 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
스프레드시트 2 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
스위프트 7 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 블록버스터급
Snit 확장이[citation needed] 있는 Tcl 3 아니요. 아니요. 아니요. 아니요. 아니요. [116] 아니요. 아니요. 아니요. 아니요. [a 9][117] 아니요. 아니요. 아니요. 아니요.
Visual Basic 입니다.네트 6 (7) 아니요. 도서관[a 4] 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요. 반작용의[a 6]
Windows PowerShell 6 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. [a 2] 아니요. 아니요. 아니요.
울프람어 & 매스매티카 13[118] (14) [119] 아니요. 지식 기반

참고 항목

메모들

  1. ^ 랑데부 및 모니터와 같은 기반
  2. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai 클래스 기반
  3. ^ a b c d e 템플릿 메타프로그래밍
  4. ^ a b c TPL Dataflow 사용
  5. ^ 람다만 지원(직접 기능 프로그래밍)
  6. ^ a b c 반응형 확장 사용(Rx)
  7. ^ a b c d e 배우 프로그래밍
  8. ^ Node.js클러스터 모듈 또는 child_process 사용.포크 방식, 브라우저의 웹 작업자
  9. ^ a b c d 프로토타입 기반
  10. ^ 반응형 확장(RxJS) 사용
  11. ^ 이벤트 모듈을 통해 Node.js에서
  12. ^ 기본 EventTarget API를 통해 브라우저에서 사용
  13. ^ 순기능의
  14. ^ 매개 변수화된 클래스
  15. ^ Akka 2013-01-19 웨이백 머신보관

인용구

  1. ^ Bragg, S.D.; Driskill, C.G. (20–22 September 1994). "Diagrammatic-graphical programming languages and DoD-STD-2167A". Proceedings of AUTOTESTCON '94. IEEEXplore. IEEE. pp. 211–220. doi:10.1109/AUTEST.1994.381508. ISBN 978-0-7803-1910-3. S2CID 62509261.
  2. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 섹션 9: 작업동기화
  3. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 부록 E: 분산 시스템
  4. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 섹션 12: 일반 단위
  5. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 섹션 6: 하위 프로그램
  6. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged TypeType Extensions
  7. ^ 스레드 지지대
  8. ^ 아토믹스 지원
  9. ^ 메모리 모델
  10. ^ 지코드
  11. ^ 시스템C
  12. ^ 부스트.아이오스트림
  13. ^ 볼린크
  14. ^ 아라랏
  15. ^ 오픈엠피
  16. ^ 부스트.MPI
  17. ^ 부스트.MPL
  18. ^ LC++
  19. ^ Castor 2013-01-25 웨이백 머신보관
  20. ^ 라이브러리 반영
  21. ^ N3534
  22. ^ 부스트.스피릿
  23. ^ Clojure - 동시 프로그래밍
  24. ^ 클로저 - core.async
  25. ^ 클로저 - 기능 프로그래밍
  26. ^ 클로저 - 매크로
  27. ^ Clojure - core.logic
  28. ^ Clojure - 스레딩 매크로 가이드
  29. ^ "Light Table". 2019-04-08.
  30. ^ 다중 방식 및 계층 구조
  31. ^ 에이전트 및 비동기식 작업
  32. ^ [1] 언어 확장으로 구현된 많은 동시성 패러다임
  33. ^ [2] 확장을 통한 CL 내부 제약 조건 프로그래밍
  34. ^ [3] 데이터 흐름 확장
  35. ^ [4] 내장된 메타프로그래밍을 사용하여 DSL을 생성함. 선언의 일부인 기능, 제약 및 로직 패러다임에 대한 참고 사항도 참조하십시오.
  36. ^ [5] 언어 확장을 통한 MPI 등
  37. ^ 템플릿 메타프로그래밍 매크로 사용(C++ 참조)
  38. ^ [6] [7] [8] 언어 확장으로 구현된 프롤로그
  39. ^ Common Lisp Object System(Common Lisp Object System)은 CLOST에 대한 위키백과 기사를 참조하십시오.
  40. ^ 사용자가 짧은 매크로(실행의 예)를 통해 구현
  41. ^ [9] 규칙 기반 프로그래밍 확장
  42. ^ [10] 메타 객체 프로토콜을 통해
  43. ^ D 언어 피쳐 표
  44. ^ 포보스 성알고리즘
  45. ^ D 언어 문자열 믹스인
  46. ^ Little JavaScripter는 기능 언어인 Scheme과 기본적인 공통성을 보여준다.
  47. ^ Wayback Machine에서 JavaScript Archived 2019-02-10의 Object Oriented Programming은 JavaScript의 객체 지향 프로그래밍 기법에 대한 개요를 제공한다.
  48. ^ "React – A JavaScript library for building user interfaces". 2019-04-08.
  49. ^ "TNG-Hooks". 2019-04-08.
  50. ^ "Lodash documentation". 2019-04-08.
  51. ^ "mori". 2019-04-08.
  52. ^ "Light Table". 2019-04-08.
  53. ^ "TNG-Hooks". 2019-04-08.
  54. ^ 프롤로그 임베딩
  55. ^ "Functional Reactive Programming - HaskellWiki".
  56. ^ 클라우드 해스켈
  57. ^ "Template Haskell - HaskellWiki".
  58. ^ "Logict: A backtracking logic-programming monad".
  59. ^ https://web.engr.oregonstate.edu/~erwig/HaskellRules/HaskellRules_6월6일.pdf[bare URL PDF]
  60. ^ https://jcp.org/en/jsr/detail?id=331 JSR 331: 제약 조건 프로그래밍 API
  61. ^ https://github.com/GoogleCloudPlatform/DataflowJavaSDK Google 클라우드 플랫폼 Dataflow SDK
  62. ^ "JuliaOpt/JuMP.jl". GitHub. JuliaOpt. 11 February 2020. Retrieved 12 February 2020.
  63. ^ "GitHub - MikeInnes/DataFlow.jl". 2019-01-15.
  64. ^ "GitHub - JuliaGizmos/Reactive.jl: Reactive programming primitives for Julia". 2018-12-28.
  65. ^ https://github.com/davidanthoff/Query.jl 줄리아에 있는 거의 모든 것을 질문한다.
  66. ^ https://github.com/lilinjn/LilKanren.jl Julia의 Kanren 구현 모음
  67. ^ "GitHub - abeschneider/PEGParser.jl: PEG Parser for Julia". 2018-12-03.
  68. ^ "GitHub - gitfoxi/Parsimonious.jl: A PEG parser generator for Julia". 2017-08-03.
  69. ^ 게으름뱅이 https://github.com/MikeInnes/Lazy.jl
  70. ^ "Execute loop iterations in parallel". mathworks.com. Retrieved 21 October 2016.
  71. ^ "Write Constraints". mathworks.com. Retrieved 21 October 2016.
  72. ^ "Getting Started with SimEvents". mathworks.com. Retrieved 21 October 2016.
  73. ^ "Execute loop iterations in parallel". mathworks.com. Retrieved 21 October 2016.
  74. ^ "Execute MATLAB expression in text - MATLAB eval". mathworks.com. Retrieved 21 October 2016.
  75. ^ "Determine class of object". mathworks.com. Retrieved 21 October 2016.
  76. ^ "Class Metadata". mathworks.com. Retrieved 21 October 2016.
  77. ^ "Object-Oriented Programming". mathworks.com. Retrieved 21 October 2016.
  78. ^ "Simulink". mathworks.com. Retrieved 21 October 2016.
  79. ^ 인터프리터 기반 스레드
  80. ^ 무스
  81. ^ 상위 순서 펄
  82. ^ PHP 매뉴얼, 17장. 함수
  83. ^ PHP 매뉴얼, 19장. 클래스 및 개체(PHP 5)
  84. ^ PHP 설명서, 익명 기능
  85. ^ "Parallel Processing and Multiprocessing in Python". wiki.python.org. Retrieved 21 October 2016.
  86. ^ "threading — Higher-level threading interface". docs.python.org. Retrieved 21 October 2016.
  87. ^ "python-constraint". pypi.python.org. Retrieved 21 October 2016.
  88. ^ "DistributedProgramming". wiki.python.org. Retrieved 21 October 2016.
  89. ^ "Chapter 9. Metaprogramming". chimera.labs.oreilly.com. Archived from the original on 23 October 2016. Retrieved 22 October 2016.
  90. ^ "Metaprogramming". readthedocs.io. Retrieved 22 October 2016.
  91. ^ "PEP 443 -- Single-dispatch generic functions". python.org. Retrieved 22 October 2016.
  92. ^ "PEP 484 -- Type Hints". python.org. Retrieved 22 October 2016.
  93. ^ "PyDatalog". Retrieved 22 October 2016.
  94. ^ "Light Table". 2019-04-08.
  95. ^ "Futureverse".
  96. ^ "future batchtools".
  97. ^ "Magrittr: A Forward Pipe Operator for R". cran.r-project.org\accessdate=13 July 2017. 17 November 2020.
  98. ^ 라켓 가이드: 동시성 및 동기화
  99. ^ 로제트 가이드
  100. ^ FrTime: 반응형 프로그램을 위한 언어
  101. ^ 라켓 가이드: 분산된 장소
  102. ^ 레이지 라켓
  103. ^ 채널 및 기타 메커니즘
  104. ^ "Class Signature".
  105. ^ 피드 연산자
  106. ^ https://github.com/perl6/doc/issues/1744#issuecomment-360565196 Cro 모듈
  107. ^ "Meta-programming: What, why and how". 2011-12-14.
  108. ^ https://perl6advent.wordpress.com/2009/12/18/day-18-roles/ 매개 변수화된 역할
  109. ^ "Meta-object protocol (MOP)".
  110. ^ https://docs.perl6.org/language/classtut 클래스 및 역할
  111. ^ "The Rust macros guide". Rust. Retrieved 19 January 2015.
  112. ^ "The Rust compiler plugins guide". Rust. Retrieved 19 January 2015.
  113. ^ 러스트 레퍼런스 §6.1.3.1
  114. ^ 스칼라 프로그래밍 언어 개요
  115. ^ 스칼라 언어 사양
  116. ^ "Tcl Programming/Introduction". en.wikibooks.org. Retrieved 22 October 2016.
  117. ^ "TCLLIB - Tcl Standard Library: snitfaq". sourceforge.net. Retrieved 22 October 2016.
  118. ^ 프로그래밍 언어 전문가용 참고 사항, Wolfram 언어 설명서.
  119. ^ 외부 프로그램, Wolfram 언어 설명서.

참조

  • 1998년 Addison-Wesley Professional C++위한 다중 명칭 설계의 Jim Coplien.