www.sdnkorea.com 에 기고한 내용입니다.

카멜레온 개발자

부제- 변화, 익숙하지 않은 것들에 대한 두려움

 

허광남

OKJSP.pe.kr 운영자

GS이숍 EC정보팀 재직

 

자바에 대하여

자바가 나온 지 10년이 넘었습니다. 1982년에 처음 베이직으로 프로그램을 짠 이후로 포트란, 어셈블러, C 등의 몇 가지 언어를 거쳐왔는데, 자바에 대한 첫 느낌은 문자열 처리가 C보다 낫기 때문에 좋았습니다.

1999년 취업을 하기 위해 SCJP과정을 거쳤는데, 당시 jdk1.1에서 1.2 버전으로 가면서 Java2라고 명명되고 있는 과정이었습니다. 그래서 제 SCJP 자격증은 버전이 1.1이었죠.

 

2001,2년 무렵 직장 생활 초기에는 웹을 주로 했기 때문에 jdk의 버전에 민감하지 않았습니다. 대신 OKJSP라는개인 사이트를 운영하면서 정보를 공유하다 보니 1.2에서 1.3으로 업그레이드 되면서 안정성이 높아졌다는 것을 간접적으로 알 수 있었습니다.

 

jdk1.3에서 1.4로 가면서 기능이 확장되었습니다. 로깅, XML, NIO API가 대표적이죠. 버전이 올라가면 항상 그렇듯이 버추얼 머신의 성능도 20%정도 향상됩니다.

 

Java5 2004 Tiger라는 이름으로 정식 출시 했습니다. 공교롭게도 지금 한국에서 작은 파란을 일으키고 있는 Mac OS X 10.4 버전과 코드명이 같았고, 같은 해 샌프란시스코의 바로 이웃한 곳에서 같은 시간 오프닝 쇼를 하고 있었습니다. 썬은 모스콘 센터에서 JavaOne 2004로 애플은 그 옆에서 WWDC로 말이죠.

Java5는 언어적인 완성도를 높였습니다. 제네릭(Generics), 어노테이션(Annotation) 등의 문법적인 변화가 가장 두드러졌습니다.

 

하나 더, 버전얘기를 하고 넘어가죠. Java5부터 jdk1.5 또는 Java5 라고 불려지기 때문에 혼동이 되고는 합니다. 제품 버전(Production Version Number) Java 5입니다. 그럼 1.5는 뭐냐하면 말이죠. 개발자 버전(Developer Version Number)입니다.

 

작년 2006 Java6 Mustang이라는 코드명에서 정식으로 출시되었습니다.

우리 말로는 모피코트로 유명한 무스탕이라고 발음하지만 영어식 발음은 머스탱입니다.

Jdk1.5와 비교해서 도구로서의 유용성을 강화하기 위해 Tools & Tool APIs영역에 jconsole을 추가했고, Integreation Libraries Scripting이 추가된 것을 알 수 있습니다.

 

사용자 삽입 이미지
 

내년 2008년에는 코드명 돌핀(Dolphine) 즉 돌고래가 Java7 으로 우리곁에 정식으로 선 보이게 됩니다. https://jdk7.dev.java.net/ 을 통해서 오픈된 상태로 java 7이 만들어지는 모습을 볼 수 있습니다.

 

 

자바 따라잡기

이렇게 열심히 발전하는 자바와 현실과는 괴리감이 없을 수 없습니다. 최근 두 가지 사건이 있었는데, 애플의 신작 OS 레오파드에 jdk1.5버전이 기본으로 들어가 있고, 맥용 jdk1.6은 프리뷰버전으로 개발도 완료가 안된 상태라는 것 하나와 구글이 야심작으로 내 놓는 안드로이드라는 모바일 애플리케이션에 Rjava라 하여 표준인 JME(Java Mobile Edition)와는 다른 버전의 자바를 내놓는 일이었습니다. 물론 위 그림에서 보듯이 제일 상위에 있는 Java Language에 대한 확장 API 세트가 달라지는 것이라 자바 언어 자체에 대한 도전은 아닙니다만, 현실의 자바는 업계의 이해관계와 맞물려서 쉽지 않은 과정을 거쳐가고 있습니다. 기업용 언어였던 코볼의 전성기를 자바가 차지하고 있기 때문에 거쳐야될 성장통이라고 보여집니다.

 

다른 한 가지 양상은 자바 개발자들의 헉헉 거림입니다. 새로운 기능을 써보고 싶은 것은 얼리어댑터의 특성을 가진 프로그래머들의 공통적인 성향입니다. 하지만, 기업내에서 실험적으로 무엇인가를 만들어 내는 일은 쉽지 않습니다. 더군다나 이미 소프트웨어를 통해서 비즈니스가 진행되고 있는데, 업그레이드를 위해서 그것을 바꾼다는 것은 컴퓨터를 모르는 사업주 입장에서는 무한도전이 아닌 무모한 도전입니다. 그렇기 때문에 기술의 발전과 기업 내에서 기술을 담당하는 인력과의 격차는 점점 커져가는 것이지요.

 

지식 산업에서 인력의 기술을 기름짜듯이 뽑아먹으면 짜고 남은 찌개미처럼 버려지게 됩니다. 오히려 사내 세미라든가 구글의 20:80 업무시간 처럼 개인의 발전을 모색할 수 있는 숨통을 열어줘야 합니다. 요즘 가장 좋은 방법으로는 오픈소스 활동이 되겠지요.

 

카멜레온이 몸의 색을 변화시키는 것을 보면 생존을 위해서 참 피곤하게 산다라고 느낄 수도 있습니다만, 그렇기 때문에 카멜레온이라는 단어의 뉘앙스를 만들어 낼 수 있었습니다. 터미네이터2에 나오는 T1000처럼 완벽하게 몸을 바꾸기는 어렵겠지만, 개발 트렌드를 잘 따라갈 수 있는 스터디 모임이나 소규모 자체 프로젝트들을 자주 접하는 것이 좋을 것 같습니다. 회사 탓하고 앉아있으면 옛날 얘기하는 관리자 되기 쉽상입니다.

 

인간의 본성 가운데 익숙하지 않으면 두려움을 느끼게 됩니다. 익숙해지는 방법이 있습니다. 흔히 얘기하죠. “자꾸 해보면 늘어

 

관련

https://jdk7.dev.java.net/  java 7 정보

https://jdk6.dev.java.net/  java 6 정보

 

+ Recent posts