검수요청.png검수요청.png

제임스 고슬링

위키원
이동: 둘러보기, 검색
제임스 고슬링(James Arthur Gosling)
자바(Java)

제임스 고슬링(James Arthur Gosling, 1955년 5월 19일 ~ )은 캐나다의 소프트웨어 개발자이다. 자바(Java) 프로그래밍 언어를 최초 개발하였다. 그는 '자바의 아버지'라 불리며, 가장 영향력 있는 프로그래머들 가운데 한 사람이다. 자바 이외에도 다중 프로세서용 유닉스컴파일러, 메일 시스템, 데이터 인식 시스템 등을 개발하였다.

생애

제임스 고슬링은 캐나다 출신으로, 캐나다 캘거리 대학교를 거쳐 카네기 멜론 대학교에서 박사학위를 밟고 썬 마이크로시스템즈(Sun Microsystems)에 합류했다. 그는 1990년 말 패트릭 노튼(Patrick Naughton), 마이크 셰리던(Mike Sheridan)과 함께 그린프로젝트 팀(Green Project Team)에 배치됐다. 당시 썬 마이크로시스템즈는 어떤 하드웨어 플랫폼에서도 동작하는 객체 지향 운영체제를 원하고 있었다. 그린프로젝트 팀은 객체 지향의 새로운 언어인 오크(Oak)를 개발했다. 오크는 모든 전자제품에 적용시킬 수 있는 전천후 언어로 완성 단계에 이르렀다.

제임스 고슬링은 오크를 기반으로 상품 개발을 추진했다. 양방향TV에 탑재해 비디오와 오디오를 통제할 수 있는 작은 액정 컨트롤러를 제작했다. 그 후 그린프로젝트는 자바 프로젝트로 새 출발을 하게 된다. 고슬링은 오크를 웹에 적용시킬 수 있는 코드 작업을 맡았고 노튼이 코드를 인터넷 상에서 컴파일할 수 있는 킬러 애플리케이션을 제작했다. 그 결과 고슬링의 코드는 자바라는 이름으로, 노튼의 킬러 앱은 핫자바라는 이름으로 완성되었다.

지난 몇 년 동안 마이크로소프트(Microsoft)와 썬 마이크로시스템즈 사이의 지루한 자바 기술 침해에 관한 소송이 진행되기도 했다. 최근 두 회사가 화해하고 손을 잡게 되면서, 이후 두 진영은 상호발전을 위하여 협력하는 분위기이다. 콘퍼런스와 외부행사에서 경쟁사의 제품에 대해 호의적 평가가 나오고 있다. 이후, 썬 마이크로시스템즈가 오라클(Oracle)에 흡수 합병되었고, 고슬링은 오라클의 클라이언트 소프트웨어 그룹 최고기술경영자로 활동하였다. 그리고 지난 2010년 4월 9일 고슬링은 오라클을 떠났으며 2011년에 구글에 입사하였다가 5개월 만에 다시 구글을 떠나 해양정보수집 로봇을 개발하는 벤처기업 리퀴드로보틱스(Liquid Robotics)의 최고 소프트웨어 아키텍트로 자리를 옮겼다.[1] 그리고 2017년 5월 23일에 페이스북을 통해 리퀴드로보틱스를 떠나고 아마존닷컴아마존웹서비스(AWS)에 합류한다고 밝혔다. 그는 아마존웹서비스에서 수석 엔지니어(distinguished engineer)로 근무하고 있다. 디스팅기시드 엔지니어는 기술 분야에서 특별한 성취를 이룩한 인물에게 붙여진다. IT기업 다수가 남다른 업적을 거둔 개발자나 엔지니어를 고용하며 사용하는 직급이다.[2]

경력

