• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

컬럼

오브젝티브-C의 생일을 축하한다.

  • - 첨부파일 : objective_c_icon.jpg (69.7K) - 다운로드

본문

오브젝티브-C의 생일을 축하한다.
logoBlanc.gif

> Trente ans d’Objective-C [12.03.2013 16:00]

그레이엄 리(Graham Lee)가 아니었더라면, 우리는 아마 오브젝티브-C의 서른 번째 생일을 지나쳤을 것이다. 오브젝티브-C는 애플, 심지어 넥스트가 발명하지는 않았다. 거대 기업 IIT에 근무하던 미국의 두 개발자가 만들었었다. 오브젝티브-C의 역사에 대해 돌아 보도록 하자.

macgpic_1363099348_scaled_optim.jpg
MacG Mobile 다음 버전의 코드

생물수학자였던 브래드 콕스(Brad Cox)는 신경망 연구직을 버리고 개발자로 나섰다. 그 때가 1970년대 후반, 그가 들어갔던 곳은 명성이 안 좋았던 미국 거대 기업 ITT였다. 이곳에서 그는 동료인 톰 러브(Tom Love)와 함께 코드 재사용 문제에 관심을 가졌었다.

당시 개발 프로젝트 대부분은 구조화 프로그래밍(structured programming) 원칙을 사용하고 있었다. 구조와 프로그래밍이란 이해하기 쉽도록, 거대한 프로그램을 여러 하위 프로그램으로 나누는 기법이었다. 따라서 구조상 "사용한 코드"를 다른 부분에서 재사용할 수가 없었다. 이 문제를 해결하기 위해 앨런 케이(Alan Kay)는 10여년간 스몰톡(Smalltalk)이라는 객체지향 프로그래밍(OOP)을 통해 객체(object)라는 해결책을 만들었다.

그런데 당시 OOP와 그 가능성에 대해 관심을 가진 개발자가 콕스만이 아니었다. 1978년 이래 덴마크의 비야네 스트롭스트룹(Bjarne Stroustrup)은 C++라 불리게 될 언어를 작업중이었다. 스트롭스트룹과 마찬가지로 콕스는 ITT의 언어였던 C 언어 상에서 작업하고 있었지만, 스몰톡-80의 컨벤션에서 영감을 얻었었다. 그 결과물이 오브젝티브-C의 조상인 OOPC(객제치향 프리-컴파일)이었다.

콕스와 러브는 ITT를 떠나 OOPC를 작업하기 위해 나중에 StepStone으로 불리게 되는 Productivity Products International을 창업했다. 콕스는 이제 오브젝티브-C가 된 OOPC를 객체지향 언어의 기나 긴 체인의 핵심으로 간주했다. 사실 그는 자신의 이론을 핵심 주제로 책을 펴냈었다. Object-Oriented Programming, An Evolutionary Approach(1판은 1986년에, 2판은 1991년에 나왔다.) 이 책은 객체지향 프로그래밍의 성서이면서 오브젝티브-C의 첫 번째 버전이 들어있기도 했다.

macgpic_1363099737_optim.jpg

넥스트스텝 개발 기간 동안 스티브 잡스와 그의 엔지니어들은 명예롭게도 견고하고 장래성 있는 기반을 채택했다. 1988년에 오브젝티브-C를 채택한 마흐 커널상에서 유닉스 시스템을 구축하는 것이었다. 잡스의 프리젠테이션을 보면 만들어진지 거의 20년 된 1990년대 내내 잡스는 객체지향 프로그래밍과 오브젝티브-C의 이익을 계속 주장했었다. 객체지향 프로그래밍에 대한 그의 정의를 보자. 언제나처럼 대단히 분명하면서도 시적(詩的)이다.

