BASIC 언어의 창시자인 Thomas Kurtz를 추모하며
엊그제 BASIC 언어의 창시자인 Thomas Kurtz가 세상을 떠났다.
내 어린 시절의 한 축을 담당했던 BASIC 언어의 창시자가 떠나니, 마음이 허전하다.
그런데, 생각해보니, 컴퓨터 언어의 초기를 이끈 분들이 얼마 안 남으신 것 같아 정리해보았다.
어셈블리어: 1947년
adosseg
.model small
.stack 100h
.data
hello_message db 'goodbye, world', 0dh, 0ah, '$'
.code
main proc
mov ax, @data
mov ds, ax
mov ah, 9
mov dx, offset hello_message
int 21h
mov ax, 4C00h
int 21h
main endp
end main
A.R.C. (Automatic relay computer) 용으로 Kathleen Booth와 Andrew Donald Booth 두 분이 최초로 개발.
이진수 곱셈 알고리즘을 개발한 그 A. D. Booth 맞다.
이런 쉬운 언어로 프로그램 만들려고 하면 안 된다고 폰 노이만에게 한 소리 들었단 얘기가 있다.
이 어셈블리어에 대한 페이퍼는 이 링크에서 볼 수 있다.
1940년대면 여성이 뭔가를 이루는 것 자체가 불가능에 가깝던 시절
두 분은 부부로 살았으며, K. Booth는 2022년 9월 29일에 100세, A. D. Booth는 2009년 11월 29일에 91세를 일기로 영면하셨다.
FORTRAN: 1957년
program HelloWorld
write (*,*) 'goodbye, world'
end program HelloWorld
IBM의 존 배커스(John Backus)가 동료들과 함께 개발한 세계 최초의 고급 프로그래밍 언어.
이름 자체가 FORmula TRANslator로서, 수학식을 그대로 코딩하는데 특화된 언어.
지금도 컴과에서는 종종 무시당하지만, 수학/과학 분야에서는 여전히 사용되는 언어다.
Backus는 2007년 3월 17일에 82세를 일기로 돌아가셨다.
LISP: 1958년
(format t "goodbye, world")
MIT의 존 매카시(John McCarthy)가 개발한 두번째로 오래된 고급 프로그래밍 언어.
FORTRAN의 서브루틴 패키지로 시작해 1958년에 독립된 LISP가 공개됨.
이후 개발된 사실상 모든 언어와 개발환경에 영향을 미친 그야말로 전설의 언어다.
McCarthy는 최초로 인공지능(AI)이란 용어를 쓴 분이기도하고 이 분야를 연구한 공로로 1971년에 튜링상을 수상했다.
그야말로 AI의 선구자.
McCarthy는 2011년 10월 24일에 84세를 일기로 돌아가셨다.
COBOL: 1960년
“Amazing Grace” 그레이스 호퍼 제독이 개발에 깊이 관여한 언어.
호퍼 제독이 개발했다는 글이 종종 보이는데, 정확한 설명은 아님.
호퍼 제독이 개발한 FLOW-MATIC이 COBOL의 주요한 기반이 된 것.
주도적인 역할은 한 조직은 CODASYL(Committee on Data Systems Languages)이라는 위원회다.
호퍼 제독은 1992년 1월 1일 향년 85세로 별세하셨다.
BASIC: 1964년
PRINT "goodbye, world"
이 글을 쓰게 된 계기가 된 BASIC (Beginners’ All-purpose Symbolic Instruction Code).
대부분의 한국인이 [베이직]으로 발음하지만, 영국/미국 어디에서나 [베이식]으로 발음하는 그 이름.
8비트 컴퓨터 시절에는 ROM에 대부분 내장되어 있었고, 디스크 드라이브를 연결해야 DOS가 실행되었었다.
빌 게이츠가 애초에 BASIC 인터프리터로 사업을 시작해 애착이 컸던 언어이기도 함.
존 케메니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 1964년 10월 1일에 발표했다.
해당 문서는 이 링크에서 볼 수 있다.
왼쪽이 Kurts, 오른쪽이 Kemeny
Kemeny는 1992년 12월 26일에 66세로, Kurtz는 며칠 전인 2024년 11월 12일에 96세로 별세하셨다.
Pascal: 1970년
program Goodbye;
begin
writeln('goodbye, world');
end.
교육용 언어로 유명했던 파스칼은 1970년에 니클라우스 비르트(Niklaus Wirth)가 개발했다.
비르트는 최초의 파스칼 컴파일러를 파스칼로 만들어 파스칼 언어의 유용성을 한번에 입증했다.
Borland의 Turbo Pascal 시리즈가 한때 압도적인 인지도를 갖기도 했다.
CP/M, MSX, IBM-PC에서 모두 돌아가는 넓은 지원범위와 원 패스 컴파일은 압도적인 장점이었다.
비르트(Wirth)라는 이름을 영어 문화권에선 [워스]로 종종 발음해서 대화가 꼬이곤 했다.
그러다 유명세를 탄 이후는 “고향에서는 Call-by-name으로 [비르트]라고 부르지만, 미국에선 Call-by-value로 [워스]로 불린다”는 드립을 치셨다.
컴퓨터 언어 개발에 대한 압도적인 공로로 1984년에 튜링상을 수상하셨다.
Wirth는 올해 초인 2024년 1월 1일에 89세를 일기로 별세하셨다.
C: 1971년
main()
{
printf("goodbye, world\n");
}
더 이상의 설명이 필요없는 C는 1972년에 Bell Labs의 데니스 리치(Dennis Ritchie)가 개발했다.
유닉스를 이식하는 과정에서 이식을 쉽게 하기 위해 개발. (이전의 유닉스는 어셈블리어로 작성되었음)
지금도 수많은 언어들이 명멸을 반복하지만, OS를 개발할 수 있는 새로운 언어가 나오기 전까진 사라지지 않을 언어다.
Ritchie가 C로 작성한 C 컴파일러 소스가 github에 올라와있다.
1983년에 튜링상을 수상하셨다.
Ritchie는 2011년 10월 12일에 70세를 일기로 별세하셨다.
Prolog: 1973년
?- write('goodbye, world').
프랑스 마르세유대학교의 알랭 콜메르(Alan Colmerauer)가 개발한 언어다.
논리식을 기반으로 관계를 표현하기 때문에 인공지능이나 자연어 처리에서 많이 사용된다.
Turbo PASCAL, Turbo C++로 유명했던 Borland에서 Turbo Prolog를 공개하기도 했다.
Colmerauer는 2017년 5월 12일에 76세를 일기로 별세하셨다.
Ada: 1983년
with Ada.Text_IO; use Ada.Text_IO;
procedure Goodbye is
begin
Put_Line("goodbye, world");
end Goodbye;
1978년에 미국 국방부에서 공모한 프로그래밍 언어 개발에 선정된 언어.
프랑스 출신의 진 이히비하(Jean Ichbiah)가 이끄는 팀이 개발함.
ADA는 모든 종류의 프로그래밍 개념을 다 수용하는 것을 목표로 했다.
예컨데, Call-by-value, Call-by-reference는 물론, Call-by-name까지 다 수용한다.
Harpoon 유도탄이나 미군에서 사용하는 워게임 시스템 등 상당수 시스템이 이 ADA로 개발되었다.
진 이히비아는 2007년 1월 26일, 66세를 일기로 별세하셨다.
여러분들 덕분에 여기까지 배워올 수 있었습니다.
무한한 감사와 존경을 드립니다. R.I.P.