약력
  • 1981년 ~ 1982년 : 허미넷(Herminet) 소프트웨어 엔지니어
  • 1983년 ~ 1984년 01월 : 왓슨 리서치 센터(J.Watson Research Center) 기술 직원
  • 1983년 01월 ~ 1984년 08월 : 아이비엠(IBM) 엔지니어
  • 1991년 01월 ~ 1992년 01월 : 썬 마이크로시스템즈(Sun Microsystems) 리드 아키텍트
  • 1992년 ~ 1994년 : 퍼스트펄슨(FirstPerson) 엔지니어
  • 1984년 ~ 2010년 04월 : 썬 마이크로시스템즈(Sun Microsystems) 최고기술경영자
  • 2011년 03월 ~ 2011년 08월 : 구글(Google) 소프트웨어 엔지니어
  • 2003년 ~ 2017년 05월 : 디아이알티티 엔바이로멘탈(DIRTT Environmental) 솔루션 디렉터
  • 2011년 08월 ~ 2017년 05월 : 리퀴드 로보틱스(Liquid Robotics) 최고 소프트웨어 아키텍트
  • 2017년 05월 ~ 현재 : 아마존웹서비스 디스팅기시드 엔지니어[3]
학력
  • 1977년 : 캐나다 캘거리 대학교 (컴퓨터 과학 학사 학위 취득)
  • 1983년 : 카네기 멜론 대학교 (박사 학위 취득)
수상 내역
  • 2002년 : 에이씨엠 소프트웨어 시스템 어워즈(ACM Software System Award, USA) 수상[4]
  • 2002년 : 이코노미스트 어워즈(Economist Innovation Award) 수상
  • 2002년 : 플레임 어워즈(The Flame Award USENIX) 평생공로상 수상
  • 2007년 : 캐나다 훈장(Officer of the Order of Canada) 수상[5]
  • 2013년 : 에이씨엠 펠로우즈(ACM Fellows, USA) 수상[6]
  • 2015년 : 존 폰 노이먼 메달(IEEE John von Neumann Medal) 수상[7][8]
저서
  • 1989년 : The NeWS Book : An Introduction to the Network/Extensible Window System (Sun Technical Reference Library) - 제임스 고슬링, 데이비드 로센달, 미쉘 알든
  • 1996년 : The Java language Environment: A white paper, Sun Microsystems - 제임스 고슬링, 헨리 맥길튼
The Java Application Programming Interface, Volume 1: Core Packages, Addison-Wesley - 제임스 고슬링, 프랭크 옐린
TThe Java Application Programming Interface, Volume 2: Window Toolkit and Applets, Addison-Wesley - 제임스 고슬링, 프랭크 옐린
TThe Java programming language, Addison-Wesley - 켄 아놀드, 제임스 고슬링
TThe Java Language Specification, Addison Wesley Publishing Company - 제임스 고슬링, 빌 조이, 가이 스틸
  • 1997년 : The Java programming language Second Edition, Addison-Wesley - 켄 아놀드, 제임스 고슬링
  • 2000년 : The Java Programming Language, Third Edition, Addison-Wesley Professional - 켄 아놀드, 제임스 고슬링, 데이비드 홈즈
TThe Java Language Specification, Second Edition, Addison-Wesley - 제임스 고슬링, 빌 조이, 가이 스틸, 길라드 브라차
TThe Real-Time Specification for Java, Addison Wesley Longman - 그레고리 볼레라, 벤자민 브로스골, 제임스 고슬링, 피터 디블, 스티브 퓨르, 데이비드 하든, 마크 튠벌
  • 2005년 : The Java Programming Language, Fourth Edition, Addison-Wesley Professional - 켄 아놀드, 제임스 고슬링, 데이비드 홈즈
TThe Java Language Specification, Third Edition, Addison-Wesley Professional - 제임스 고슬링, 빌 조이, 가이 스틸, 길라드 브라차

주요 활동

자바