객체는 사람과 같습니다. 일을 어떻게 하는지에 대한 지식과 기억을 갖고 있으면서 살아 숨쉬는 존재에요. 매우 낮은 수준에서 상호 작용하기보다는 매우 높은 추상화 수준에서 상호작용하는 겁니다. 우리가 지금 이러고 있는 것처럼 말이죠.

사례를 알려드리죠. 제가 당신의 세탁기 객체라면, 더러운 옷을 제게 주셔서 "옷 좀 빨아주십시오"라 메시지를 보낼 수 있습니다. 저는 샌프란시스코 최고의 세탁소가 어디인지 알고 있고, 때마침 영어를 할 줄 알며, 주머니에 돈이 좀 있어요. 그럼 밖에 나가서 택시를 타고 샌프란시스코 최고의 세탁소로 갑니다. 거기에서 옷을 세탁하고 다시 택시 타고 돌아와서 깨끗해진 옷을 주며 말하죠. "세탁한 옷 여기 있습니다"하고요.

제가 뭘 어떻게 했는지 당신은 전혀 모릅니다. 세탁소가 어디였는지도 모르죠. 아마 당신이 불어를 해서 택시를 잡지 못 할 수도 있어요. 게다가 돈을 내지 않았고 주머니에 돈도 없습니다. 예. 그런 일들은 다 제가 한 것이죠. 당신은 알 필요가 없는 일들이에요. 이 모든 복잡함이 제 안에 숨겨져 있으며, 우리는 매우 높은 수준에서 상호작용했습니다. 객체가 하는 일이 이런 겁니다. 복잡함을 캡슐화 시켜서, 매우 높은 수준에서 돌아갈 복잡성의 인터페이스 역할을 객체가 하죠.

비록 컴퓨터 사업 실패 이후, 소프트웨어 및 서비스 사업에 매진했지만, 1990년대 내내 오브젝티브-C의 개발을 이끌어 간 끝에 넥스트는 1995년 오브젝티브-C의 권리마저 사들였다. StepStone은 빈 껍질처럼 됐고, 넥스트는 StepStone의 제일 유능한 엔지니어들을 고용했다. 오늘날의 오브젝티브-C의 직접적인 토대였다.

넥스트스텝은 점차 완전한 운영체제의 모습을 잃어 갔다. 넥스트는 Sun과 함께 독립적인 객체지향 API 사양, 오픈스텝(OpenStep)을 개발했다. 가령 GNUstep 안에 들어간 GNU 프로젝트가 오픈스텝을 구현했으며, 오브젝티브-C로 개발한 애플리케이션을 사용하는 GNU/리눅스 배포판도 존재한다. 오픈스텝은 또한 오에스텐의 Cocoa와 iOS의 코코아의 기반이기도 하다. 애플이 넥스트를 4억 2,900만 달러에 매입했음은 알고 계실 것이다.

macgpic_1363099790_scaled_optim.jpg
Rhapsody 1.0 (1997), l'ancetre d'OS X derive d'OPENSTEP.

오늘날 오브젝티브-C는 애플 장비용 개발과 동의어에 가깝다. C(++)의 카본(Carbon) 애플리케이션 개발은 이제 거의 없으며, 다른 언어의 도움을 받고 Cocoa로 인터페이스를 만드는 경우도 드물다. 다른 플랫폼을 위한 오브젝티브-C 개발자는 손에 꼽을만 하다.

애플은 기술 발전과 자사의 필요때문에 오브젝티브-C를 계속 지원하고 있다. 가령 오브젝티브-C 2.0은 맥오에스텐 레퍼드와 아이폰의 등장과 때를 같이 했다. 다이나믹 메모리 관리나 신택스 수정 등 현대화와 최적화가 필요했기 때문이다.

하지만 우리는 오브젝티브-C의 성공이 iOS와 앱스토어로 나타난 것이 아니라는 사실을 종종 잊는다. 한 번도 대중적인 적이 없던 점이 사실이지만, 넥스트가 오브젝티브-C로 만들어 놓은 개발환경은 자바같은 다른 언어에 영감을 주었으며, 독특하고 혁신적인 개발을 할 수 있도록 해줬다. 웹이 넥스트 플랫폼에서 처음 만들어진 것도 전혀 우연이 아닌 셈이다.

