프로그래밍 언어의 역사

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

프로그래밍 언어의 역사는 1800년대 초 자카드 직기와 찰스 배비지의 해석 기관과 같은 초창기 기계에서 시작되어, 에이다 러브레이스가 최초의 컴퓨터 프로그램을 작성하면서 발전했다. 1940년대에는 어셈블리 언어가 사용되었고, 1950년대에는 포트란, 리스프, 코볼과 같은 고급 언어가 등장했다. 1960년대에는 ALGOL 60, BASIC, 시뮬라 등이 개발되었고, 1970년대에는 C, 스몰토크, 프롤로그, ML 등 다양한 프로그래밍 패러다임이 개발되었다. 1980년대에는 C++, 에이다, 객체 지향 프로그래밍이 발전했으며, 1990년대에는 인터넷의 성장과 함께 자바, 자바스크립트, PHP, 파이썬, 루비와 같은 스크립트 언어가 인기를 얻었다. 2000년대 이후에는 C#, Go, 스칼라, D 언어 등 다양한 언어가 등장했으며, 함수형 프로그래밍, 동시 컴퓨팅, 보안, 모듈성, 시각 프로그래밍, 도메인 특화 언어, 코드 생성 기술 등이 발전했다. 2010년대에는 다트, 코틀린, 스위프트, 러스트와 같은 모바일 환경에 특화된 언어들이 개발되었으며, 2020년대에도 파워 Fx, 카본, 모조와 같은 새로운 언어가 등장하며 지속적으로 발전하고 있다.

프로그래밍 언어의 역사
개요

이미지 준비중입니다.

프로그래밍 언어의 계통도
패러다임명령형 프로그래밍
선언형 프로그래밍
함수형 프로그래밍
객체 지향 프로그래밍
기타
구현컴파일러
인터프리터
어셈블러
설계구문
의미론
자료형
추상화
형식 시스템
역사
초기 프로그래밍 언어기계어
어셈블리어
주요 발전포트란 (1957)
알골 60 (1960)
코볼 (1960)
베이직 (1964)
파스칼 (1970)
C (1972)
스몰토크 (1972)
C++ (1983)
펄 (1987)
파이썬 (1991)
자바 (1995)
자바스크립트 (1995)
C# (2000)
분류
세대별 분류1세대: 기계어
2세대: 어셈블리어
3세대: 고급 프로그래밍 언어 (예: C, 자바)
4세대: 4세대 언어 (예: SQL)
5세대: 인공지능 언어 (예: Prolog)
목적별 분류범용 프로그래밍 언어
특정 목적 프로그래밍 언어 (예: 도메인 특화 언어)
관련 주제
주요 개념프로그래밍 패러다임
자료 구조
알고리즘
관련 인물에이다 러브레이스
그레이스 호퍼
존 바커스
데니스 리치
비야네 스트로스트룹
관련 단체IEEE
ACM
목록
프로그래밍 언어 목록프로그래밍 언어 목록
연대순 목록프로그래밍 언어 연대기
📚 더 읽어볼만한 페이지
  • 기술사 연표 - 발명사 연표
    발명사 연표는 인류의 발명 역사를 시대별로 정리하여, 석기, 불, 언어 등 원시 시대 발명부터 현대 사회의 기반이 된 다양한 발명품까지를 보여준다.
  • 기술사 연표 - 온라인 음식 주문
    온라인 음식 주문은 1994년 피자헛에서 시작되어 스마트폰 보급과 코로나19 팬데믹을 거치며 다양한 유형으로 발전하고 있으며, 배달 전용 가상 레스토랑의 등장으로 성장을 이어가고 있다.
  • 소프트웨어의 역사 - AI 겨울
    AI 겨울은 인공지능 연구에 대한 자금 지원과 관심이 크게 감소했던 시기를 가리키며, 기계 번역의 어려움, 신경망의 한계, 전문가 시스템 문제, 5세대 컴퓨터 실패 등의 요인으로 여러 차례 침체기를 겪었으나, 2000년대 이후 음성 및 이미지 인식 분야에서 성과를 거두며 부흥했고, 2022년 이후 대규모 언어 모델 등장으로 관심과 투자가 폭발적으로 증가했다.
  • 소프트웨어의 역사 - 천공 카드
    천공 카드는 1725년 직기 제어에 처음 사용되어 데이터 저장 및 처리에 널리 활용되었으며, 1950년대 자기 테이프 등장으로 쇠퇴했으나 문화적 유산으로 남아있다.
  • 컴퓨팅의 역사 - 빌 게이츠
    빌 게이츠는 폴 앨런과 함께 마이크로소프트를 공동 설립하여 MS-DOS와 윈도우를 개발하고 세계 최대 소프트웨어 기업으로 성장시키는 데 기여했으며, 현재는 빌 & 멀린다 게이츠 재단을 통해 자선 활동을 펼치고 있는 미국의 사업가이자 자선가이다.
  • 컴퓨팅의 역사 - 인공지능의 역사
    인공지능의 역사는 인간 사고의 기계화 염원에서 시작하여 신화, 오토마타, 철학적 탐구를 거쳐 20세기 중반 수학적 논리와 계산기 과학의 발전, 그리고 1956년 다트머스 회의를 통해 학문 분야로 자리 잡은 후 추론, 탐색, 지식 공학, 딥러닝 시대를 거쳐 21세기에 다양한 분야에 응용되며 발전해왔다.

