여러분은 ‘현존하는 최고의 프로그래머’라고 하면 어떤 사람이 떠오르시나요? 아마도 많은 분들이 현재 리퀴드 로보틱스(Liquid Robotics)에서 소프트웨어 설계 책임자(Chief Software Architect)로 재직 중인 제임스 고슬링을 떠올릴 것 같은데요. 제임스 고슬링은 프로그래밍 언어 ‘자바(JAVA)’의 창시자이자 가장 영향력 있는 프로그래머 중 한 사람으로 꼽히는 인물입니다. 자바 이외에도 멀티 프로세서용 유닉스와 컴파일러, 메일 시스템, 데이터 인식 시스템 등을 개발한 바 있는데요. 개발자 가운데서는 마이크로소프트의 빌게이츠 만큼이나 유명하지만, 개발자 특유의 ‘몰두’, ‘은둔’ 성향 때문에 세상에 널리 알려지지는 않았습니다. 청바지에 흰 면티, 벗어진 이마와 부스스한 머리, 덥수룩한 수염에 사람 좋아 보이는 웃음이 얼핏 보면 이웃집 아저씨 같은 제임스 고슬링에게서 카리스마란 조금은 먼 이야기 같은데요. 하지만 그는 분명 위대한 프로그래머임에는 틀림 없답니다. 오늘은 자바의 최초 개발자이자, 가장 영향력 있는 프로그래머 중 한 사람으로 꼽히는 제임스 고슬링에 대해 좀 더 자세히 알아보도록 해요~!
제임스 고슬링은 1955년 캐나다 앨버타 주에서 태어났습니다. 이후 1977년 캘거리 대학에서 컴퓨터 공학 학사를, 1983년 카네기 멜론 대학에서 컴퓨터 공학 박사 학위를 받았는데요. 박사학위를 수료한 이후 1984년부터 소프트웨어, 정보 기술 개발사인 '썬 마이크로시스템즈(SUN Microsytems)'에서 근무하게 됩니다.
자바는 1991년부터 제임스 고슬링이 재직 당시 주도한 '그린 프로젝트'에서 시작되었는데요. 패트릭 노턴(Patrick Naughton), 마이크 쉐리던(Mike Sheridan)과 함께 그린 프로젝트팀에 배치된 제임스 고슬링은 이때 개발한 오크(자바의 전신)언어를 냉장고, 전기밥솥, TV 등 가전제품에 장착하는 컴퓨터 칩에 각종 기능을 넣기 위한 프로그래밍 언어로 사용할 계획이었다고 합니다. 즉, 현재 어떤 플렛폼에도 적용이 가능한 전천후 프로그램인 자바가 원래는 가전제품용으로 쓰일 뻔했다는 사실! 놀랍지 않으신가요? 그렇다면 과연 여기에는 어떠한 이야기가 숨어 있는 것일까요?
▲ 썬 마이크로 시스템즈 / 출처 : 위키디피아
당시 썬사는 어떤 하드웨어의 플랫폼에서도 동작하는 객체 지향적 운영체제를 원하고 있었는데요. 하지만 이는 실리콘밸리의 공식 언어였던 C로는 불가능한 일이었죠. 게다가 사람들은 1천만 줄의 코드를 요구하는 윈도 플랫폼의 비대함에 싫증을 내고 있었습니다. 이에 그린 프로젝트팀은 객체지향의 새로운 언어인 오크(Oak) 언어를 개발하기에 이르렀습니다. 오크는 모든 전자제품에 적용시킬 수 있는 전천후 언어로 완성단계에 이르렀죠. 따라서 고슬링은 오크를 기반으로 상품 개발을 추진했습니다. 그는 인터랙티브 TV에 탑재해 비디오와 오디오를 통제할 수 있는 작은 액정 콘트롤러를 제작했는데요. 이 제품이 바로 PDA의 원형이 됐습니다.
하지만 이 계획은 안타깝게도 무산되고 말았는데요. 이 아이디어가 나온 20여 년 전만 하더라도 가전제품용 메모리나 컴퓨터 칩은 이러한 프로그램을 구동할 성능을 갖추지 못했기 때문이었습니다. 그때 마침 팀 버너스 리가 개발한 월드 와이드 웹이 선풍적인 인기를 끌기 시작했고 제임스 고슬링은 웹이 널리 알려지기 시작한 1993년부터 지금까지 개발해온 프로그래밍 언어가 월드 와이드 웹용 개발 언어인 HTML의 정적인 부분을 보완할 수 있으리라 판단, 이를 웹과 결합하는 방법을 모색하기 시작했습니다.
▲ 1995년 당시 제임스 고슬링의 모습
그 후 그린 프로젝트는 자바 프로젝트로 새출발을 하게 됩니다. 고슬링은 오크 언어를 웹에 적용시킬 수 있는 코드작업을 맡았고 노턴은 이 코드를 인터넷상에서 컴파일 할 수 있는 킬러 앱(Killer-App)을 제작했죠. 그 결과 고슬링의 코드는 ‘자바’라는 이름으로, 노턴의 킬러 앱은 ‘핫자바’라는 이름으로 완성되기에 이릅니다.
당시 등장한 자바의 모토는 ‘WORA(Write Once, Run Anywhere)’였습니다. 즉 개발 코드를 한 번만 작성하면 어떠한 플랫폼에서든 쓸 수 있다는 의미인데요. 일반적으로 소프트웨어는 운영체제가 다르면 서로 호환할 수 없도록 되어 있죠. 예를 들어 유닉스에서 만든 프로그램은 다른 OS에서 돌릴 수 없기 때문에 새롭게 변형해야 하는 어려움을 안고 있었습니다. 제임스 고슬링은 이러한 문제를 가상 머신(JVM)을 활용하는 방법으로 해결했는데요. 자바는 각 OS마다 프로그램이 똑같이 동작할 수 있도록 OS와 프로그램 사이의 중계 구실을 하는 가상머신(Virtual Machine)을 만들어 이를 해결했습니다. 즉, 운영체제에 자바 가상 머신만 설치돼 있으면 어떤 웹 브라우저에서든 '자바 애플릿(자바 기반 웹 브라우저 플러그인)'을 불러와 프로그램을 실행할 수 있는 것이죠.
▲ 자바를 기반으로 한 게임 ‘마인크래프트’ / 출처 : Mojang (https://mojang.com/)
이후 자바(Java)는 세계에서 가장 널리 쓰이는 프로그래밍 언어가 되었습니다. 간단한 PC용 소프트웨어나 게임, 웹 애플리케이션은 물론, CRM, ERP, SCM 등의 기업용 애플리케이션을 만드는 SI(시스템 구축) 작업에 많이 쓰이고 있는데요. 게임의 경우 모장(Mojang)이 만든 마인크래프트(Minecraft)가 자바 플랫폼에서 작동하는 대표적인 사례이죠. 안드로이드 스마트폰 앱 개발도 대부분 자바를 통해 이뤄지고 있습니다.
또한, 오라클이 밝힌 바로는 전세계 1억 2,500만 대의 TV, 30억 대의 휴대폰에 쓰이고 있으며, 블루레이 디스크에 나타나는 대화형 메뉴 창은 대부분이 자바로 개발됐다고 하는데요. 이쯤 되면 자바는 오늘날 우리 주변 어디에나 존재한다고 해도 과언이 아니겠죠!
★ 여기서 잠깐! ‘자바(JAVA)’라는 명칭의 유래는?
이 명의 설은 다양합니다. 그가 프로젝트 명을 생각하던 중 책상에 놓인 자바산 커피가 마침 눈에 들어왔다는 설이 있고, 썬 마이크로시스템즈가 프로젝트 명을 정하기 위해 관계자들을 두고 마라톤 회의를 진행하며 특정 질문에 연상되는 단어를 떠올리게 했을 때 자바산 커피라는 단어가 언급되어 이를 택했다는 설도 있습니다.
여기서 공통적으로 포함되는 내용은 바로 ‘자바산 커피’인데요. 실제로 제임스 고슬링은 평소 커피의 애호가이며 특히 인도네시아 자바산 커피를 즐겨 마시는 것으로 유명합니다. 자바의 로고가 커피잔과 접시로 이뤄졌다는 점을 유추해봤을 때 자바산 커피에서 프로젝트 이름을 따왔을 것이라는 설이 가장 유력하죠!
세계 최고의 프로그래머 제임스 고슬링의 경력을 보면, 1984년도부터 2010년까지는 썬 마이크로시스템즈의 최고기술책임자(CTO)이자 특별연구원으로 활동했었습니다. 이후 2010년 4월 오라클에 썬 마이크로시스템즈가 인수합병되면서 오라클 클라이언트 소프트웨어그룹 최고기술책임자(CTO)로도 일했는데요. 그러다가 2011년 구글에 입사, 5개월만에 구글을 다시 떠나게 됩니다. 그리고 현재까지 '리퀴드 로보틱스'라는 신생기업에서 활동하고 있습니다. 리퀴드 로보틱스는 해수면의 수온과 파고, 해양 생물들의 소리 등의 데이터를 수집하는 로봇을 만들어 내는 회사죠.
출처 : www.macg.co
제임스 고슬링이 구글을 떠나 리퀴드 로보틱스로 가면서 했던 말은, "재미있는 곳이어야 한다는 점이 중요하다. 리퀴드 로보틱스는 현재의 시스템도 좋지만 좀 더 발전시킬만한 여지가 많다"는 것이었습니다. 이러한 그의 말에서 생각해보면 그는 인생을 즐기고 일에 대한 열정으로 새로운 것에 도전하는 것을 즐기는 듯한데요. 제임스 고슬링은 늘 말합니다. “새로운 일에 도전하는 것을 두려워하지 말고, 실패에 상관없이 계속 도전해야 한다”고 말이죠. 현존하는 최고의 프로그래머의 이러한 행보는 평소 그의 말을 몸소 실천하고 있는 것이라 더욱 많은 사람들에게 공감을 얻고 있는데요. 이러한 그의 행보와 업적을 존경하는 개발자들에게 인터뷰를 통해 다음과 같은 말을 전하기도 했습니다.
“우선 많이 공부하세요. 저도 굉장히 오랜 시간을 학교에서 보냈으며 그곳에서도 수많은 프로젝트를 진행했습니다. 이러한 활동을 통해 기반을 쌓은 것이 중요하죠. (중략) 여러분도 아시다시피 사람들은 성공한 프로젝트만을 기억합니다. 하지만 저도 JAVA를 내놓기 전 많은 프로젝트를 거치며 실패를 거듭했습니다. 그러나 중요한 것은 실패를 하더라도 시도를 해보는 것이라 생각해요. 실패가 없이는 성공도 없으니까요.”
새로운 것에 도전하는 것을 두려워하지 말고 실패를 하더라도, 그를 바탕으로 또 다른 성공기반을 만들어 갈 수 있다고 말하는 제임스 고슬링의 말에서 우리는 도전의 가치에 대해 다시금 생각해볼 수 있는데요. 실패를 두려워하기 보다는 도전에서 얻게 되는 경험과 노하우에 대한 가치에 집중하는 것이 지금의 우리에게 더욱 필요한 태도가 아닐까 싶습니다.
“내가 하려는 일이 물리학의 발전에 얼마나 기여하는가는 중요치 않다. 문제는 그 일이 얼마나 즐겁고 재미있느냐다.” 리처드 파인만의 이 말처럼 그는 평생 스스로 즐거운 일을 찾아 자신만의 방식대로 실행해나갔습니다. 파인만은 자신의 연구 결과가 물리학계에서 어떤 중요한 위치를 차지하게 될 지, 그리고 그것이 자신의 명성에 어떤 영향을 줄 지에 대해 전혀 고려하지 않았는데요. 혹여나 주변 사람이 ‘그게 물리학에 어떤 중요성이 있는 거지?’라고 물어보면 파인만은 그저 ‘재미있잖아!’라고 답할 뿐이었다고 합니다. 이러한 파인만의 모습이야말로 학자 파인만의 업적과 인간 파인만의 매력을 모두 빛나게 한 원동력이 아닐까 싶은데요. 그저 좋아하는 일을 진정으로 즐기며, 몰두하는 그의 태도는 지금의 우리에게도 필요한 태도가 아닐까요?