프로그래밍 언어의 역사
History of programming languages컴퓨터의 역사 |
---|
하드웨어 |
소프트웨어 |
컴퓨터과학 |
현대적 개념 |
나라별 |
컴퓨팅 타임라인 |
컴퓨터 과학 용어집 |
프로그래밍 언어의 역사는 초기 기계 컴퓨터의 문서화에서 소프트웨어 개발을 위한 현대 도구에 이르기까지 다양합니다.초기 프로그래밍 언어는 수학적 표기와 유사하게 모호한 구문에 의존하여 고도로 전문화되었습니다.[1]20세기 전반에 걸쳐 컴파일러 이론의 연구는 명령어를 전달하기 위해 더 접근하기 쉬운 구문을 사용하는 고급 프로그래밍 언어의 생성으로 이어졌습니다.
최초의 고급 프로그래밍 언어는 1942년에서 1945년 사이에 콘라드 주세(Konrad Zuse)에 의해 만들어진 플랑크ü(Plankalkül)입니다.관련 컴파일러를 가진 최초의 고급 언어는 1951년 코라도 ö이 박사 학위 논문을 위해 만들었습니다.상업적으로 이용 가능한 최초의 언어는 1956년 IBM의 John Backus가 이끄는 팀에 의해 개발된 FORTRAN(FORMULA TRANslation)입니다.
초기역사
1842년에서 1849년 사이에 에다 러브레이스는 이탈리아 수학자 루이지 메나브레아의 찰스 배비지의 최신 제안 기계인 해석 엔진에 대한 회고록을 번역했습니다. 그녀는 엔진으로 베르누이 수를 계산하는 방법을 자세히 설명한 노트로 회고록을 보완했습니다.대부분의 역사학자들은 세계 최초로 출판된 컴퓨터 프로그램으로 인식하고 있습니다.[4]
최초의 컴퓨터 코드는 그들의 용도에 특화되어 있었습니다: 예를 들어, Alonzo Church는 람다 미적분학을 공식적인 방식으로 표현할 수 있었고 튜링 기계는 테이프 표시 기계의 작동을 추상화한 것이었습니다.
Jacquard Bomeles와 Charles Babbage의 Difference Engine은 둘 다 이 기계들이 수행해야 할 동작을 설명하기 위한 간단한 언어를[citation needed] 가지고 있었기 때문에 그들은 최초의 프로그래밍 언어의 창시자였습니다.
최초의 프로그래밍 언어
1940년대에, 최초로 인지할 수 있는 현대식 전기 동력 컴퓨터가 만들어졌습니다.제한된 속도와 메모리 용량으로 인해 프로그래머는 손으로 조정된 어셈블리 언어 프로그램을 작성해야 했습니다.결국 어셈블리 언어로 프로그래밍하는 것이 많은 지적 노력을 필요로 한다는 것을 깨달았습니다.[citation needed]
고급 프로그래밍 언어에 대한 초기 제안은 1942년에서 1945년 사이에 콘라드 주세(Konrad Zuse)가 Z1 컴퓨터를 위해 개발했지만 당시에는 구현되지 않았습니다.[5]
컴퓨터에 명령어를 전달하기 위해 설계된 최초의 기능적인 프로그래밍 언어는 1950년대 초에 작성되었습니다.1949년에 제안된 존 모츨리의 짧은 코드는 전자 컴퓨터를 위해 개발된 최초의 고급 언어 중 하나였습니다.[6]Short Code 문은 기계 코드와 달리 수학적 표현을 이해할 수 있는 형태로 표현했습니다.그러나 프로그램이 실행될 때마다 기계 코드로 해석해야 했기 때문에 동등한 기계 코드를 실행하는 것보다 프로세스가 훨씬 느렸습니다.
1950년대 초, 앨릭 글래니는 맨체스터 대학에서 최초로 컴파일된 프로그래밍 언어인 오토코드를 개발했습니다.1954년 R. A. Brooker에 의해 Mark 1을 위한 "Mark 1 Autocode"로 알려진 두 번째 반복 언어가 개발되었습니다.브루커는 맨체스터 대학과 함께 1950년대에 페란티 수성을 위한 자동 코드를 개발하기도 했습니다.EDSAC 2의 버전은 1961년 캠브리지 대학 수학 연구소의 더글러스 하트리에 의해 고안되었습니다.EDSAC 2 Autocode로 알려진 이 제품은 Mercury Autocode에서 현지 상황에 맞게 개발된 것으로, 당시 발전된 객체 코드 최적화 및 소스 언어 진단으로 유명했습니다.현대적이지만 별개의 개발 스레드인 Atlas Autocode는 맨체스터 대학교 Atlas 1 기계를 위해 개발되었습니다.
1954년 IBM에서 존 배커스(John Backus)가 이끄는 팀에 의해 포트란이 발명되었습니다. 이 언어는 종이 위의 디자인과 대조적으로 기능적으로 구현된 최초의 널리 사용되는 고급 범용 언어였습니다.[7][8]FORTRAN이 처음 소개되었을 때, 버그, 개발 지연, 조립식으로 작성된 "핸드 코딩" 프로그램의 비교 효율성 등으로 인해 회의적인 시각으로 여겨졌습니다.[9]그러나 빠르게 진화하는 하드웨어 시장에서 언어는 결국 효율성으로 알려지게 되었습니다.여전히 고성능 컴퓨팅으로 인기 있는[10] 언어이며 세계에서 가장 빠른 TOP 500 슈퍼컴퓨터를 벤치마킹하고 순위를 매기는 프로그램에 사용됩니다.[11]
FLOW-MATIC이라는 이름의 또 다른 초기 프로그래밍 언어는 미국의 Grace Hopper에 의해 고안되었습니다.1955년부터 1959년까지 레밍턴 랜드의 UNIVAC I을 위해 개발되었습니다.Hopper는 비즈니스 데이터 처리 고객들이 수학적 표기에 불편함을 느낀다는 것을 발견하고 1955년 초에 그녀와 그녀의 팀은 영어 프로그래밍 언어에 대한 사양을 작성하고 시제품을 구현했습니다.[12]FLOW-MATIC 컴파일러는 1958년 초에 공개되었으며 1959년에 실질적으로 완성되었습니다.[13]Flow-Matic은 COBOL의 설계에 주요한 영향을 미쳤는데, 당시에는 Flow-Matic과 그것의 직계 후손 AIMACO만 사용되었기 때문입니다.[14]
오늘날에도 여전히 사용되고 있는 다른 언어로는 존 매카시가 발명한 LISP(1958)와 근거리 위원회가 만든 COBOL(1959)이 있습니다.1950년대 후반의 또 다른 획기적인 사건은 미국과 유럽의 컴퓨터 과학자들로 구성된 위원회에 의해 "알고리즘을 위한 새로운 언어"인 ALGOL 60 보고서(ALGORithmic Language)를 출판한 것입니다.이 보고서는 당시 유통되고 있던 많은 아이디어를 통합하고 다음과 같은 세 가지 주요 언어 혁신을 특징으로 했습니다.
- 중첩된 블록 구조: 코드 시퀀스 및 관련 선언은 별도의 명시적으로 명명된 절차로 변환할 필요 없이 블록으로 그룹화될 수 있습니다.
- 어휘 범위: 블록은 고유한 개인 변수, 절차 및 기능을 가질 수 있고, 블록 외부의 코드, 즉 정보 숨김을 보이지 않을 수 있습니다.
이와 관련된 또 다른 혁신은 언어를 설명하는 방법에 있었습니다.
- 수학적으로 정확한 표기인 BNF(Backus-Naur form)가 언어의 구문을 설명하는 데 사용되었습니다.거의 모든 후속 프로그래밍 언어는 구문의 문맥 없는 부분을 설명하기 위해 BNF의 변형을 사용했습니다.
알골 60은 특히 후기 언어의 디자인에 영향을 미쳤고, 그 중 일부는 곧 더 인기를 끌게 되었습니다.Burroughs 대형 시스템은 확장된 ALGOL 서브셋에 프로그래밍되도록 설계되었습니다.
ALGOL의 주요 아이디어는 계속되어 ALGOL 68을 만들었습니다.
- 구문 및 의미론은 익명의 루틴, 고차 함수를 갖는 재귀적 타이핑 시스템 등과 함께 훨씬 더 직교하게 되었습니다.
- 문맥이 없는 부분뿐만 아니라 전체 언어 구문과 의미론이 형식적으로 정의되었습니다. 이 목적을 위해 특별히 고안된 형식주의인 Van Wijgaarden 문법의 관점에서 말입니다.
ALGOL 68의 많은 사용 빈도가 낮은 언어 기능(예: 동시 및 병렬 블록)과 구문 단축키 및 자동 유형 강제의 복잡한 시스템으로 인해 구현자들에게 인기가 없었고 어려운 것으로 명성을 얻었습니다.Niklaus Wirth는 실제로 더 단순한 파스칼 언어를 만들기 위해 디자인 위원회를 떠났습니다.
이 시기에 개발된 몇 가지 주목할 만한 언어는 다음과 같습니다.
- 1951년 - 지역 의회 언어
- 1952년 – 오토코드
- 1954년 - IPL (LISP의 전신)
- 1955 – FLOW-MATIC(코볼로 이어짐)
- 1957 – FORTRAN (최초 컴파일러)
- 1957년 - COMTRAN (코볼의 전신)
- 1958년 - LISP
- 1958년 - 알골 58
- 1959년 - FACT (코볼의 전신)
- 1959년 - 코볼
- 1959년 - RPG
- 1960 – 알골 60
- 1962년 - APL
- 1962년 – 시물라
- 1962년 – SNOBOL
- 1963년 - CPL (C의 전신)
- 1964년 – 스피크이지
- 1964 – BASIC
- 1964년 - PL/I
- 1966 - JOSS
- 1966년 ~ MUPS
- 1967년 - BCPL (C의 전신)
- 1967 – 로고(나중에 Smalltalk와 Scratch에 영향을 준 교육 언어).
기본적인 패러다임의 수립
1960년대 후반에서 1970년대 후반까지의 기간은 프로그래밍 언어의 주요 개화를 가져왔습니다.현재 사용되고 있는 대부분의 주요 언어 패러다임은 이 시기에 발명되었습니다:[original research?]
- 1964년 Stanley Cohen에 의해 Argonne National Laboratory(ANL)에서 개발된 Speakasy는 객체 지향 프로그래밍 시스템(OOPS)으로, 후대의 MATLAB, IDL 및 Mathematica 수치 패키지와 매우 유사합니다.Speakasy는 명확한 포트란 기초 구문을 가지고 있습니다.ANL에서 내부적으로 효율적인 물리 컴퓨팅을 처음 다루었고, 1970년대 초에 연방 준비 위원회의 연구용으로 수정("Modleeasy")된 후 상업적으로 이용 가능하게 되었습니다. Speakeasy와 Modleasy는 여전히 사용되고 있습니다.
- 1960년대 후반 Nygaard와 Dahl이 ALGOL 60의 수퍼셋으로 발명한 Simula는 객체 지향 프로그래밍을 지원하도록 설계된 최초의 언어였습니다.
- FOR, 최초의 연접형 프로그래밍 언어는 1969년 찰스 무어(Charles Moore)가 미국 국립전파천문대(NRAO)에 있을 때 개인 개발 시스템으로 설계했습니다.
- 초기 시스템 프로그래밍 언어인 C는 1969년에서 1973년 사이에 벨 연구소의 데니스 리치와 켄 톰슨에 의해 개발되었습니다.
- Small talk (1970년대 중반)는 객체 지향 언어의 완전한 기본 설계를 제공했습니다.
- 1972년 Alain Colmerauer, Phillip Russel, Robert Kowalski가 설계한 Prolog는 최초의 논리 프로그래밍 언어였습니다.
- ML은 정적으로 입력된 기능적 프로그래밍 언어를 개척하면서,[15] 1973년 Robin Milner에 의해 발명된 다형성 시스템을 리스프에 구축했습니다.이 언어들은 각각 후손의 가족을 낳았고, 대부분의 현대 언어들은 그들의 조상 중 적어도 하나를 세고 있습니다.
1960년대와 1970년대에는 또한 구조화된 프로그래밍의 장점에 대한 상당한 논쟁이 있었는데, 이는 본질적으로 사용되지 않는 프로그래밍을 의미했습니다.goto
. 프로그래머의 상당 부분이 다음을 제공하는 언어에서도goto
, 드문 경우를 제외하고는 그것을 사용하는 것은 나쁜 프로그래밍 스타일입니다.이 논쟁은 언어 디자인과 밀접한 관련이 있었습니다: 어떤 언어들은 그렇지 않았습니다.goto
, 구조화된 프로그래밍을 사용하도록 강요했습니다.
훨씬 더 빠른 컴파일 시간을 제공하기 위해 일부 언어는 "원패스 컴파일러"를 위해 구성되었으며, 파스칼은 주요 루틴 또는 드라이버 기능이 프로그램 목록의 마지막 섹션인 것처럼 하위 루틴이 먼저 정의될 것으로 예상합니다.
이 시기에 개발된 몇 가지 주목할 만한 언어는 다음과 같습니다.
1980년대: 통합, 모듈, 성능
1980년대는 명령어에서 상대적으로 통합된 해였습니다.이 모든 운동들은 새로운 패러다임을 발명하기 보다는 지난 10년 동안 발명된 아이디어를 정교화했습니다.C++ 결합 객체 지향 및 시스템 프로그래밍.미국 정부는 방위산업체들이 사용하기 위한 시스템 프로그래밍 언어인 에이다를 표준화했습니다.일본 등에서는 로직 프로그래밍 구조를 통합한 이른바 5세대 프로그래밍 언어를 조사하는 데 막대한 비용이 지출되었습니다.ML과 리스프를 표준화하기 위해 기능 언어 커뮤니티가 움직였습니다.게으른 평가를 가진 기능적 언어인 미란다에 대한 연구는 이 10년 동안 진행되기 시작했습니다.
언어 설계의 중요한 새로운 경향 중 하나는 모듈 또는 코드의 대규모 조직 단위를 사용하여 대규모 시스템을 위한 프로그래밍에 초점을 맞춘 것입니다.Modula, Ada, ML 모두 1980년대에 주목할 만한 모듈 시스템을 개발했습니다.모듈 시스템은 종종 일반적인 프로그래밍 구조에 결합되었습니다: 제네릭은 본질적으로 매개변수화된 모듈입니다[citation needed](객체 지향 프로그래밍의 다형성 참조).
명령형 프로그래밍 언어에 대한 주요한 새로운 패러다임은 나타나지 않았지만, 많은 연구자들은 이전 언어의 아이디어를 확장하고 새로운 맥락에 적응시켰습니다.예를 들어, Argus와 Emerald 시스템의 언어는 객체 지향 프로그래밍을 분산 컴퓨팅 시스템에 적용했습니다.
1980년대는 프로그래밍 언어 구현에도 발전을 가져왔습니다.컴퓨터 아키텍처의 축소된 명령어 세트 컴퓨터(RISC) 운동은 하드웨어가 인간 조립 프로그래머를 위해 설계되어야 한다고 가정했습니다.중앙처리장치(CPU) 속도가 향상되어 점점 더 공격적인 컴파일 방법이 가능해졌기 때문에 RISC 운동은 고급 언어용 컴파일러 기술에 대한 더 큰 관심을 불러일으켰습니다.
언어 기술은 1990년대까지 이러한 노선을 따라 계속되었습니다.
이 시기에 개발된 몇 가지 주목할 만한 언어는 다음과 같습니다.
- 1980년 - C++ (1983년 개명한 C반으로 개명)
- 1983년 – 에이다
- 1984 - 커먼 리스프
- 1984년 – MATLAB
- 1984 – dBase III, dBase III Plus (Clipper and FoxPro as FoxBASE)
- 1985년 – 에펠탑
- 1986 - 목표-C
- 1986 – LabVIEW (시각 프로그래밍 언어)
- 1986년 – 에를랑
- 1987 – 펄
- 1988 - PIC (마크업 언어)
- 1988 - Tcl
- 1988 – Wolfram Language (Mathematica의 일부로, 2013년 6월에서야 별도의 이름을 가지게 됨)
- 1989 - FL (Backus)
1990년대: 인터넷 시대
1990년대 중반 인터넷의 급속한 성장은 프로그래밍 언어에서 그 다음으로 중요한 역사적 사건이었습니다.컴퓨터 시스템을 위한 근본적으로 새로운 플랫폼을 열면서, 인터넷은 새로운 언어가 채택될 수 있는 기회를 만들었습니다.특히 자바스크립트 프로그래밍 언어는 넷스케이프 네비게이터 웹 브라우저와의 초기 통합으로 인기를 끌었습니다.다양한 다른 스크립트 언어들은 PHP와 같은 웹 서버를 위한 맞춤형 응용 프로그램을 개발하는 데 널리 사용되었습니다.1990년대는 명령어에서 근본적인 새로움이 아니라 오래된 생각들을 재조합하고 성숙시키는 것을 보았습니다.이 시대는 기능적 언어의 보급을 시작했습니다.가장 큰 추진 철학은 프로그래머 생산성이었습니다.많은 RAD(Rapid Application Development) 언어들이 등장했는데, 이 언어들은 보통 통합 개발 환경(IDE), 쓰레기 수집과 함께 나오고, 오래된 언어들의 후손이었습니다.모든 언어는 객체 지향적이었습니다.여기에는 Object Pascal, Object Caml(OCaml로 이름 변경), Visual Basic, Java가 포함되었습니다.특히 자바는 많은 관심을 받았습니다.
RAD 언어보다 더 급진적이고 혁신적인 것은 새로운 스크립팅 언어였습니다.이러한 기능은 다른 언어에서 직접 파생되지 않았으며 새로운 구문과 기능의 보다 자유로운 통합을 특징으로 합니다.많은 사람들은 이러한 스크립팅 언어가 RAD 언어보다 더 생산적이라고 생각하지만, 종종 작은 프로그램을 더 단순하게 만들지만 큰 프로그램을 작성하고 유지하기가 더 어렵게 만드는 선택 때문입니다.[citation needed]그럼에도 불구하고 스크립팅 언어는 웹과 관련하여 사용되는 가장 중요한 언어가 되었습니다.
이 시기에 개발된 몇 가지 주목할 만한 언어는 다음과 같습니다.
현재동향
프로그래밍 언어의 진화는 산업과 연구 모두에서 계속되고 있습니다.최근 동향 중 일부는 다음과 같습니다.
- (마이크로 레벨과 매크로 레벨 모두에서) 코드를 추론하기 쉽고 병렬화하기 위한 순수한 기능 프로그래밍을 포함하여 상업적으로 사용되는 주류 언어의 기능 프로그래밍에 대한 지원 증가
- 동시 및 분산 프로그래밍을 지원하는 구성입니다.
- 언어에 보안 및 신뢰성 검증을 추가하기 위한 메커니즘: 확장된 정적 검사, 종속 타이핑, 정보 흐름 제어, 정적 스레드 안전.
- 합성성 및 모듈화를 위한 대체 메커니즘: 믹스인, 특성, 유형 클래스, 딜러, 측면.
- 구성요소 중심의 소프트웨어 개발.
- 메타프로그래밍, 반영 또는 추상 구문 트리에 대한 액세스
- AOP 또는 Aspect Oriented Programming을 통해 개발자들은 다른 모듈이나 클래스의 코드를 "join points"에 삽입할 수 있습니다.
- 도메인별 언어 및 코드 생성
- 그래픽 인터페이스를 위한 XML(XUL, Extensible Application Markup Language (XAML))
- 유통 및 이동성에 대한 관심이 높아졌습니다.
- XML 및 관계형 데이터베이스를 포함한 데이터베이스와의 통합.
- GNU 컴파일러 모음과 PHP, Python, Ruby, Scala와 같은 언어를 포함한 언어의 개발 철학으로서의 오픈 소스.
- Scratch, LabVIEW 및 PWCT와 같은 시각 프로그래밍 언어에 대한 더 많은 관심
- OpenCL을 포함한 GPU 그래픽 처리 장치 및 슈퍼컴퓨터 어레이를 위한 대규모 병렬 언어
- 양자 컴퓨팅 프로그래밍 언어에 대한 초기 연구 (목록 참조)
- GPT-3를[16] 활용한 AI를 활용한 코드 생성을 위한 인공지능(AI) 방법 적용 초기 연구
이 시기에 개발된 몇 가지 주목할 만한 언어는 다음과 같습니다.[17][18]
다른 새로운 프로그래밍 언어로는 Red, Crystal, Hack, Haxe, Zig, Reason 등이 있습니다.
주요 인물
프로그래밍 언어를 개발하는 데 도움을 준 주요 인물은 다음과 같습니다.
- Ada Lovelace, 첫 컴퓨터 프로그램 출판
- 비주얼 베이직의 개발자 앨런 쿠퍼입니다.
- 객체 지향 프로그래밍의 선구자이자 Smalltalk의 창시자인 Alan Kay.
- Turbo Pascal, Delphi, C# 및 TypeScript의 개발자인 Anders Hejlsberg.
- A+, k, q의 개발자 아서 휘트니.
- 에펠의 발명가 베르트랑 마이어.
- C++의 개발자인 Bjarne Stroustrup입니다.
- 목표-C의 공동 창작자 브래드 콕스입니다.
- 자바스크립트 개발자 브렌단 아이히.
- AWK와 AMP 프로그래밍 언어의 공동 저자인 데니스 리치와 함께 C 프로그래밍 언어에 관한 첫 번째 책의 공동 저자인 브라이언 커니건(Brian Kernighan).
- 최초의 연접형 프로그래밍 언어인 포스의 발명가이자 스택 머신 마이크로프로세서 디자인의 저명한 이름인 척 무어(Chuck Moore).
- 스위프트와 LLVM의 제작자인 크리스 래트너.
- MATLAB의 제작자인 Cleve Moller.
- C의 발명가 데니스 리치.유닉스 운영 체제, 플랜 9 운영 체제.
- 더글러스 매킬로이는 SNOBOL, TRAC, PL/I, ALTRAN, TMG 및 C++와 같은 언어에 영향을 미치고 설계했습니다.
- 그레이스 호퍼(Grace Hopper)는 처음으로 컴파일러이자 FLOW-MATIC이라는 용어를 사용하여 COBOL의 개발에 영향을 미쳤습니다. 기계에 독립적인 프로그래밍 언어를 대중화하고 디버그(debugging)라는 용어를 사용했습니다.
- 파이썬의 창시자 귀도 반 로섬입니다.
- James Gosling, 자바와 그 전신인 오크의 수석 개발자.
- 에이다 83의 수석 디자이너 장 이흐비아.
- 다형성 람다 미적분학(시스템 F)의 공동 발명가 장 이브 지라드.
- Jeff Bezanson, 메인 디자이너이자 줄리아의 핵심 개발자 중 한 명입니다.
- 파워쉘의 발명가 제프리 스누버.
- 에를랑의 창시자 조 암스트롱.
- 포트란의 발명가인 John Backus는 ALGOL 58과 ALGOL 60을 설계하는데 협력하였습니다.
- 존 C. 다형성 람다 미적분학(시스템 F)의 공동 발명가 레이놀즈.
- 존 매카시(John McCarthy), LISP의 발명가, ALGOL 60의 디자인 위원회.
- 존 폰 노이만, 운영체제 개념의 창시자.
- Graydon Hoare, Rust의 발명가.
- B, Go, Inferno(운영 체제)의 발명가이자 유닉스 운영 체제의 공동 저자인 Ken Thompson.
- 케네스 E. APL의 개발자, 로저 후이와 J의 공동 개발자인 Iverson.
- Konrad Zuse는 최초의 고급 프로그래밍 언어인 Plankalkül을 설계했습니다(ALGOL 58에 영향을[19] 미쳤습니다).
- 객체 지향 프로그래밍을 개척한 Kristen Nygaard는 Simula를 공동으로 발명했습니다.
- 펄 프로그래밍 언어를 만든 래리 월(Larry Wall).
- 스칼라의 창시자이자 이전에 자바의 디자인에 기여한 마틴 오데르스키.
- 마틴 리차드(Martin Richards)는 B와 C 언어의 전신인 BCPL 프로그래밍 언어를 개발했습니다.
- Nathaniel Rochester, 첫 번째 어셈블러 (IBM 701)의 발명가.
- 니클라우스 워스, 파스칼, 모듈라, 오베론의 발명가.
- Ole-Johan Dahl은 객체 지향 프로그래밍을 개척했고, Simula를 공동으로 발명했습니다.
- Rasmus Lerdorf, PHP 제작자.
- 리치 히키, 클로쥬르의 창시자.
- XML 공동 제작자인 Jean Paoli입니다.
- R의 공동 창작자 로버트 젠틀맨.
- 로버트 그리세머, 바둑 공동창안자.
- Robin Milner, ML의 발명가이자 Hindley-Milner 다형성 유형 추론에 대한 크레딧 공유.
- Rob Pike, Go, Inferno(운영 체제) 및 Plan 9(운영 체제) 운영 체제 공동 작성자.
- R의 공동 창작자 로스 이하카.
- Node.js의 제작자 Ryan Dahl.
- 1964년 최초의 사례인 OOPS, 객체 지향 프로그래밍 시스템으로 만들어진 Speakasy의 발명가 Stanley Cohen.
- 마테마티카의 창시자 스티븐 울프람.
- 테리 A. HolyC의 창안자 데이비스.
- D의 창조자 월터 브라이트.
- 루비의 창조자 마츠모토 유키히로.
참고 항목
참고문헌
- ^ 호퍼 (1978) 16쪽.
- ^ Knuth, Donald E.; Pardo, Luis Trabb. "Early development of programming languages". Encyclopedia of Computer Science and Technology. Marcel Dekker. 7: 419–493.
- ^ 코라도 ö의 박사학위논문
- ^ Fuegi, J.; Francis, J. (October–December 2003), "Lovelace & Babbage and the creation of the 1843 'notes'", Annals of the History of Computing, 25 (4): 16–26, doi:10.1109/MAHC.2003.1253887
- ^ 1998년과 2000년에는 역사적 연습으로 언어를 위한 컴파일러가 만들어졌습니다.로하스, 라울 등.(2000)."플랑칼ü:최초의 고급 프로그래밍 언어와 그 구현."Institut frame Informatik, Freie Universität Berlin, 기술 보고서 B-3/2000. (전문)
- ^ Sebesta, W.S. (2006). Concepts of Programming Languages. p. 44. ISBN 978-0-321-33025-3.
- ^ "Fortran creator John Backus dies – Tech and gadgets". NBC News. 2007-03-20. Retrieved 2010-04-25.
- ^ "CSC-302 99S : Class 02: A Brief History of Programming Languages". Math.grin.edu. Archived from the original on 2010-07-15. Retrieved 2010-04-25.
- ^ Padua, David (Feb 2000). "The FORTRAN I Compiler" (PDF). Computing in Science and Engineering. 2 (1): 70–75. Bibcode:2000CSE.....2a..70P. doi:10.1109/5992.814661. Retrieved 7 November 2019.
- ^ Eugene Loh (18 June 2010). "The Ideal HPC Programming Language". Queue. Association of Computing Machines. 8 (6).
- ^ "HPL – A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers". Retrieved 2015-02-21.
- ^ 호퍼 (1978) 16쪽.
- ^ Sammet (1969) p. 316
- ^ Sammet (1978) p. 204.
- ^ Gordon, Michael J. C. (1996). "From LCF to HOL: a short history" (PDF). p. 3. Retrieved 2015-05-04.
Edinburgh LCF, including the ML interpreter, was implemented in Lisp.
- ^ Manjoo, Farhad (July 29, 2020). "How Do You Know a Human Wrote This?". The New York Times. ISSN 0362-4331. Retrieved August 4, 2020.
- ^ "TIOBE Index, Top 100 programming languages according to TIOBE Index". www.tiobe.com. TIOBE index. 25 May 2018.
- ^ "GitHub's Octoverse 2018". Archived from the original on 2019-03-22.
- ^ Rojas, Raúl; Hashagen, Ulf (2002). The First Computers: History and Architectures. MIT Press. p. 292. ISBN 978-0262681377. Retrieved October 25, 2013.
더보기
- Rosen, Saul, (편집자), 프로그래밍 시스템과 언어, McGraw-Hill, 1967.
- Sammet, Jean E., 프로그래밍 언어: 역사와 기초, 프렌티스 홀, 1969.
- Sammet, Jean E. (July 1972). "Programming Languages: History and Future". Communications of the ACM. 15 (7): 601–610. doi:10.1145/361454.361485. S2CID 2003242.
- 리처드 L. Wexelblat (ed.): 프로그래밍 언어의 역사, 학술 출판 1981.
- 토마스 J. 버진과 리처드 G. 깁슨(eds.프로그래밍 언어의 역사, Addison Wesley, 1996.
- 세베스타, 로버트 W. 프로그래밍 언어의 개념.Pearson Education India, 2004.