기타 2007.11.30 14:31
Xcode란 이름을 처음 들었을 때는 별다른 느낌이 없었습니다. 한 단어로 자주 사용되는 X가 주는 여러 의미도 있고, OS X의 X도 있고 code와 합쳐져 그냥 Xcode인가 보다 하고 생각했습니다.

하지만 cocoa는 약간 흥미가 가는 이름이었습니다. 처음에는 코코아란 차를 생각하고 Java와 뭔가 비슷한 이유로 이름을 지은 것이 아닐까 생각했습니다. cocoa 개발자들이 개발중에 코코아 차를 자주 마셔서 지은 이름이 아닐까? 별로 중요한 내용은 아니지만 cocoa를 시작도 하기전에 이 죽일 놈의 호기심이 또 발동해서 구글 등에서 이름의 내역을 대충 알게되었습니다.

이제 다시 당시에 알아낸 내용과 위키피디아를 통해서 cocoa 이름의 유래에 관해서 정리해 볼려고 합니다.


사용자 삽입 이미지
우선 코코아가 정확히 뭔지 알아 보겠습니다. 저는 카카오, 코코아, 코코넛 세개의 정확한 의미를 몰라 혼돈이 있었습니다. 코코넛은 코코스 야자 나무의 열매이고, 카카오는 카카오 나무의 열매입니다. 이 카카오를 가공하여 분말로 만든 것을 코코아라고 부릅니다.(저만 헤깔리는 것이 겠죠.)


일단 코코아가 무엇인지는 알았고, Xcode의 cocoa에 이름이 붙여진 이유에 대해서 알아 보겠습니다. 1991년도 경 애플에서는 KidSim이란 프로젝트가 진행되고 있었습니다. 이 프로젝트는  ATG(Advanced Technology Group)에서 이루어졌습니다. KidSim은 Kid+Simulation의 조합과 같은 이름에서 암시하듯이 프로그래밍 언어를 배우지 않고도 어린이들에게 쉽게 애니메이션, 시뮬레이션, 게임등을 만들게 해주는 툴입니다.

사용자 삽입 이미지
(출처:CACM KidSim Article)

보시는 바와 같이 어디선가 본듯한 모습인데 앨런케이옹의 스퀵이 떠 오릅니다. 아래는 스퀵과 관련한 제 이전 포스트 입니다.

아무튼 이 당시 앨런케이옹도 애플의 ATG에서 비슷한 연구를 한 것으로 보입니다.

잠시 ATG에 대해서 살펴 보면 ATG는 1986에 만들어져 1997까지 유지된 애플의 새로운 기술을 개발하는 연구소입니다. 구성원은 컴퓨터 발전과 객체지향에 지대한 영향을 끼친 앨런케이, 제록스에서 레이저 프린팅 시스템을 처음 개발한 게리 스타크웨더, 초기 애플 GUI 소프트웨어 개발의 주축이었던 레리 테슬러(ATG 를 만들었습니다.)등 초호화 맴버입니다.

드림팀 답게 이들은 이곳에서 애플 기술의 초석이 되는 많은 결과물들을 만들어 내었습니다. 위키피디아에서 가져온 이들이 개발한 주요 내용들 입니다.

QuickDraw, QuickTime, QuickTime VR, QuickDraw 3D, 3DMF the 3D metafile graphics format, ColorSync, HyperCard, Apple events, AppleScript, Apple's PlainTalk speech recognition software, Apple Data Detectors, the V-Twin software for indexing, storing, and searching text documents, Macintalk Pro Speech Synthesis, the Newton handwriting recognizer, the component software technology leading to OpenDoc, MCF and HotSauce, Squeak Smalltalk, Cocoa

대충봐도 눈에 익은 것들이 많습니다. 하지만 1996년 앨런케이도 애플을 떠나고, 1997년 스티브잡스가 애플로 복귀하면서 비생산적인 부서를 정리하는 구조조정(?)을 감행하면서 ATG도 역사속으로 사라지게 됩니다.

다시 KidSim으로 돌아와 1994년 이 프로젝트는 Cocoa로 이름을 변경합니다. 이후 1996년 이 프로젝트는 공식적으로 세간에 발표됩니다. 하지만 ATG가 없어 지면서 위의 래리 테슬러와 기존 cocoa의 개발자들은 Stagecast 소프트라는 회사를 만들어 떠납니다.

이때 스티브 잡스는 NeXTSTEP을 이용해 새로운 애플의 OS를 개발하게 됩니다. 애플은 Xcode의 시조인  NeXTSTEP의 개발환경을 새로운 OS로 가져 오게 됩니다. 그런데 새로 트레이드마크를 등록하는데 드는 시간을 줄이기 위해, Stagecast의 동의하에 이미 등록되어 있는 Cocoa란 이름을 사용합니다.

알고보니 허무합니다. 사실인지 아닌지 확인할 길은 없지만, 시간이 없어서 그냥 가지고 왔답니다. 끝.

아무튼 ATG에 당대의 개발자들이 모여 시간과 돈에 얽매이지 않고 자유롭게 연구한 UI, 그래픽/네트워크 기술, 교육용 소프트웨어 등 많은 결과물이 오늘날 애플 제품들의 초석이 되지 않았나 생각됩니다.

부록: cocoadev 블로그 이름...


'기타' 카테고리의 다른 글

블로그 RSS 읽어오는 C++ class  (7) 2007.12.14
OS X용 정규 표현식 테스트 어플리케이션 - Reggy  (1) 2007.12.12
cocoa 이름의 유래  (6) 2007.11.30
맥용게임 Doukutsu  (3) 2007.11.21
미국의 맥개발자 구인 내용  (8) 2007.10.20
맥용 게임 Thumblebugs  (0) 2007.10.19