
1995년 썬의 제임스 고슬링이 자바를 세상에 공개하며 내건 모토는 “Write once, Run anywhere”였다. 즉 자바로 프로그래밍하고 한번만 컴파일하면 유닉스이건 윈도우이건 어느 플랫폼에서도 재컴파일 없이 바로 실행 가능하게 하는 것인데 당시로는 쉽게 상상이 가지 않을 정도로 컴퓨터 과학계에 ‘충격적인’ 사건이었다. 도대체 소스코드도 아닌 바이너리를 무슨 수로 운영체제도 다르고 CPU도 다른 플랫폼에서 돌릴 수 있다는 말인가. 비밀은 썬이 각 플랫폼마다 자바를 알아 듣는 현지 통역자를 고용해 파견했다는데 있다. 그 통역자의 이름은 바로 ‘자바 가상머신’이다.

당시만 해도 유닉스에서 작성했던 코드를 윈도우로 포팅하는 프로젝트가 많았는데 이게 보통 일이 아니었다. 그런데 애당초 자바로 개발했다면 유닉스에서 돌리다가 서버를 윈도우로 바꾼다고 해도 추가 포팅이 전혀 필요 없게 되는 것이다. 그냥 자바 파일을 디스크에 복사해 윈도우 하드디스크로 옮긴 뒤 실행하기만 하면 되었던 것이다. 자바 만세!
그런데 정작 자바를 “Write once, Run anywhere” 때문에 사용하는 경우는 현재 아예 없어지고 말았다. 반 마이크로소프트(MS) 진영의 새로 발표되는 개발 툴들의 기본 언어가 자바이고 새로 공개되는 그들의 기술도 자바 API로 제공되다 보니 그 툴과 서버를 사용하기 위해서 자바를 사용하게 되는 상황이 와 버린 것이다. 새로운 언어이다 보니 새로운 개념이 포팅되고 편리한 개발 툴과 함께 개발 방법론들이 부차적으로 따라오게 되었는데 결과적으로 그 부차적인 것들 때문에 자바가 간판 걸고 있는 셈이 되어 버렸다.
자바의 체계를 이어 받아 지난 2002년 2월 발표된 MS의 닷넷 역시 비슷한 길을 걷고 있다는 것도 재미있다. C계열로 개발하건 비주얼베이직(VB) 계열로 개발하건 실행 양식을 통일함으로써 서로 번역 없이 서로의 기능을 나누어 쓸 수 있게 하겠다며 등장한 닷넷. 이제부터 C로 만든 부품을 VB에서 가져다 쓰기 위해 덮어 씌워야 했던 지독히도 난해한 COM을 더 이상 익히지 않아도 된다 하니 목줄 풀린 강아지처럼 펄쩍 뛰며 기뻐하지 않을 수 없다. 띠용!
그런데 닷넷 역시 이런 원래 정신은 차츰 사라져가고 새로운 언어이기 때문에 갖게 되는 새로운 개념과 화려한 최신 인터페이스를 가진 개발 툴, 그리고 새로운 개발 방법론을 사용하기 위해 어쩔 수 없이 닷넷을 사용하게 되는 상황이 벌어지고 있다. 윈도우에서 유일하게 남은 개발 툴이 지원하는 언어라고는 닷넷 언어 문법이고, 그 개발 툴이 제공하는 화려한 기능을 사용하기 위해서는 닷넷 체계를 사용하는 수 밖에 없는 것이다.
닷넷의 핵심은 어떤 언어로 개발한 부품도 복잡한 절차 없이 바로 가져다 조립해서 개발할 수 있게 해주는 닷넷 프레임워크이다. 이런 닷넷 프레임워크가 가지는 가장 큰 강점을 보이는 것은 바로 클라이언트 개발이다. MS는 닷넷 보급을 위해 가장 인기 있던 클라이언트 개발 툴인 VB도 버리며 올인했지만, 지지부진한 닷넷의 보급률 중에 그나마 사용되고 있는 곳은 오히려 (웹)서버 쪽이고 보면 MS가 시도한 것들 중에 가장 예상 밖으로 흘러가고 있는 것이 바로 닷넷일 것이다.

이런 부진한 닷넷의 부담을 갖고 지난 2005년 10월 비주얼 스튜디오 2005가 발표되었다. VS 2005가 개발자들을 발기시킬지 아니면 과거 액티브 데스크탑처럼 닷넷이 사라지는 기술이 되도록 바라만 볼 수 밖에 없을 것인지 즐거운 관람거리가 아닐 수 없다.

