Etc

[IT열쇳말] 젯브레인

OSS 2016-07-29 17:45:26 3348
2016

2016년 7월 29일 (금)

ⓒ 블로터닷넷, 이지현 기자 jihyun@bloter.net



전 세계 개발자들이 즐겨 사용하는 통합 개발 환경(Integrated Development Environment, IDE)은 어떤 것이 있을까? 많은 개발자들이 마이크로소프트(MS)의 ‘비주얼 스튜디오’나 이클립스 재단의 ‘이클립스 IDE’를 꼽을 것이다. 아직 점유율 1등에 오르진 못했지만, 두 제품 못지 않게 성장하고 있는 IDE가 있다. 젯브레인(JetBrains)이 만든 오픈소스 IDE ‘인텔리J IDEA’다. 동유럽 IT 업계 강자로 자리잡은 젯브레인은 최근 프로그래밍 언어까지 새로 만들면서 개발자들로부터 많은 관심을 받고 있다.


Navercast_Jetbrains_01_Logo

▲젯브레인 로고(사진출처:젯프레인 홈페이지)

프라하의 ‘이클립스’


젯브레인은 체코 프라하에 본사를 둔, 직원 580명 규모의 중견 기업이다. 글로벌 IT 기업이 주로 영미권에서 활동한 것과 달리 젯브레인은 체코, 러시아, 독일에서 기반을 닦고 있다. 설립자와 CEO 등 주요 임원들은 러시아와 체코, 독일에 거주하고 있으며, 현재 지사는 프라하 외에 러시아 상트페테르부르크, 모스크바, 독일 뮌헨, 미국 보스턴에 자리 잡고 있다.


젯브레인은 2000년 세르게이 드미트리에프(Sergey Dmitriev), 발렌틴 키피아트코브(Valentin Kipiatkov), 유진 벨랴예프 (Eugene Belyaev) 등 3명의 러시아 개발자가 설립했다. 이 중 유진 벨랴예프 설립자는 최근 젯브레인을 떠나 새로운 IT 기업을 설립했으며, 나머지 2명은 여전히 젯브레인에 소속돼 있다. 세 사람은 처음에 투게더소프트라는 소프트웨어 업체에서 만났다고 한다. 자바 관련 기술을 개발하던 이들은 더 나은 개발도구를 꿈꿨다. 그리하여 나온 게 ‘똑똑하게(intelligent)’ 자바 코드를 리팩토링(refactoring) 할 수 있는 ‘인텔리J 리네이머’였다. 향후 IDE인 ‘인텔리J 아이디어(IDEA)’를 공개하며 큰 성장을 이뤄냈다.


>Navercast_Jetbrains_02_founders

▲젯브레인 설립자들. 세르게이 드미트리에프, 발렌틴 키피아트코브, 유진 벨랴예프(왼쪽부터) <출처: 젯브레인(왼쪽&가운데), 링크드인(오른쪽)>


인텔리J IDEA는 2002년 프로그래밍 업계의 아카데미 시상식이라고 불리는 ‘졸트 어워드(Jolt Award)’ 생산성 도구 분야에서 수상을 했다. 이듬해인 2003년에는 전 세계 최대 규모의 자바 개발자 행사인 ‘자바원(JavaOne)’에서도 비슷한 상을 수상했다. 그만큼 자바 업계에서 인텔리J IDEA에 대한 관심은 뜨겁다. 한 설문조사에 따르면, 인텔리J IDEA는 이클립스 다음으로 자바 개발자들이 많이 사용하는 도구로 나타났다.


Navercast_Jetbrains_03_stat_IDE

▲자바 IDE 시장점유율(2012년) <출처: 아이레벨랩스(iREBELLABS)>


자바부터 파이썬, 협업도구까지


Navercast_Jetbrains_05_Drive_to_develop

▲젯브레인은 ‘개발자 인체공학적’ 제품 설계를 추구한다. <출처: 젯브레인 블로그>

