자바시리즈 1 - java의 탄생과 초기 활용

Taeseon Kim·2023년 4월 3일
1

나는 자바 개발자로 활동하면서 어떤 배경에서 필요성이 대두되었고, 그 필요성과 편의성을 위해 제작되었는지 정리하기보다, 어떻게 사용해야 하는 지 알아보고 정리하는 것에 급급했다.

시리즈를 시작하면서,
기술이 어떤 이유에서 생겼고, 어떤 장점을 가지고 현재에 와 있는지, 그리고 혹시나 내가 더 좋은 방향으로 발전시킬 수 있진 않을 지 알아보기 위해 정리해본다.

OAK의 탄생

자바는 제임스 아서 고슬링이라는 현재까지도 활동중인 개발자에 의해 개발되었다.
이 사람은 sun micro system이라는 기업에 재직 중 '그린 프로젝트'라는 프로젝트에서 냉장고, tv등 가전 제품 내 플랫폼과 독립된 기능을 만들고자 oak라는 언어를 개발했다.

sun micro system은 1982년 설립된 기업으로, 당시 가전제품에 탑재하는 메모리나 컴퓨터 칩은 소프트웨어를 구동할만큼의 성능이 나오지 않는 관계로 oak를 가전제품에 탑재하는 계획은 실패했다.
(sun micro system은 이후 2009년 오라클에 인수가 발표되고, 2010년 합병된다.)

WWW의 탄생

그 무렵 인터넷이 발전하며 www(World Wide Web)라는 정보 공유 공간이 생기게 된다. 현재까지 www는 인터넷과 같은 의미처럼 쓰일 정도로 절대적 위치를 가지고 있는데, www에서 정보를 공유하는 형식은 마크업 언어인 html을 사용한다.

html은 정적이라는 특징이 있다. html만으로 쓰여진 페이지는 그림처럼 변하지 않는다.
따라서 다른 페이지로 옮겨 갈 때, 현재 액자에 걸린 그림을 다른 그림으로 바꾸는 동안 빈 액자인 상태가 존재하듯, 현재 html에서 다음 html로 옮겨갈 때 빈 페이지인 상태가 존재하며, 실제로는 깜빡였다 다음 페이지로 넘어가는 것 처럼 보이게 된다.

현대의 프레임워크, 라이브러리들은 DOM을 조작하여 동적 페이지를 만들 수 있지만, 당시에는 html만으로 조작하는 것이 불가능했다.

드디어 자바의 탄생..!

이를 보완하기 위해 oak를 웹과 결합하고자 하는 움직임이 일어났고, 이를 통해 oak의 플랫폼으로부터 독립이라는 철학을 그대로 가진 자바 1.0이 96년 발표된다.

자바는 서버사이드 비중이 높은 현재와 달리, 초기에는 웹과 어플리케이션 UI가 강조되었다.
앞서 기술했듯, 자바는 oak의 플랫폼 독립적인 언어라는 특징을 가지고 있다. 따라서 웹 상에서 직접 동작하는 것이 아닌 JVM이라는 가상 머신에서 동작한다.

웹과 결합하고자 자바 애플릿이라는 RIA(rich internet application)이 함께 발표된다. RIA란 상호 작용이 가능한 웹 사이트를 제공하기 위한 브라우저 확장 프로그램이다. 개발 시 편의를 위해 IDEA에 여러 플러그인을 설치하는데, 브라우저용 플러그인 정도로 생각해도 좋을 것 같다.

자바 애플릿이 구동하는 방식은,

  1. 자바로 작성한 프로그램을 미리 업로드
  2. html내 applet 태그로 업로드된 프로그램을 불러옴
  3. 브라우저에서 applet 태그가 실행되면 자바 프로그램을 다운로드

다운 받은 프로그램은 브라우저에서 직접 실행되는 것이 아닌, JVM에서 실행된다. 따라서 applet을 실행하려면, JVM을 컴퓨터에 미리 설치해야 했다.

또 다른 분야인 GUI에서도 자바가 활용되었다. awt는 자바가 GUI를 조작할 수 있게 하는 라이브러리이다. 플래시게임이나 건물뿌수기와 같은 게임 등이 awt를 통해 만들어졌다.

자바의 탄생 정리

결론적으로 자바의 탄생에 대해 정리해보자면,

  1. 가전제품에 플랫폼 독립 프로그램을 만들기 위한 oak 탄생
  2. 그 무렵 www가 만들어짐
  3. www에서 정보 공유 형식이 html이 정적인 특징을 가짐.
  4. 이를 보완하기 위해 oak를 활용하여 java 발표

의 순서를 가진다.

profile
공부하여 이해가 된 것만 정리합니다.

0개의 댓글