[자바 언어의 창조자, 제임스 고슬링(James Gosling). 언어의 간결함과 실용성을 무기로 한 자바는 WWW에 전례없이 강력한 인터렉션 기능을 부여함.]
선 마이크로시스템즈(Sun Microsystems)에서 자바 프로그래밍 언어 공개. 인터넷을 위한 객체 지향 프로그래밍 언어인 자바는 어떤 플랫폼에도 이식될 수 있는 유연함과 실용성으로 WWW 환경에서 가장 인기 있는 프로그래밍 언어로 성장함.
1995년 넷스케이프 브라우저에 탑재되면서 WWW에 첫 선을 보인 자바는 WWW을, 단순한 텍스트와 그래픽을 위한 환경이 아닌, 게임과 퍼즐 같은 상호작용이 가능한 다양하고 역동적인 '컴퓨팅 환경'으로 바꿔 놓음.
자바는 원래 C++를 모델로 태어난 객체 지향 프로그래밍 언어입니다. 그러나 자바는 네트웍 환경에 맞도록 C++보다 훨씬 '간결'하게 개량됐습니다.
네트웍 환경에서는 소프트웨어 조각들이 항상 서로 만나고, 섞이고, 정보를 교환합니다. 기존 네트웍이 없는 컴퓨팅 환경에서 작은 프로그램 버그는 별다른 해를 끼치지 않았으나, 네트웍 환경에서는 이 버그가 다른, 더 많은 컴퓨터로 퍼져 나가면서 엄청난 파괴력을 가져올 수 있습니다. 만일 네트웍 환경에서 C++처럼 복잡하고 세부적인 언어로 프로그래밍을 하다간 수많은 버그와 오류로 낳게 되고, 이를 네트웍에 연결된 다른 수많은 사용자들이 쓰다가는 '재앙'을 불러올 수도 있는 것이죠.
자바는 프로그래밍 과정에 많은 제약과 엄격한 규칙을 두어 프로그래머들이 실수할 수 있는 폭을 크게 좁혀 주었습니다. 또한 자바로 작성된 소스코드가 컴파일 될 때 규칙에서 벗어나는 부분을 자동으로 지적해, 컴퓨터에 프로그램이 실행되기 전에 모든 오류나 실수를 다시 점검하도록 했습니다. 또한 C 언어와는 달리, 자바는 메모리를 자동으로 관리해 주는 자동화 툴과, 메모리 공간을 자동으로 확보해 주는 기능이 있어 프로그래머의 부담을 크게 덜어주었습니다. 자바는 모든 데이터와 명령들을 엄격히 정의하고 분류해 미리 규정된 규칙에 따라 서로 맞는 종류끼리만 연동될 수 있도록 했습니다.
C 언어에 익숙한 프로그래머들은 이런 자바의 프로그래밍 환경이 갑갑하다고 느낄 수 밖에 없습니다. C 언어에 비해 '자유도'가 형편없이 떨어지니까요. 하지만 자바는 이렇게 보다 다양하고 복잡한 네트웍 컴퓨팅 환경에서 안전한 소프트웨어를 만들어 낼 수 있도록 많은 배려해 준 언어입니다. 언어의 간결함 때문에 자바는 웹 브라우저를 위한 환경에서 더 빨리, 더 손쉽게, 그리고 더 안전하게 적응한 언어로 많은 사랑을 받고 있습니다.
자바의 또 하나의 특징 중 하나는 유닉스, 매킨토시, 윈도 등 어떤 플랫폼에서도 작동이 가능하다는 점입니다. 자바의 소스코드(.java라는 확장자가 붙음)는 "바이트코드(bytecode: .class라는 확장자가 붙음)"라는 포맷으로 컴파일 돼 "자바 버추얼 머신(Virtual Machine)"이라는 '해석기'에 의해 모든 컴퓨터에서 공통적으로 호환이 되는 것이죠.
브라우저 사용자는 웹 서버로부터 "자바 애플릿(applet)"이라는 조그만 자바 애플리케이션을 다운로드 받아 자신의 컴퓨터에서 자바 프로그램을 실행하게 됩니다.
자바는 기본적으로 다른 CGI 프로그램과 마찬가지로 WWW에서 동적인 웹 페이지를 만들어 주는 언어입니다. 하지만 자바 프로그램은 웹 페이지에 색이나 텍스트의 동적인 변화를 주거나, 브라우저에서 직접 게임, 퍼즐 등 각종 인터렉티브(interactive) 기능을 제공하는 등 기존의 CGI 스크립팅 언어들에 비해 훨씬 강력한 동적 기능들을 제공하죠.
SUN의 프로그래머, 제임스 고슬링(James Gosling)이 개발한 자바는 원래 "컨버전스(convergence)"라는 가전제품 중심의 새로운 컴퓨팅 환경을 공략하기 위해 만들어진 언어였습니다. 1990년, SUN은 미래의 컴퓨팅 환경이 PC나 워크스테이션이 아닌 가정용 전자 제품 중심으로 바뀔 것으로 예상합니다. 당시만 해도, 소니, 샤프와 같은 대규모 전자제품 산업체들은 앞으로 컴퓨터와 가전제품이 서로 통합된 컨버전스 컴퓨팅 환경이 대세가 될 것으로 예상하고 있었죠.
마이크로소프트와 인텔이 독점하는 PC 시장에서 벗어나 새로운 컴퓨팅 환경의 주도권을 쥐기 위해 선은 비밀리에 컨버전스 시대를 위한 기술 개발 프로젝트에 착수합니다. 당시 이 프로젝트의 코드 명은 "그린(Green)"이었습니다. SUN은 그린 프로젝트를 통해 VCR, TV, 냉장고, 전화와 같은 가전기기들을 자유롭게 조종하고, 거기에서 인터넷 및 컴퓨팅 기능까지 수행하는 기술을 개발한다는 계획을 세웁니다.
그린 프로젝트의 소프트웨어 개발을 위해 제임스 고슬링의 주도 아래 "그린토크(GreenTalk)"라는 프로그래밍 언어가 개발되는데, 이 언어가 바로 오늘날 자바의 기원이 됩니다. 그린토크는 개발된 프로그램이 다양한 하드웨어에서 인식되도록 하는 "버추얼 머신(Virtual Machine)" 개념을 도입하는 등 오늘날 자바 프로그래밍 언어의 특징들을 상당 부분 갖추고 있었습니다.
그 뒤로 그린토크는 타임 워너의 I-TV를 위한 셋탑 박스 제작 과정에 도입되는 등 여러 우여곡절을 겪지만 아무런 완제품도 남기지 못합니다. 당시, 그린토크는 고슬링에 의해 "오우크(Oak)"라는 프로그래밍 언어로 개량됩니다.
1994년 넷스케이프가 출시되고 WWW이 대중화되면서, 인터넷은 사용자가 더 많은 것을 통제 권한을 쥘 수 있는 환경으로 바뀝니다. 바로 이때부터 선의 사업 계획은 다시 네트웍과 WWW 환경에 집중됩니다. SUN은 오우크 프로그래밍 언어가 WWW라는 새로운 인터넷 환경에 적합하다는 사실을 깨닫고, 오우크를 인터넷 프로그래밍 언어의 표준으로 만들기 위해 대대적인 지원에 나섭니다. 이때 오우크는 '마케팅에 더 적합한' 이름인 "자바(Java)"로 변경됩니다.
자바는 SUN의 기존 소프트웨어 정책과 마찬가지로 무료 라이센스 정책에 의해 배급됐습니다. 선은 이 무료 보급 정책에 의해 자바를 WWW 프로그래밍 환경의 표준으로 만드는데 성공합니다. 2001년까지 선은 200여 개의 회사와 자바 라이센스 계약을 맺었고, 전세계 수백만 명의 자바 소프트웨어 개발자를 확보하며 자바를 세계적인 WWW 프로그래밍 언어로 만들어 놓습니다.