2. 1940년 이전

초기의 프로그래밍 언어는 부호였다. 1801년에 발명된 자카드식 문직기는 천공 카드의 구멍을 이용하여 문직기의 팔의 이동을 표현, 자동으로 장식 패턴을 발생시켰다. 자카드 직기와 찰스 배비지의 차분 기관은 모두 천공 카드를 활용하도록 설계되었으며, 이는 프로그래밍 가능한 기계가 수행해야 하는 작업의 순서를 설명한다.

1842년~1843년, 에이다 러브레이스찰스 배비지가 제안한 해석기관에 대한 루이지 메나브레아의 회고록을 번역하면서 베르누이 수 계산법을 주석으로 추가했다. 이는 세계 최초의 컴퓨터 프로그램으로 간주된다. 그러나 이는 기계(컴퓨터)에 대한 명령 그 자체(기계어)로 작성된 프로그램이며, "프로그래밍 언어"로서는 광의의 그것이 된다.

허먼 홀러리스는 열차 차장이 승차권에 구멍을 뚫어 승객 정보를 기록하는 것을 보고 천공 카드를 정보 기록에 사용하는 것을 착안, 1890년 인구조사에 천공 카드를 이용하는 기계(전산기)를 제공했다.

이후, 수학에서도 추상적인 분야에서 기호 조작이라는 더 넓은 범위에서 "계산"이라는 것을 형식적으로 표현하는 기법이 1900년 전후부터 연구되었다. 이는 수학 기초론 및 수리 논리학과 관련이 있다. 앨런조 처치는 람다 계산을 제안했다. 튜링 머신은 유한 오토마타와 무한 길이의 테이프(이론에서 다룰 때)를 사용한다.

3. 1940년대

1940년대에는 최초의 현대적인 전기 동력 컴퓨터가 제작되었다. 제한된 속도와 메모리 용량 때문에 프로그래머는 어셈블리 언어 프로그램을 작성해야 했다. 결국 어셈블리 언어로 프로그래밍하는 데는 상당한 지적 노력이 필요하다는 것을 깨달았다.

고급 프로그래밍 언어에 대한 초기 제안 중 하나는 콘라트 추제가 1942년에서 1945년 사이에 자신의 Z1 컴퓨터를 위해 개발했지만 당시에는 구현되지 않은 플랑칼퀼이었다.