젯브레인은 내부 제품을 소개할 때 ‘개발자 인체공학적(Developer ergonomics)인 IDE’라는 표현을 사용한다. 개발자들이 평소 필요로 하는 기능과 디자인을 제품에 녹여내고 있다는 뜻이다. 예를 들어 일반적인 코드 자동완성 기능은 관련된 클래스, 필드, 메소드 이름을 전부 보여주지만, 인텔리J IDEA는 현재 개발자가 작업하고 있는 코드의 문맥을 이해하고 이와 관련된 단어만 제공한다. 또한 자바뿐만 아니라 SQL, JPQL, HTML, 자바스크립트 같은 타 언어 문법을 이해하고 이와 관련된 기능을 추천해주며, 반복작업은 자동화해 개발자가 큰 그림에 집중하도록 돕는다. 다양한 단축키와 검색 기능을 제공하는 건 기본이다.


Navercast_Jetbrains_07_intelliJ

▲2016년 3월 공개된 ‘인텔리J IDEA’ 2016.1버전 <출처: 젯브레인 블로그>


2009년 젯브레인은 중요한 결정 하나를 발표했다. 핵심 기술이었던 인텔리J 관련 플랫폼을 오픈소스 기술로 전환하겠다는 소식이었다. 젯브레인은 공식 포럼을 통해 “많은 사람들이 비용 문제로 좋은 개발도구를 사용하지 못하고 있다”라며 “인텔리J IDEA가 더 많이 성장했으면 하는 바람으로 오픈소스 기술로 전환했다”라고 설명했다. 또한 “소스코드를 공개해 서드파티 라이브러리 같은 관련 생태계가 발전했으면 좋겠다”라는 뜻도 밝혔다. 2009년 이후 인텔리J 플랫폼은 무료로 이용할 수 있는 커뮤니티 버전과 유료 제품인 얼티메이트 버전으로 나눠 제공되고 있다. 구글은 아예 인텔리J 플랫폼을 기반으로 자체 IDE인 ‘안드로이드 스튜디오’를 만들기도 했다.


자바 개발 도구로 인기를 끌었던 젯브레인은 기술 영역을 부지런히 확장했다. IDE분야에선 PHP, 파이썬, 루비, 자바스크립트, 오브젝티브C, C++, C, SQL, C#을 개발할 수 있는 자체 도구들을 개발했다. 특히 새로운 언어가 막 등장할 때 발 빠르게 개발도구를 내놓아 새로운 실험을 좋아하는 개발자들에게 도움을 주었다. 개발도구 뿐 아니라 해당 언어를 배울 수 있는 안내서나 교육 프로그램도 체계적으로 제공하고 있다. 2014년부터는 아예 학생용 라이선스를 따로 공개했는데, 이 라이선스는 2시간 동안 2만 명이 신청할 정도로 큰 관심을 받았다. 젯브레인 학생용 라이선스를 가장 많이 신청한 나라는 미국이었으며, 한국 학생 신청자 수는 9번째로 많았다.


Navercast_Jetbrains_04_Product_Icons

▲젯브레인이 제공하는 제품 목록 <출처: 젯브레인>

젯브레인은 이외에도 닷넷이나 비주얼 스튜디오를 위한 확장 프로그램과 프로파일러도 특화해 공개했으며, 개발자들의 협업을 돕는 도구도 내놓았다. 이슈를 추적해주는 ‘유트랙(YouTrack)’, 소스코드를 리뷰하고 검색해주는 ‘업소스(Upsource)’ 등이 이에 해당한다.


안드로이드 대안 언어, 코틀린


Navercast_Jetbrains_06_Kotlin

▲코틀린은 자바가상머신(JVM) 과 안드로이드에서 활용할 수 있는 프로그래밍 언어 <출처: 젯브레인 블로그>


최근 젯브레인이 내놓은 프로젝트 가운데 눈에 띄는 것은 단연 ‘코틀린’이다. 2011년 공개된 코틀린은 자바가상머신(JVM) 과 안드로이드에서 활용할 수 있는 프로그래밍 언어다. ‘코틀린’이라는 단어는 러시아 섬 이름에서 따왔다고 한다. 드미트리 제메로프(Dmitry Jemerov) 젯브레인 개발팀장은 <인포월드>와 인터뷰에서 “기존 JVM 언어들을 다 둘러봤지만 어느 하나도 우리 기준에 맞는 언어를 찾기 힘들었다”라며 “대부분 언어에서 기능이 부족했고, ‘스칼라(Scala)’는 좋은 기능들을 가지고 있지만 컴파일 속도가 느린 것이 큰 단점이었다”라고 설명했다.