자바는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다. 1991년 그린 프로젝트라는 이름으로 시작해 1995년에 발표했다. 현재 버전 10까지 출시했다. 제임스 고슬링이 주도하던 프로젝트의 코드명은 오크(Oak) 혹은 프로젝트의 이름을 따서 그린(Green)이라고 불렀으며, 자바라는 이름이 붙은 것은 그 이후다. 제임스 고슬링은 오크를 기반으로 상품 개발을 추진했다. 양방향 텔레비전(Interactive TV)에 탑재해 비디오와 오디오를 통제할 수 있는 작은 액정 컨트롤러(Controller)를 제작했다. 그 후 그린 프로젝트는 자바 프로젝트로 새 출발을 하게 된다. 고슬링은 오크를 에 적용시킬 수 있는 코드 작업을 맡았고 노튼(Naughton)이 코드를 인터넷상에서 컴파일할 수 있는 킬러 애플리케이션을 제작했다. 그 결과 고슬링의 코드는 자바라는 이름으로, 노튼의 킬러 앱은 핫자바라는 이름으로 완성된다.[1]

이 이름의 유래에 관한 설은 다양하다. 그가 프로젝트의 이름을 생각하던 중, 책상에 놓인 자바산 커피가 눈에 들어왔다는 설이 있다. 또 다른 설은 썬 마이크로시스템즈가 프로젝트 이름을 위해 관계자들을 가둬놓고 마라톤 회의를 시키면서 특정 질문에 연상되는 단어를 떠올리게 했을 때 자바산 커피라는 단어가 나와서 이를 선택했다는 소문도 있다. 소문은 이렇게 무성하지만, 공통적으로 포함하는 내용은 역시 자바산 커피다. 실제로 제임스 고슬링은 평소 인도네시아 자바산 커피를 즐겨 마신 것으로 유명하다. 또한, 자바의 로고는 커피잔과 접시로 구성된 것을 봤을 때 자바산 커피에서 프로젝트 이름을 따왔다는 설이 유력하다.[9]

자바의 특징은 일단 프로그램을 작성하면 어떤 플랫폼에서도 실행된다는 의미에서 WORA(Write Once, Run Anywhere)로 요약된다. 이는 기존 프로그램들의 약점을 보완할 수 있는 놀라운 아이디어였다. 컴퓨터 운영체제는 호환이 되지 않기 때문에 예를 들어 유닉스에서 만든 프로그램은 다른 운영체제에서 돌릴 수 없어 새롭게 변형해야 하는 어려움을 안고 있었다. 하지만 자바는 각 운영체제마다 프로그램이 똑같이 동작할 수 있도록 운영체제와 프로그램 사이의 중계 구실을 하는 가상머신을 만들어 이 문제를 해결했다. 원래 자바는 가전기기를 운영하기 위한 프로그래밍 언어로 개발됐다. 하지만 1990년대 초의 상황은 가전기기 따위에 자바를 동작시킬 만한 메모리나 하드웨어 여건이 마련되지 못했다. 하지만 인터넷웹 브라우저 시대가 되면서 자바는 화려하게 부상했고, 전 세계 프로그래머들 사이에 급속도로 확산될 수 있었다. 아이러니한 사실은 10여 년이 흐른 최근에야 휴대전화나 티브이 셋톱박스, 심지어 화성 탐사용 로봇에도 자바로 만든 프로그램이 탑재돼 자바의 원래 소원을 이루게 된 것이다.[1]

자바 언어는 다음 5가지의 핵심 목표를 지니고 있다.

  • 객체 지향 방법론을 사용해야 한다.
  • 같은 프로그램(바이트코드)이 여러 운영 체제(마이크로프로세서)에서 실행될 수 있어야 한다.
  • 컴퓨터 네트워크 접근 기능이 기본으로 탑재되어 있어야 한다.
  • 원격 코드를 안전하게 실행할 수 있어야 한다.
  • 다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기 편해야 한다.

자바는 초기 설계부터 객체 지향 언어(객체 지향 프로그래밍)로 설계되었다. CC++로 진화한 것과는 차이가 있다. 그리고 같은 코드로 어떤 마이크로프로세서에서나 실행되기를 원했다. 따라서 자바만의 실행 코드인 바이트코드라는 중간 코드를 컴파일러에 의해 생성한다. 그리고 자바 가상머신(JVM)에 의해 해석되어 실행된다. 따라서 C/C++ 코드로 작성되어 생성된 코드보다 일대일 상황이면 실행 속도가 느리다. 그러나 장점은 같은 코드로 다양한 플랫폼이나 운영체제에서 실행될 수 있다는 점이다.[10]