최초의 작동하는 프로그래밍 언어는 1950년대 초에 작성되었다. 존 모클리의 숏 코드는 1949년에 제안되었으며, 전자 컴퓨터를 위해 개발된 최초의 고급 언어 중 하나였다. 기계어와 달리 숏 코드 문은 이해 가능한 형태로 수학적 표현식을 나타냈다. 그러나 프로그램은 실행할 때마다 해석되어 기계어로 변환되어 해당 기계어를 실행하는 것보다 훨씬 느리게 처리되었다.

4. 1950년대 ~ 1960년대

1950년대에는 고급 프로그래밍 언어 개발이 본격화되었다. 앨릭 글래니는 맨체스터 대학교에서 최초의 컴파일된 프로그래밍 언어일 가능성이 있는 오토코드를 개발했다. 1954년에는 "마크 1 오토코드"로 알려진 이 언어의 두 번째 반복이 마크 1용으로 R. A. 브루커에 의해 개발되었다. 브루커는 맨체스터 대학교와 함께 1950년대에 페란티 머큐리용 오토코드도 개발했다. EDSAC 2용 버전은 1961년 케임브리지 대학교 수학 연구소의 더글러스 하트리가 고안했다.

대표적인 고급 프로그래밍 언어는 다음과 같다.
* 포트란 (1957년): 존 바커스 팀이 개발. 고성능 컴퓨팅에 사용.
* 리스프 (1958년): 존 매카시가 개발.
* 코볼 (1959년): 그레이스 호퍼FLOW-MATIC을 개발하고, 이를 기반으로 코볼이 개발됨.

1960년, ALGOL 60 보고서가 발표되어, 중첩 블록 구조, 어휘적 범위, BNF 표기법 등의 혁신을 가져왔다.

1964년에는 BASIC이 개발되었다.



이 시기에 개발된 주요 언어는 다음과 같다:

👆
좌우로 밀어서 보기
연도언어비고
1951지역 어셈블리 언어
1952오토코드
1954IPL리스프의 선구자
1955FLOW-MATIC코볼로 이어짐
1957FORTRAN최초의 컴파일러
1957COMTRAN코볼의 선구자
1958LISP
1958ALGOL 58
1959FACT코볼의 선구자
1959COBOL
1959RPG
1960ALGOL 60
1962APL
1962시뮬라
1962SNOBOL
1963CPLC의 선구자
1964Speakeasy
1964BASIC
1964PL/I
1966JOSS
1966MUMPS
1967BCPLC의 선구자
1967로고나중에 스몰토크스크래치에 영향을 미친 교육용 언어

5. 1968년대 ~ 1978년대

1960년대 말부터 1970년대 말은 프로그래밍 언어의 주요한 번성기로, 현재 사용되는 주요 프로그래밍 패러다임 대부분이 이 시기에 발명되었다.

* 시뮬라(Simula)는 1960년대 말 크리스텐 니가드와 올레 요한 달이 객체 지향 프로그래밍을 지원하도록 설계한 최초의 언어이다.
* C는 1969년에서 1973년 사이 벨 연구소에서 데니스 리치와 켄 톰슨이 개발한 초기 시스템 프로그래밍 언어이다. 2010년대에도 개정이 이어지면서 널리 사용되고 있으며, 1980년대에는 객체 지향 개념을 도입한 C++로 발전했다.
* 스몰토크 (1970년대 중반)는 완전한 객체 지향 언어 설계를 제공했다. 팰러앨토 연구소에서 개발되었으며, 이후 객체 지향형 언어에 막대한 영향을 주었다.
* 프롤로그는 1972년 알랭 콜머로에, 필립 루셀, 로버트 코왈스키가 설계한 최초의 논리 프로그래밍 언어이다. 인공지능 연구와 전문가 시스템 실현을 위한 주요 언어로 채택되었다.
* ML은 1973년 로빈 밀너가 개발한, 정적으로 타입이 지정된 함수형 프로그래밍 언어이다. Lisp 위에 다형성 타입 시스템을 구축하였다.

