프로그래밍 언어 이론

Programming language theory
소문자 그리스 문자 ( (lambda)는 프로그래밍 언어 [citation needed]이론 분야의 비공식적인 기호이다.이 용법은 1930년대에 Alonzo Church에 의해 소개되고 프로그래밍 언어 연구자들에 의해 널리 사용되는 계산 모델람다 미적분으로부터 유래한다.이것은 컴퓨터 프로그램의 구조와 해석이라는 고전적인 텍스트의 표지와[1] 스킴 프로그래밍 [jargon]언어의 개발자인 제럴드 제이 서스먼과 가이 스틸이 쓴 1975년부터 1980년까지의 이른바 람다 페이퍼의 제목을 장식합니다.

프로그래밍 언어 이론(PLT)은 프로그래밍 언어로 알려진 공식 언어의 설계, 구현, 분석, 특성화 및 분류를 다루는 컴퓨터 과학의 한 분야입니다.프로그래밍 언어 이론은 수학, 소프트웨어 공학, 언어학포함한 다른 분야와 밀접하게 관련되어 있습니다.그 지역에는 많은 학술 회의와 저널이 있다.

역사

어떤 면에서, 프로그래밍 언어 이론의 역사는 프로그래밍 언어 자체의 발전보다 앞선다.1930년대에 Alonzo Church와 Stephen Cole Kleene에 의해 개발된 람다 미적분은 비록 프로그래머가 알고리즘을 컴퓨터 시스템에 기술하기 위한 수단이 아니라 계산을 모델링하기 위한 것으로 일부 사람들에 의해 세계 최초의 프로그래밍 언어로 여겨진다.많은 현대 함수형 프로그래밍 언어들은 람다 [2]미적분 위에 얇은 베니어(vener)를 제공하는 것으로 묘사되어 왔고, 많은 언어들은 람다 미적분이라는 관점에서 쉽게 묘사된다.

최초로 발명된 프로그래밍 언어는 1940년대에 Konrad Zuse에 의해 설계되었지만 1972년까지 공개적으로 알려지지 않은 Plankalkül이었다(그리고 1998년까지는 구현되지 않았다.최초로 널리 알려져 성공한 고급 프로그래밍 언어는 Fortran으로, John Backus가 이끄는 IBM 연구팀에 의해 1954년부터 1957년까지 개발되었습니다.FORTRAN의 성공은 "범용" 컴퓨터 언어를 개발하기 위한 과학자들로 구성된 위원회를 구성하는데, 그 노력의 결과는 ALGOL 58이었다.이와는 별도로 MIT의 John McCarthy는 학계에서 최초로 성공한 언어인 리스프를 개발했다.이러한 초기 노력의 성공으로, 프로그래밍 언어는 1960년대 이후 활발한 연구 주제가 되었다.

그 이후 프로그래밍 언어 이론 역사에서 몇 가지 다른 주요 사건:

1950년대

  • 노암 촘스키는 언어학 분야에서 촘스키 계층을 개발했는데, 이는 프로그래밍 언어 이론과 컴퓨터 과학의 다른 분야에 직접적인 영향을 미쳤다.

1960년대

1970년대

1980년대

1990년대

하위 분야 및 관련 분야

프로그래밍 언어 이론 안에 있거나 프로그래밍 언어 이론에 깊은 영향을 미치는 몇 가지 연구 분야가 있습니다; 이들 중 많은 분야는 상당한 중복을 가지고 있습니다.게다가, PLT는 계산 가능성 이론, 범주 이론, 집합 이론을 포함한 수학의 많은 다른 분야를 이용한다.

형식 의미론

형식 의미론은 컴퓨터 프로그램 및 프로그래밍 언어의 동작에 대한 공식 사양입니다.컴퓨터 프로그램의 의미론 또는 "의미"를 기술하는 세 가지 일반적인 접근법은 표현 의미론, 운영 의미론 및 자명한 의미론이다.

유형 이론

유형 이론은 유형 시스템을 연구하는 학문으로, "계산된 값의 종류에 따라 구문을 분류함으로써 특정 프로그램 행동의 부재를 증명하는 다루기 쉬운 구문적 방법"[4]이다.많은 프로그래밍 언어는 유형 시스템의 특성에 따라 구분됩니다.

프로그램 분석 및 변환

프로그램 분석은 프로그램을 검사하고 주요 특성(프로그램 오류 클래스 없음 등)을 결정하는 일반적인 문제입니다.프로그램 변환은 프로그램을 한 형태(언어)에서 다른 형태로 변환하는 과정입니다.

비교 프로그래밍 언어 분석

비교 프로그래밍 언어 분석은 프로그래밍 언어를 그들의 특성에 따라 다른 유형으로 분류하는 것을 추구합니다; 프로그래밍 언어의 광범위한 범주는 종종 프로그래밍 패러다임으로 알려져 있습니다.

범용 및 메타프로그래밍

메타프로그래밍은 실행 시 결과적으로 다른 언어 또는 원본 언어의 하위 집합으로 프로그램을 생성하는 고차 프로그램의 생성입니다.

도메인 고유의 언어

도메인 고유의 언어는 도메인의 특정 부분의 문제를 효율적으로 해결하기 위해 구성된 언어입니다.

컴파일러 구성

컴파일러 이론은 한 언어로 작성된 프로그램을 다른 형식으로 번역하는 프로그램인 컴파일러(또는 번역자)의 이론입니다.컴파일러의 액션은 전통적으로 구문 분석(스캔과 파싱), 의미 분석(프로그램이 무엇을 해야 하는지 결정), 최적화(일부 메트릭으로 나타나는 프로그램 성능 향상; 일반적으로 실행 속도) 및 코드 생성(일부 타깃에서 동등한 프로그램 생성과 출력)으로 나뉩니다.언어, 많은 경우 CPU 명령어 세트).

런타임 시스템

런타임 시스템은 프로그래밍 언어 런타임 환경과 가상 시스템, 가비지 컬렉션외부 기능 인터페이스비롯한 해당 구성 요소의 개발을 의미합니다.

저널, 출판물 및 컨퍼런스

회의는 프로그래밍 언어 연구를 발표하는 주요 장소입니다.가장 잘 알려진 회의로는 프로그래밍 언어원리(POPL), 프로그래밍 언어 설계구현(PLDI), 기능 프로그래밍관한 국제회의(ICFP), 객체 지향 프로그래밍, 시스템, 언어애플리케이션 국제회의(LAOPS)가 있습니다.ASPLOS(Programming Language and Operating Systems) 아키텍처 지원에 관한 회의.

PLT 연구를 발행하는 주목할 만한 저널로는 ACM Transactions on Programming Language and Systems(TOPLAS), Journal of Functional Programming(JFP), Journal of Functional and Logic Programming, 고차심볼 계산 이 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Abelson, Harold (1996). Structure and Interpretation of Computer Programs. Gerald Jay Sussman, Julie Sussman (2nd ed.). Cambridge, Mass.: MIT Press. ISBN 0-262-01153-0. OCLC 34576857.
  2. ^ http://www.c2.com/cgi/wiki?ModelsOfComputation
  3. ^ C. Böhm과 W. Gross(1996)CUCH의 개요. E. R. Caianiello(편집), 오토마타 이론, 35-64페이지/
  4. ^ 벤자민 C.피어스2002. 유형프로그래밍 언어.MIT Press, 매사추세츠, 캠브리지, 미국.

추가 정보

외부 링크