11-26 00:04
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

'커피, 보석, 달 등에서 유래한' 프로그래밍 언어 이름 13 본문

ICT/Articles

'커피, 보석, 달 등에서 유래한' 프로그래밍 언어 이름 13

cinema4dr12 2014. 3. 30. 13:53

원문 : http://www.ciokorea.com/slideshow/20364

프로그래머들은 대개 소프트웨어 개발의 가장 어려운 작업 중 하나가 바로 이름 짓기라는 것에 동의한다. 그 중에서도 프로그래밍 언어 이름 짓기는 자주 있는 일은 아니지만, 해야 하는 일이다. 새 언어가 설계되면, 그 이름은 몇 가지 공식 중 하나를 택해서 정해지게 된다: 긴 이름의 약자나 두문자어 (예를 들어, BASIC, COBOL, TCL, LISP 등)로 정해지거나, 기존 언어의 이름을 변경해서 (예를 들어, C++, C#, 커피스크립트(CoffeeScript) 등) 짓기도 하고, 유명한 수학이나 컴퓨터 과학자의 이름으로 (예를 들어, 에이다(Ada), 파스칼(Pascal), 튜링(Turing) 등) 짓기도 한다. 하지만 이런 공식을 따르지 않고 이름을 짓기도 한다. 독특한 프로그래밍 언어 이름 13가지에 얽힌 이야기를 소개한다.



파이썬(Python)

1991년에 처음 공개된 인기 언어 파이썬(Python)은 네덜란드 프로그래머 구이도 반 로썸(Guido van Rossum)이 개발한 것이다. 그는 ABC 프로그래밍 언어에서 파생된 새로운 스크립팅 언어를 크리스마스 휴가 기간 중에 재미로 만들었다. 이 새 언어의 이름을 정할 때 반 로썸은 ‘짧고 독특하면서 조금 미스터리한’ 이름을 원했다. 그는 평소 아주 좋아하던 유명한 영국 코메디 그룹 몬티 파이썬(Monty Python)의 이름에서 영감을 받았다. 그가 데드 패롯(Dead Parrot)이라는 이름도 고려했는지에 대한 이야기는 전해지지 않는다.



자바(Java)

자바(Java)는 썬마이크로시스템즈의 그린 프로젝트에서 1990년대초 인터랙티브 TV같은 스마트 가전제품들의 유행을 예측하고 지원하기 위한 기술을 만들기 위하여 개발됐다. 이 새 언어는 처음에 ‘오크(Oak)’라고 불렸지만, 썬의 변호사가 ‘오크’라는 이름이 이미 등록돼 있는 상표라는 점을 확인한 후 새 이름을 찾아야 했다. 이에 관련되어 회의가 시작되었고, (변호사들에 의해) 실크(Silk), DNA, 자바라는 3가지 이름으로 압축되었다. 누가 처음 자바라는 이름을 제안했는지는 불분명하지만 썬 엔지니어들 사이에서 인기 있었던 피트(Peet)의 커피 이름에서 유래했다는데 대부분 동의한다. 



포스(Forth)

포스(Forth) 언어는 1960년대 찰스 무어(Charles Moore)가 개발했다. 1968년 주택 인테리어 업체인 모하스코(Mohasco)에서 일하던 찰스 무어는 2250 그래픽 디스플레이가 탑재된 IBM 1130 미니컴퓨터가 카페트 디자인에 사용될 수 있는지에 대한 문의를 받았다. 무어는 포트란(FORTRAN)으로 그래픽을 프로그래밍할 수 없었기 때문에 포스를 개발했다. 그가 원래 선택한 이름은 4세대 언어라는 뜻에서 포스(Fourth)였다. 하지만 1130 컴퓨터의 파일명은 다섯 글자가 한계였기 때문에 U를 뺀 Forth로 수정되었다. 



펄(Perl)

언어의 유연성과 힘 때문에 ‘스위스 아미 전기톱(Swiss Army Chainsaw)’으로 알려진 펄(Perl)은 1980년대 래리 월(Larry Wall)이 만들었다. 이름을 정할 때 월은 ‘긍정적인 의미’를 가진 짧은 이름을 원했다. 그는 부인의 이름인 글로리아(Gloria)를 ‘펄’보다 먼저 고려했다. 하지만 같은 이름을 가진 프로그래밍 언어(PEARL ‘Process and Experiment Automation Realtime Language’)가 이미 있었기 때문에 A를 뺀 Perl로 결정되었다. 원래 펄의 알파벳은 유닉스의 전체 소문자 방식에 영향을 받아 모두 소문자였다. 대문자로 바뀐 것은 1993년 펄 4(Perl 4)부터였다.



루아(Lua)

루아(Lua)는 브라질 리우데자네이루의 폰티피컬 카톨릭 대학의 컴퓨터 그래픽 기술 그룹 텍그래프(TeCGraf)가 1993년 만든 스크립팅 언어다. 루아는 텍그래프에서 이전에 개발한 2개의 언어인 델(DEL, Date Entry Language)과 솔(SOL, Simple Object Language)에 기초하고 있다. 델과 솔의 장점만을 모으고 흐름 제어 등의 기타 기능성을 추가한 새 언어가 만들어 졌을 때, 포르투갈어로 ‘달’을 뜻하는 루아라는 이름이 채택됐다. 루아를 있게 한 솔이 포르투갈어로 태양을 의미했기 때문이다.



스몰토크(Smalltalk)

스몰토크(Smalltalk)는 제록스의 PARC(Palo Alto Research Center)에서 1970년대 처음 개발된 객체 지향 프로그래밍 언어군으로 자바, 파이썬, 루비(Ruby)를 포함한 여러 언어에 영향을 주었다. 앨런 케이(Alan Kay)의 러닝 리서치 그룹(Learning Research Group)이 스몰토크를 개발했는데, 케이에 따르면 스몰토크라는 이름은 시스템들마다 제우스, 토르 같은 거창한 ‘인도-유럽계 신화(IndoEuropean god theory)’의 이름을 달던 추세에 대응해 만들어졌다. 케이는 그런 신들의 이름에 비해 훨씬 부담 없는 이름인 스몰토크를 선택했다.



로고(Logo)

로고(Logo)는 MIT의 인공지능 연구소의 컴퓨터 과학자 볼트(Bolt), 베라넥(Beranek), 뉴먼(Newman)이 교육 목적으로 1960년대 만들어낸 언어다. 프로그래밍 개념의 폭넓은 분야를 가르치기 위해 사용되었던 리스프(Lisp)에서 파생된 언어로 차후에 스크래치(Scratch)같은 교육용 언어에 큰 영향을 주었다. 터틀 그래픽스(turtle graphics)를 활용한 명령에서 결과물을 생성하는 것이 핵심 기능 중 하나였다. 로고라는 이름은 숫자 지향적인 전통적인 프로그래밍 언어와 차별화하기 위해 그리스어로 ‘단어’, ‘생각’을 뜻하는 ‘로고스(logos)’에서 유래되었다.



루비(Ruby)

루비(Ruby)는 1993년 유키히로 마쓰모토(Yukihiro Matsumoto)에 의해 펄과 파이썬의 대안이 될 진정한 객체 지향적 스크립팅 언어로 개발되었다. 펄처럼 마츠모토는 보석에 기반한 이름을 생각했다. 동료인 케이주 이시츠카(Keiju Ishitsuka)와의 토론을 거쳐 코랄(Coral)과 루비(Ruby)라는 이름으로 최종 압축되었다. 결국에는 마쓰모토가 선호한, 이시츠카의 탄생석인 루비가 이름으로 선택되었다. 마쓰모토는 6월의 탄생석이 진주(펄)고 7월의 탄생석이 루비라는 사실에 대해, 루비가 펄(마쓰모토는 펄을 ‘장난감 언어’정도로 여겼다)을 잇는 게 아니라 대체하기 위한 언어라는 점을 분명히 했다.



스킴(Scheme)

1950년대 MIT의 존 매카시(John McCarthy)는 당시 인공지능 연구자들이 많이 쓰는 언어가 된 최초의 고급 프로그래밍 언어들 중 하나인 리스프(Lisp)를 개발했다. 시간이 지남에 따라 리스프의 여러 변종이 개발되었고, 이들 중에 플래너(Planner)와 코니버(Conniver) 등이 있었다. 1975년 MIT의 제랄드 제이 수스먼(Gerald Jay Sussman)과 가이 스틸(Guy Steele)이 리스프의 새 변종 언어를 개발했고, 플래너와 코니버 이름의 전통을 이어 스키머(Schemer)라고 이름 붙였다. 하지만 ITS(Incompatible Timesharing System)라는 MIT에서 개발된 운영체제에서 파일명은 두 개의 컴포넌트, 최대 6자까지 제한되었기 때문에, 스키머라는 이름에서 r을 뺀 스킴으로 최종 결정되었다.



스칼라(Scala)

스칼라(Scala)는 2001년 마틴 오데스키(Martin Odersky)가 만든 기능적이면서 객체 지향적 언어로, 자바 바이트코드로 컴파일되도록 쓰여져 있다.(그리고 이전까지 닷넷(.NET)으로도 컴파일 됐었다) 스칼라라는 이름은 두 가지 다른 이유로 선택되었다: 우선 확장성이 좋기 때문에 확장형(SCAlable) LAN이라는 유래가 있다. 둘째로 스칼라는 이태리어로 사다리나 계단을 의미하는데, 더 나은 프로그래밍 언어로 이어가게 해준다는 중의적인 뜻도 포함하고 있다.



스크래치(Scratch)

스크래치(Scratch)는 MIT 미디어 랩(Media Lab) 그룹이 2003년 개발한 교육적인 프로그래밍 언어다. 아이들은 스크래치를 사용해 화면상에서 ‘도깨비(sprites)’들의 행동을 결정하는 블록 연결을 통한 프로그램을 만든다. 이를 통해 이야기, 영화, 게임, 음악 등 거의 상상했던 모든 것을 만들 수 있다. 스크래치라는 이름은 레코드판을 턴테이블에서 비비며 새로운 소리를 만들어내는 힙합 DJ의 기술에서 나왔다.



오크(AWK)

유닉스를 사용해본 사람이라면 누구나 텍스트 파일 프로세싱에 사용되는 해석형 언어인 오크(AWK)와 친숙할 것이다. 1977년 유닉스 그렙 유틸리티(unix grep utility)의 좀 더 일반화된 버전으로 개발된 오크는 1979년 버전 7에서부터 유닉스에 포함되기 시작했다. 오크는 래리 월이 펄을 개발할 때 중요한 영향을 미쳤다. 오크는 많은 프로그래밍 언어 이름들처럼 축약어이지만, 언어가 하는 작동에서 유래한 것이 아니라 벨 연구소(Bell Labs)에서 이를 만든 세 사람의 이름인 알프레드 아호(Alfred Aho), 피터 웨인버그(Peter Weinberger), 브라이언 커닝한(Brian Kerninghan, 사진)의 이름 첫 글자들을 따서 만든 것이다.



그루비(Groovy)

2003년 자바 프로그래머 제임스 스트라찬(James Strachan)은 자바 플랫폼에서 실행되는 파이썬이나 루비같은 스크립팅 언어를 원했다. 그의 솔루션은? 자바 바이트코드로 역동적으로 컴파일되는 새 언어를 개발하는 것이었는데, 그의 말에 의하면 ‘기존 자바 코드에 멋지게(groovy) 올라서도록’ 만든다는 것이었다. 그 언어의 이름은 설명 그대로 그루비(Groovy)가 되었다.

Comments