Scheme
Scheme

C
C

Smalltalk
Smalltalk


이 시기에 개발된 주목할 만한 다른 언어는 다음과 같다.

* 1967년 - BCPL (B의 전신) 1966년 케임브리지 대학교의 마틴 리차즈가 개발하였으며, 프런트엔드와 백엔드의 분리, 중간 언어 형식의 생성 등, 현재 컴파일러 기술의 기초가 여기서 확립되었다.
* 1968년 - 로고
* 1969년 - B (C의 선구자) 벨 연구소의 켄 톰슨 등이 개발하였으며, 중간 코드를 생성하고 인터프리터로 실행한다.
* 1970년 - 파스칼 스위스 취리히 대학교의 니클라우스 비르트가 설계하였으며, 중기의 대표적인 구조적 언어 중 하나이다.
* 1970년 - 포스 (Forth) 찰스 무어가 발표하였으며, 순차적인 절차적 언어로서 임베디드 시스템용으로 자주 사용된다.
* 1975년 - 스킴 (Scheme)
* 1978년 - SQL (처음에는 쿼리 언어였으나, 훗날 프로그래밍 구조체와 더불어 확장됨) 1977년 에드거 F. 코드와 IBM에 의해 개발되었다.

1960년대와 1970년대에는 "구조적 프로그래밍"의 장점에 대한 상당한 논쟁이 있었으며, 이는 기본적으로 `goto`를 사용하지 않고 프로그래밍하는 것을 의미했다.

6. 1980년대

1980년대는 명령형 프로그래밍 언어의 통합, 모듈화, 성능 향상에 초점이 맞춰진 시기였다. C++는 객체 지향 프로그래밍과 시스템 프로그래밍을 결합하였고, 1983년 7월에 'C with classes'에서 현재의 이름으로 변경되었다. 미국 정부는 국방 계약자를 위한 시스템 프로그래밍 언어인 에이다를 1983년에 표준화했다.

C++
C++

MATLAB
MATLAB

Erlang
Erlang

Tcl
Tcl


1980년대에는 Modula, 에이다, ML 등 주목할 만한 모듈 시스템이 개발되었다. 모듈 시스템은 일반 프로그래밍 구성과 결합되기도 했다.

축소 명령어 집합 컴퓨터(RISC) 컴퓨터 아키텍처 운동은 컴파일러 기술에 대한 관심을 높였으며, 이는 1990년대까지 이어졌다.

1980년대에 개발된 주요 언어는 다음과 같다:

* 1980년 - C++ (1983년에 이름 변경)
* 1983년 - 에이다
* 1984년 - 커먼 리스프
* 1984년 - MATLAB
* 1985년 - 에펠
* 1986년 - 오브젝티브-C
* 1986년 - 얼랭
* 1987년 - 펄
* 1988년 - Tcl
* 1988년 - 매스매티카
* 1989년 - FL

미니컴퓨터 환경에서는 C 언어가 유닉스와 함께 널리 사용되었고, 1989년에 표준화되었다. 개인용 컴퓨터의 보급과 함께 BASIC이 널리 사용되었다.

1983년 브래드 콕스(Brad Cox)는 C 언어에 스몰토크의 객체 시스템을 도입한 오브젝티브-C를 개발했다. 오브젝티브-C는 넥스트와 macOS의 공식 개발 언어로 사용되었다.

1984년에는 PostScript가 발표되어 전자 인쇄를 일반화시켰다. 같은 해, 커먼 리스프의 사양서가 출판되어 AI 연구에 사용되던 주요 LISP 방언을 통일하려는 시도가 이루어졌다.

1985년에는 버트란드 메이어가 에펠을 개발하여 객체 지향 개발에 영향을 주었다.

1987년에는 래리 월이 펄을 개발하여 CGI 등에서 널리 사용되었다. 같은 해, Ada가 ISO 표준(ISO/IEC 8652)이 되었다.