그러니까, 생일 축하한다. 오브젝티브-C.

Anthony Nelzin
anthony(arobase)A_ENLEVERmgig.fr
Cet article peut etre consulte a cette adresse :
Trente ans d’Objective-C

ⓒ 1999 - 2013 MacGeneration - L'essentiel du Mac en francais.

위민복님이 번역한 글입니다.
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
회원사진
포인트 765,229
가입일 :
2002-05-23 22:53:10
서명 :
KMUG 애플에 대한 모든 것. 케이머그
자기소개 :
2000년 3월 1일 부터 시작 http://www.kmug.co.kr webmaster@kmug.co.kr

최신글이 없습니다.

최신글이 없습니다.

댓글목록 1

거루칸님의 댓글

정말 생일을 진심으로 축하합니다.
Objective-C 20년 전에 네가 태어나지 않았다면 내가 오늘 이렇게 즐거운 인생을 살고 있을 수 없을지도 몰랐잖니? ㅋㅋ

이렇게 감회 깊은 글을 올려주셔서 감사합니다. 민복님!

전체 2,464 건 - 9 페이지
2015.08
17

애플과 변화의 시대

애플과 변화의 시대 Apple and Eras of Flux Friday, 9 January 2015 l’affaire에 올린 Dr. Drang의 훌륭한 글, Functional High Ground을 보자: 우리 중 매우 …

2015.08
07

애플워치를 둘러싼 전투는 이미 시작됐다.

애플워치를 둘러싼 전투는 이미 시작됐다. TECH 1/04/2015 @ 6:26AM 17,068 views The Apple Watch Isn't Here Yet, But The Battle Over It Has Already Sta…

2015.08
05

마이크로소프트 하드웨어의 미래

마이크로소프트 하드웨어의 미래 MEDIA, TECH, BUSINESS MODELS Dec 22, 2014 By Jean-Louis Gass MSFT Hardware Futures (Strangely, the WordPre…

2015.07
24

애플 2014년 결산

애플 2014년 결산 Editorial: the world revolved around Apple, Inc in 2014 By Daniel Eran Dilger Tuesday, December 30, 2014, 02:08 am PT (05…

2015.07
17

삼성의 실적 악화는 애플 때문이다

삼성의 실적 악화는 애플 때문이다 Thursday, October 30, 2014, 06:19 pm PT (09:19 pm ET) How Apple, Inc. went thermonuclear on Samsung, erasing Androi…

2015.07
10

옛날 파워북에서 맥오에스 9 사용하기

옛날 파워북에서 맥오에스 9 사용하기 INFINITE LOOP / THE APPLE ECOSYSTEM My coworkers made me use Mac OS 9 for their (and your) amusement If you …

2015.07
03

아이패드에 대한 생각을 바꾼 아이폰 6 플러스

아이패드에 대한 생각을 바꾼 아이폰 6 플러스 The new iPad Air 2 and the iPhone 6 Plus have changed my mind about the iPad mini Jean-Louis Gassee Ven…

2015.06
29

아마존을 규제하라

아마존을 규제하라 TECH OCTOBER 9, 2014 Amazon Must Be Stopped It's too big. It's cannibalizing the economy. It's time for a radic…

2015.06
19

애플워치의 사나이

애플워치의 사나이 MAGAZINE A Rare Look at Design Genius Jony Ive: The Man Behind the Apple Watch OCTOBER 1, 2014 8:00 AM by ROBERT SULLIVA…

2015.06
12

애플페이와 eBay, 그리고 PayPal

애플페이와 eBay, 그리고 PayPal Apple Pay is such a big deal that eBay already has had to change strategy Jean-Louis Gassee Venture partn…