구글

제임스 고슬링이 오라클에서 사퇴하고 선택한 새로운 직장은 구글이었다. 수년 간 구글은 자사의 인프라를 지원하기 위해 셀 수 없이 많은 툴과 기술들을 개발해 왔다. 그런 툴 중 하나가 쏘우잴(Sawzall)이라 불리는 프로그래밍 언어로, 구글의 직원인 롭 파이크(Robert Pike)와 로버트 그리즈머(Robert Griesemer)가 개발했다. 구글은 이를 서버 로그와 같은 대규모 데이터 셋을 내부적으로 분석하는데 사용하고 있다. 최근에는, 파이크와 그리즈머가 켄 톰프슨(Kenneth Lane Thompson)과 힘을 합쳐 구글의 새로운 프로그래밍 언어인 (Go)를 개발했다. 고는 개발자들이 병렬 처리 소프트웨어를 좀 더 쉽게 작성할 수 있도록 새로운 프로그래밍 패러다임의 도입을 목적으로 삼고 있다. 그럼에도 아직 자바가 C 언어의 뒤를 이었다고 여겨지는 것과 같은 맥락에서, 고 언어 역시 포스트 자바 언어로 고려될 가능성이 크다. 심지어 그리즈머는 이전에 자바 핫스팟 가상머신(Java HotSpot VM)을 위한 컴파일러를 연구했었다. 고슬링은 잠재적으로 이 프로젝트에 아주 많은 것을 제공할 수 있을 것이다. 또 다른 그럴듯한 후보는 안드로이드이다. 모바일 기기들은 오랫동안 썬의 자바 전략에 있어서 핵심을 차지해 왔다 오라클의 수치에 따르면 30억 대의 휴대폰이 자바를 실행하고 있다. 그리고 고슬링은 모바일과 임베디드 장비들과 관련된 자바 프로젝트에 직접적으로 관여해 왔다. 무엇보다도 오라클을 떠난 이후로 고슬링은 아우디 TTS의 제어 시스템 개발을 도왔다. 의심할 여지없이 구글의 자바 기반 모바일 운영체제를 만드는 것과 관련된 경험을 충분히 가지고 있다.[11]

각주

  1. 1.0 1.1 1.2 제임스 고슬링 위키백과 - https://ko.wikipedia.org/wiki/%EC%A0%9C%EC%9E%84%EC%8A%A4_%EA%B3%A0%EC%8A%AC%EB%A7%81
  2. 김우용 기자, 〈자바의 아버지 '제임스 고슬링' 아마존웹서비스(AWS) 입사〉, 《지디넷코리아》, 2017-05-23
  3. 제임스 고슬링 링크드인 - https://www.linkedin.com/in/jamesgosling/
  4. 강력한 영향력을 미치는 소프트웨어 시스템을 개발한 개발자에게 부여한다. 아이피엠(IBM)에서 후원하는 상금은 35,000달러이다.
  5. 캐나다 훈장의 3가지 등급 중 두 번째에 해당하는 장교 등급을 수상했다.
  6. 에이씨엠(Association for Computing Machinery) 단체에서 부여하는 것으로, 자유로운 아이디어 교환 활동을 촉진시킨 인물에게 부여한다.
  7. 제임스 고슬링 나무위키 - https://namu.wiki/w/%EC%A0%9C%EC%9E%84%EC%8A%A4%20%EA%B3%A0%EC%8A%AC%EB%A7%81
  8. James Gosling Wikipedia - https://en.wikipedia.org/wiki/James_Gosling#Honors
  9. 이상우 기자, 〈자바의 아버지, 제임스 고슬링〉, 《아이티동아》, 2015-04-10
  10. 자바 위키백과 - https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)
  11. Neil McAllister 기자, 〈구글에 간 제제임스 고슬링에게 기대해야 할 것〉, 《아이티월드》, 2011-04-04

참고 자료

같이 보기


  검수요청.png검수요청.png 이 제임스 고슬링 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.