1988년에는 스티븐 울프럼이 매스매티카를 발표했다.

7. 1990년대

1990년대는 인터넷의 급격한 성장과 함께 프로그래밍 언어 역사에서 중요한 시기였다. 인터넷은 새로운 플랫폼을 제공했고, 자바스크립트는 넷스케이프 네비게이터 웹 브라우저와의 통합으로 인기를 얻었다. PHP와 같은 서버 측 애플리케이션 개발을 위한 다양한 스크립트 언어들이 널리 사용되었다.

파이썬
파이썬
루비
루비
PHP
PHP
Ocaml
Ocaml


이 시기에는 명령형 프로그래밍 언어에서 큰 혁신은 없었지만, 기존 아이디어의 재조합과 성숙이 이루어졌다. 함수형 프로그래밍 언어가 확산되었고, 프로그래머의 생산성을 높이는 고속 애플리케이션 개발 (RAD) 언어들이 등장했다. 이러한 RAD 언어들은 통합 개발 환경 (IDE)과 가비지 컬렉션을 갖춘 객체 지향 프로그래밍 언어였으며, 오브젝트 파스칼, OCaml, 비주얼 베이직, 자바 등이 포함된다. 특히 자바는 많은 주목을 받았다.

스크립트 언어들은 RAD 언어보다 더 급진적이고 혁신적이었으며, 새로운 구문과 기능을 자유롭게 통합했다. 이들은 웹과 관련하여 가장 두드러지게 사용되었다.

일부 프로그래밍 언어는 개발 시간을 절약하기 위해 배포판에 다른 언어를 포함시키기도 했다. 예를 들어 파이썬과 루비는 Tk를 통해 그래픽 사용자 인터페이스 (GUI) 프로그래밍을 지원했다.

워크스테이션에서 당연했던 GUI화가 개인용 컴퓨터에도 확산되면서, GUI 환경 애플리케이션 개발을 지원하는 RAD 환경이나 비주얼 프로그래밍 언어 등이 활발해졌다.

1990년대에 개발된 주요 언어는 다음과 같다:

* 1990년: 하스켈
* 1991년: 파이썬, 비주얼 베이직
* 1993년: 루비, 루아
* 1995년: 자바, 델파이 (오브젝트 파스칼), 자바스크립트, PHP
* 1996년: OCaml

8. 2000년대 이후

2000년대 이후 프로그래밍 언어의 발전은 계속되었으며, 더 많은 프로그래밍 패러다임이 실제 사용에 적용되었다.

몇 가지 주요 트렌드는 다음과 같다.

* 상업적으로 사용되는 주류 언어에서 함수형 프로그래밍에 대한 지원이 증가했다. 여기에는 코드의 추론 및 병렬화를 쉽게 하기 위한 순수 함수형 프로그래밍이 포함된다.
* 동시 컴퓨팅 및 분산 컴퓨팅 프로그래밍을 지원하는 구조가 발전했다.
* 언어에 보안 및 신뢰성 검증을 추가하기 위한 메커니즘이 강화되었다. 확장된 정적 검사, 종속 타입, 정보 흐름 제어, 정적 스레드 안전성 등이 이에 해당한다.
* 구성성 및 모듈성을 위한 대안적인 메커니즘으로 믹스인, 트레이트, 타입클래스, 위임, 관점 등이 활용되었다.
* 컴포넌트 지향 소프트웨어 개발이 이루어졌다.
* 스크래치, 랩뷰와 같은 시각 프로그래밍 언어에 대한 관심이 증가했다.
* 메타프로그래밍, 반사 프로그래밍 (리플렉션), 또는 추상 구문 트리에 대한 접근과 개발자가 "조인 포인트"에서 다른 모듈 또는 클래스에 코드를 삽입할 수 있도록 하는 관점 지향 프로그래밍 (AOP)이 발전하였다.
* 도메인 특화 언어 및 코드 생성 기술이 발전했다.
* 그래픽 인터페이스를 위한 XML (XUL, 확장 가능한 응용 프로그램 마크업 언어 (XAML))이 사용되었다.

