20년은 강산이 두 번 바뀐 시간이다. 가전 제품 OS 개발 언어였던 자바는 그 세월을 지나고도 건재한 프로그래밍 언어가 됐다. 장혜림 기자 [email protected]

최윤석.JPG

소프트웨어의 질과 인기도를 측정하는 사이트인 티오베 소프트웨어(TIOBE Software)의 ‘프로그래밍 커뮤니티 인덱스’에 따르면 자바는 꾸준히 상위권을 차지하고 있다. 이 지수는 2002년부터 현재까지 언어별 인기도를 나타낸다.

자바의 탄생과 동시에 오라클에 입사한 최윤석 오라클 ISVOEM 사업부 전무는 20년 동안 자리를 지킨 자바의 비결을 ‘방대한 사용 영역’으로 꼽았다. 자바는 서버사이드부터 단말기까지 사용된다.

자바는 용도에 따라 다양한 종류가 있다. 자바의 기본인 자바SE(Standard Edition), 휴대기기에 주로 사용되는 자바ME(Micro Editio), 엔터프라이즈 영역의 자바EE(Enterprise Edition)를 포함해 자바로 동작하는 IC카드에 삽입되는 자바 카드(Java Card)도 있다. 자바가상머신 위에 이런 것들이 거대한 생태계를 이루고 있다.

“자바는 운영체제부터 앱, 미들웨어, 파일시스템을 개발할 수 있는 전방위적인 프로그래밍 언어입니다. 최근 운영체제, 앱, 데이터분석 등 각 영역에 특화한 프로그래밍 언어가 많이 나왔지만 자바만큼 넓은 영역에 사용되는 언어는 없습니다.”

JVM은 자바 SE 7부터 자바판 파이썬(자이썬, Jython), 자바판 루비(J루비), 스몰토크(Smalltalk), php, 스칼라 등을 포용하고 있다. 이 언어로 만든 소프트웨어는 JVM을 이용해 작동 가능하다. 오라클의 ‘그랄앤트러플(Graal and Truffle)’은 스크립트 언어를 자바 위에서 돌릴 수 있다는 콘셉트를 기반으로 진행되는 프로젝트다.

최 전무는 자바 위에서 동작하는 언어가 앞으로 늘어날 것이라고 말했다. 성능 이슈와 같은 모던 프로그래밍 언어가 가진 피처(Feature)들이 이미 자바에 들어가 있기 때문에 중간 과정을 생략할 수 있어서다. 이렇게 플랫폼으로써의 자바는 생태계를 넓혀가고 있다.

“자바 플랫폼은 ‘자바원 2006’에서 오픈소스화됐습니다. 2007년에는 라이선스 이슈가 있는 부분을 제외한 전 부분의 소스 코드를 공개했고요. 이때부터 커뮤니티와 스펙 리더와 표준을 만들게 됐습니다. 2009년엔 자바를 개발한 썬마이크로시스템즈가 오라클에 인수합병 됐고 2010년엔 IBM이 자바 커뮤니티에 참여할 것을 발표하면서 자바 플랫폼의 생태계를 넓히고 선순환 효과를 누리고 있습니다.” 물론 자바 최대 후원그룹 중 하나인 아파치재단은 오라클과의 이견을 좁히지 못하고 자바 커뮤니티 활동에서 탈퇴했다.

자바 플랫폼의 최신 버전은 자바SE 8이다. 2014년 3월 공개됐다. 이 버전은 성능 향상에 초점을 맞췄다. 데이터 처리 요구가 급격히 증가해 중앙처리장치(CPU)를 빠르게 해 프로그램 성능을 향상시키던 시기는 지났다. 대신 동시에 동작하는 복수의 마이크로프로세서를 갖추고 있는 컴퓨터에 의해서 실행되는 처리방식인 병렬처리가 힘을 얻고 있다. 병렬처리는 복수의 처리 장치를 사용해 모든 처리 장치가 하나의 프로그램상의 서로 다른 태스크를 동시에 처리함으로써 처리의 부하를 분담해 처리 속도를 향상시키는 방법이다. 자바 람다가 바로 이를 위해 등장했다.