코틀린은 자바와 함께 이용하는 동시에 자바의 한계를 극복하는 데 주안점을 뒀다. 코틀린은 문법 자체가 간결하다. 코드 길이가 짧은 것만 놓고 좋다 나쁘다 단정할 순 없지만, 코드가 간결해지면 유지보수를 조금 더 편하게 할 수는 있다. 또한 자바는 보통 정해진 원칙을 엄격히 따르면서 쓰는데, 코틀린은 좀 더 다양하게 표현을 확장할 수 있다. ‘Rx’ 같은 함수 프로그래밍을 할 때면 복잡한 람다식을 사용하는 경우가 많은데, 코틀린을 활용하면 람다식을 보다 간편하게 활용할 수 있다. 코틀린은 컴파일 속도가 빠른 편이고 런타임 크기가 작아서 안드로이드에 넣기에도 부담이 적다. 또 자바에선 ‘NULL’값 관련한 오류가 자주 발생하는데, 코틀린에선 ‘NULL’값을 코드에서 없애는 것을 지향한다. 이는 프로그램의 안정성을 높이는 데 보탬이 된다.


Navercast_Jetbrains_08_kotlin_logo-re

▲코틀린 로고 아이콘. 코틀린은 자바 기술과 호환되는 동시에 자바의 한계를 극복하는 기능들을 추가하며 경쟁력을 확보하고 있다. <출처: 젯브레인>


신생언어들은 보통 괜찮은 IDE가 없어 실험할 수 있는 환경이 적지만, 코틀린은 그러한 걱정을 덜 수 있었다. 젯브레인이 IDE 전문기업인 만큼 코틀린 도구나 플러그인(plug-in)을 적극적으로 지원하고 있기 때문이다. 인텔리J에선 자바에서 코틀린으로 코드를 자동 변환할 수 있는 기능도 있다. 얼마 전엔 1.0버전을 공개하며 코틀린 교육 튜토리얼을 IDE에 넣기도 했다.


코틀린이 지금 당장 자바를 대체할 수 있는 언어는 아니다. 잠재력을 가지고 있지만 아직 언어의 성숙도는 낮은 편이다. 실제로 코틀린을 활용해 만든 큰 프로그램 사례는 찾기 어렵다. 이제 막 1.0버전이 나왔기 때문에 향후 언어 문법이 계속 변할 가능성도 높다. 한국의 경우 아직 국내 사용자도 적어, 한글로 된 자료를 찾기가 쉽지 않다.


그럼에도 불구하고 코틀린은 자바 개발자가 쉽게 이해하고 활용할 수 있다는 점에서 지속적인 성장이 기대되는 언어다. 스퀘어 소속이면서 다양한 안드로이드 프로젝트에 참여했던 스타 개발자 제이크 왓슨(Jake Wharton)은 코틀린의 가능성을 외부에 알려 화제를 모으기도 했다. 올해 열린 ‘구글 I/O 2016’ 개발자 컨퍼런스에서도 코틀린과 관련된 세션이 별도로 마련돼 그 활용도에 대해서 활발히 논의됐다.


※ 참고 링크

  • https://www.linkedin.com/in/sergey-dmitriev-05b581
  • https://www.linkedin.com/in/eugene-belyaev-a7468764
  • https://medium.com/@karamoffnikk/rebranding-done-right-the-story-of-jetbrains-61cc915f6074#.vgrhqir40
  • http://www.oracle.com/technetwork/articles/java/breslav-1932170.html
  • http://www.drdobbs.com/joltawards/12th-annual-jolt-and-productivity-awards/184414869?pgno=6
  • http://www.prnewswire.com/news-releases/jetbrains-debuts-new-intellij-idea-at-javaone-71191812.html
  • http://www.jetbrains.org/display/IJOS/FAQ



※ 본 내용은 (주)블로터 앤 미디어(http://www.bloter.net)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 블로터 앤 미디어. 무단전재 및 재배포 금지



[원문출처 : http://www.bloter.net/archives/260665]

맨 위로
맨 위로