빅 테크 기업들은 자체적인 요구 사항을 충족하도록 설계된 여러 새로운 프로그래밍 언어를 도입했다. 예를 들어, 마이크로소프트는 C# 및 F#를, 구글은 Go를 도입했다.

정보 기기가 네트워크로 연결되는 시대가 되면서, 종전에는 없던 문제들이 발생했다. 기존의 소프트웨어는 단독 기기나 폐쇄적인 네트워크에서 작동했기 때문에 심각한 오작동만 없으면 괜찮았지만, 정보 기기가 널리 네트워크에 연결되기 시작하면서 사소한 결함도 용납되지 않는 시대에 접어들었다. 구체적으로는 버퍼 오버플로우에 대표되는 문제점에 대해 방어적이지 않은 언어의 사용을 피하고, 안전한 언어의 사용이 증가하게 되었다.

2000년대 이후 개발된 주요 언어들은 다음과 같다.

* 2000년 - 액션스크립트
* 2001년 - C#, 비주얼 베이직 닷넷
* 2002년 - F#, ECMAScript가 ISO 표준이 되었다(ISO/IEC 16262).
* 2003년 - 그루비, 스칼라, 팩터
* 2005년 - F#, Haxe
* 2006년 - 발라, PowerShell
* 2007년 - Clojure
* 2009년 - 고

마이크로소프트는 2000년에 C#를 발표했다. 이는 .NET 공용 언어 런타임 (Common Language Runtime, CLR) 이라는 가상 머신 환경에서 동작하는 객체 지향 언어이다. C#는 Delphi (Object Pascal) 및 Java의 영향을 강하게 받았으며, C++와 Java의 중간적인 특징을 가진다. 2002년에 .NET Framework 1.0 및 자매 언어 Visual Basic .NET과 함께 정식으로 출시되었다. 마이크로소프트는 2005년에 F#를 공개했다. F#는 CLR에서 동작하며, OCaml을 기반으로 한 함수형 프로그래밍의 패러다임을 도입했다.

2003년 마틴 오더스키가 Scala를 개발했다. Scala는 객체 지향 언어와 함수형 언어의 특징을 통합하여, Java 플랫폼에서 동작한다.

2007년 C 언어를 대체하는 것을 목표로 개발된 D 언어 버전 1.0이 출시되었다. D 언어는 네이티브 코드로 동작하며, 최근 발전해온 다른 언어의 기능을 많이 도입하고 있다.

구글은 2009년에 Go를 발표했다. Go는 병렬 컴퓨팅을 고려한 컴파일러 언어이다. 의존성 주입을 언어 사양에 도입하고, 예외 처리나 클래스의 상속, 어설션, 오버로딩과 같은 기능을 배제하고 있다.

그 외, GPU에서 동작하는 셰이더 프로그램을 기술하기 위한 고수준 언어로서, Cg, HLSL, GLSL이 등장했다. 또한, GPGPU 프로그래밍을 위한 언어 확장으로 CUDA C/C++, OpenCL C 등이 등장했다. 모두 C 언어 및 C++의 구문을 기반으로 한 언어가 자주 사용되고 있다.

D
D

Groovy
Groovy

PowerShell
PowerShell

Scratch
Scratch

Go
Go

Clojure
Clojure

Haxe
Haxe

9. 2010년대

2010년대에는 모바일 환경의 확산과 함께 프로그래밍 언어는 분산 및 이동성, 데이터베이스 통합, 오픈 소스 철학을 반영하여 발전하였다. 양자 컴퓨팅 및 인공 지능 관련 연구도 진행되었다.

다트
다트

코틀린
코틀린

스위프트
스위프트

러스트
러스트


많은 빅 테크 기업들은 자체 요구 사항을 충족하고 해당 플랫폼에 최상의 지원을 제공하기 위해 새로운 프로그래밍 언어를 도입하였다.
* 구글은 다트를 개발하였다. 다트는 웹 브라우저 내장 스크립트 언어인 자바스크립트를 대체할 목적으로 만들어졌으며, 2014년에 ECMA-408 표준 규격에 등록되었다.
* 젯브레인스는 코틀린을 개발하였다. 코틀린은 자바 가상 머신(Java VM)에서 동작하며, 자바에 비해 코드의 간결성과 안전성을 향상시키기 위한 개선이 많이 이루어졌다.
* 애플은 스위프트를 개발하였다. 스위프트는 Objective-C의 객체 구조를 기반으로, 현대적인 구문과 기능을 가진 새로운 언어가 되었다. Objective-C의 클래스나 C 언어 형식 함수와 문제없이 상호 운용할 수 있으며, LLVM 위에서 컴파일 및 디버깅한다.
* 모질라는 러스트를 발표했다. 러스트는 대규모 서버 등에서의 시스템 구축에 특화된 언어로, 안전성, 속도, 병행성 추구를 목표로 한다.

이 시기에는 C를 현대적으로 대체하고, 인기 있는 동적 언어의 영향을 받아 생산성을 유지하면서 형식 안전성을 추가하는 새로운 프로그래밍 언어들이 많이 개발되었다. 또한, 많은 새로운 프로그래밍 언어가 구현에 LLVM을 사용한다.

2012년에는 MIT의 제프 비잔슨, 스테판 카핀스키, 바이럴 B. 샤, 앨런 에델만이 줄리아를 발표했다. 줄리아는 MATLAB과 같은 수치 계산에 적합한 조작성과 Lisp의 매크로와 같은 유연성을 가지며, 파이썬과 같은 동적 타입 언어이면서, C 언어나 포트란과 같은 정적 타입 언어의 장점도 결합한 언어이다. 다중 디스패치 등을 특징으로 한다.

2014년 페이스북이 발표한 Hack은 PHP를 기반으로 한 새로운 언어이다.

새롭게 등장하는 언어는 함수형 언어의 영향을 받은 객체 지향 언어가 대부분을 차지하게 되었다. 또한, 기술 능력과 안전성이 향상된 새로운 언어의 출현, 애플리케이션 실행 플랫폼의 급격한 변화 등의 영향으로 C++, Java, C#과 같은 기존 주류 언어의 기능 사양도 빈번하게 업데이트되었다.

10. 2020년대

2020년대에도 새로운 프로그래밍 언어 개발은 계속되었으며, 기존 언어의 장점을 유지하면서 안전성과 사용 편의성을 높이는 방향으로 발전하고 있다. 머신 러닝 및 AI 도구와의 통합 역시 중요한 추세로 나타나고 있다.

파워 Fx
파워 Fx
카본
카본


주목할 만한 새로운 프로그래밍 언어는 다음과 같다.

* 2021년 – 파워 Fx
* 2022년 – 카본
* 2023년 – 모조

11. 주요 인물

프로그래밍 언어 개발에 기여한 주요 인물은 다음과 같다.

* 에이다 러브레이스: 최초의 컴퓨터 프로그램 작성자
* 앨런 쿠퍼: 비주얼 베이직 개발
* 앨런 케이: 객체 지향 프로그래밍의 선구자, 스몰토크 창시자
* 안데르스 헤일스베르: 터보 파스칼, 델파이, C#, 타입스크립트 개발
* 아서 휘트니: A+, K, Q 개발
* 베르트랑 메이어: 에펠 발명
* 비야네 스트롭스트루프: [[C++] 개발
* 브래드 콕스: Objective-C 공동 제작
* 브렌던 아이크: 자바스크립트 개발
* 브라이언 커니핸: 데니스 리치와 함께 C 프로그래밍 언어에 대한 최초의 책을 공동 저술, AWK 및 AMPL 프로그래밍 언어 공동 저술
* 척 무어: 최초의 연결형 프로그래밍 언어인 포스의 발명자이자 스택 머신 마이크로프로세서 설계의 저명한 인물
* 크리스 래트너: 스위프트, 모조 및 LLVM 제작
* 클리브 몰러: MATLAB 제작
* 데니스 리치: C 발명, 유닉스 운영 체제, 플랜 9 운영 체제 개발

데니스 리치
데니스 리치

* 더글러스 맥길로이: SNOBOL, TRAC, PL/I, ALTRAN, TMG 및 C++와 같은 언어에 영향을 미치고 설계
* 그레이스 호퍼: 컴파일러라는 용어를 처음 사용하고 FLOW-MATIC 개발, COBOL 개발에 영향. 기계 독립적 프로그래밍 언어와 "디버깅"이라는 용어를 대중화
그레이스 호퍼
그레이스 호퍼

* 귀도 반 로섬: 파이썬 제작
귀도 반 로섬
귀도 반 로섬

* 제임스 고슬링: 자바 및 그 전신인 오크의 수석 개발자
제임스 고슬링
제임스 고슬링

* 장 이치비아: 에이다, 에이다 83의 수석 설계자
* 장-이브 지라르: 다형 람다 미적분(System F)의 공동 발명자
* 제프 베존: 줄리아의 주요 설계자이자 핵심 개발자 중 한 명
* 제프리 스노버: PowerShell 발명자
* 조 암스트롱: 얼랭 제작자
* 존 바쿠스: 포트란 발명, ALGOL 58 및 ALGOL 60 설계에 협력
* 존 C. 레이놀즈: 다형 람다 미적분(System F)의 공동 발명자
* 존 매카시: LISP 발명, ALGOL 60 설계 위원회
* 존 폰 노이만: 운영 체제 개념의 창시자
* 그레이든 호어: 러스트의 발명자
* 켄 톰슨: B 및 Go 발명
* 케네스 E. 아이버슨: APL 개발자, 로저 후이와 함께 J 공동 개발
* 콘라트 추제: 최초의 고급 프로그래밍 언어인 Plankalkül 설계 (이는 ALGOL 58에 영향)
* 크리스틴 노가드: 객체 지향 프로그래밍 선구, 시뮬라 공동 발명
* 래리 월: 펄 프로그래밍 언어 제작 (펄 및 라쿠 참조)
래리 월
래리 월

* 마틴 오더스키: 스칼라 제작자, 이전에 자바 설계에 기여
* 마틴 리차드는 BCPL 프로그래밍 언어를 개발했으며, 이는 B 및 C 언어의 전신
* 나다니엘 로체스터: 최초의 어셈블러 발명 (IBM 701)
* 니클라우스 비르트: 파스칼, 모듈라 및 오베론 발명
니클라우스 비르트
니클라우스 비르트

* 올레-요한 달: 객체 지향 프로그래밍 선구, 시뮬라 공동 발명
* 라스무스 레르도프: PHP 제작자
* 리치 히키: 클로저 제작자
* 로버트 젠틀맨: R 공동 제작자
* 로버트 그리저머: Go 공동 제작자
* 로빈 밀너: ML 발명, 힌들리-밀너 다형성 타입 추론에 대한 공로 공유
* 롭 파이크: Go, 인페르노 (운영 체제) 및 플랜 9 (운영 체제) 운영 체제 공동 제작자
* 로스 이하카: R 공동 제작자
* 스탠리 코헨: 1964년에 최초로 OOPS, 객체 지향 프로그래밍 시스템으로 제작된 Speakeasy 발명자
* 스티븐 울프럼: Mathematica 제작자
* 월터 브라이트: D 제작자
* 마츠모토 유키히로: 루비 제작자
마츠모토 유키히로
마츠모토 유키히로

비야네 스트롭스트루프
비야네 스트롭스트루프

안데르스 헤일스베르
안데르스 헤일스베르