[JAVA] 01. 자바란

2023. 1. 27. 12:10· IT/JAVA
목차
  1. 자바(JAVA)란
  2. 오크(Oak)
  3. 자바(JAVA)의 탄생
  4. 자바(JAVA)의 성장
  5. 제임스 고슬링
  6. 마치며

자바(JAVA)란

자바(JAVA) 언어는 IT 개발을 접하게 되면 가장 많이 소개되고 알려진 언어입니다.

자바(JAVA)라는 이 언어는 어떻게 해서 많은 IT 개발자들이 이용하게 되었는지 이제부터 천천히 알아보도록 하겠습니다.
우선 자바를 알아보기 전에 오크(Oak)에 대해서 알아보도록 하겠습니다. 왜냐하면 자바라는 프로그래밍 언어는 바로 오크(Oak)에서부터 시작되었기 때문이죠.

 

오크(Oak)

1985년에 썬 마이크로시스템즈(Sun Microsystems)라는 회사는 소위말하는 대박 아이템을 찾기 위해 고민을 하고 있었습니다. 그러던 중 새로운 기기를 동작시키기 위한 개발을 진행하고 있었습니다. (여러 글들에는 이 기기를 차세대 기기 또는 가전용제품 등이라 기술하고 있습니다.)

[그림1] 썬 마이크로시스템즈 로고

이후 후술하게 될 제임스 고슬링(James Arthur Gosling)을 포함한 썬 마이크로시스템즈의 개발자들은 처음에 C++을 이용해서 제품 개발에 착수했습니다. 그러나 C++을 이용한 개발은 팀이 생각하는 기술을 담아내기에는 역부족이었고, 팀은 C++을 포기하고 새로운 언어와 플랫폼을 만들기로 결정하게 됩니다.

그렇게 7년이라는 시간이 흐른 1992년이 되고 썬 마이크로시스템즈의 개발자들은 Green이라는 플랫폼과 이 플랫폼을 구축한 여러 라이브러리와 하드웨어, 그리고 이 모든 플랫폼은 Oak라는 이름의 지금까지는 존재하지 않던 새로운 프로그래밍 언어가 세상밖으로 등장하게 되었습니다.  그리고 같은 해 Green 플랫폼을 통해 함께 태어난 Duke라는 귀여운 마스코트도 이때 생겨나게 됩니다. 

[그림2] 듀크(Duke)

그렇게 새로운 프로그래밍 언어와 플랫폼, 그리고 귀여운 마스코트와 함께 썬 마이크로시스템즈는 본격적인 '대박'의 꿈을 향해 나아가려고 했습니다. 그러던 중 1994년 개발팀은 Oak라는 이름은 이미 'Oak Technology'라는 회사에서 이미 해당 이름을 상표권으로 등록했음을 확인하게 되었고, 개발팀은 고민 끝에 Oak라는 이름을 포기하기로 결정하게 됩니다.

 

자바(JAVA)의 탄생

1994년. 썬 마이크로시스템즈는 Oak라는 이름을 포기하게 됩니다. 
그리고 그들이 만든 Oak 프로그래밍 언어를 다듬는 과정을 거치게 되고 이윽고 1996년, Oak 프로그래밍 언어는 JAVA 1.0으로 공식 출시하게 됩니다. 

[그림3] JAVA

JAVA라는 이름은 자바섬에서 생산한 커피의 이름을 참고하여 만들어졌다고 합니다. 그러다 보니 우리가 JAVA를 검색하다 보면 JAVA라는 글자에는 항상 따뜻한 김이 올라오는 커피잔이 그려져 있습니다.
(개인적으로 저의 경우 야근을 하고 있노라면 옆에는 항상 먹었던 커피와 먹고 있는 커피가 놓여져 있기에 아마 이들의 삶도 커피와 함께 하지 않았을까 싶습니다.)

이렇게 로고도 멋지게 바꾸고, 이름도 바꾸고 출시된 자바(JAVA)는 처음에는 많은 개발자들이 찾지 않았던 프로그래밍 언어였습니다. 그 이유는 당시 프로그램은 자원의 효율적인 사용 및 반납이 무엇보다 중요했던 시기였기 때문입니다. 

[그림4] 199년대의 PC 스펙

위의 사진을 보면 '자원의 효율적 사용'에 대한 중요도가 얼마나 큰지 알 수 있으실 겁니다.
요즘같은 시대에서는 상상하기 힘든 HDD는 250MB(250GB 아닙니다), FDD(플로피디스켓)은 2개 장착 가능, RAM은 4MB(4GB 아닙니다) 정도였기 때문이고, 이 정도의 사양의 PC의 가격은 138만 원이라니.. 지금 생각해 보면 하드웨어의 스펙이 얼마나 빠르게 성장했는지 상상이 되시겠죠?

이러한 PC 스펙은 프로그래밍에서도 많은 영향을 끼치게 됩니다. 변수 1개를 선언하더라도 꼭 필요한 크기만큼 선언해야 하며 많은 쓰레드를 실행시키는 것에도 주의를 요했습니다. 이러한 환경 속에서 자바(JAVA) 언어는 많은 메모리와 CPU를 사용하는, 그야말로 '자원의 효율적 사용'에 반대되는 언어였습니다.

꼭 '자원의 효율적 사용' 1가지 키워드 때문에 자바(JAVA)언어가 시장에서 외면받은 것은 아니지만 당시의 하드웨어 스펙을 생각해 보면 이 1가지 이유는 결코 사소한 이유라고 보기에는 힘들지 않았을까 생각됩니다. (자원의 효율적 사용이라는 측면에서 봤을 때 당시엔는 C++ 언어가 많은 주목을 받았던 시대이지 않았나 싶습니다.)

 

자바(JAVA)의 성장

자바(JAVA)언어보다 C++언어가 여전히 인기가 있었을 당시였지만 기술을 여전히 발전에 발전을 거듭하고 있었습니다. 이러한 시대의 흐름 속에 시간은 자바(JAVA) 언어가 꽃을 피우기에 적당한 환경을 조성해나가고 있었습니다. 

1990년 후반, 하드웨어 스펙은 눈에 띄게 향상되기 시작했습니다. 올해 산 PC보다 내년에 산 PC가 성능면에서 눈에 띄게 향상되었음을 알 수 있었고 개인 PC의 수요가 증가함에 따라 개인 PC 1대당 가격도 점차 내려가기 시작했습니다. 그리고 '인터넷'이 본격적으로 활성화되기 시작했던 시기도 바로 이때였습니다. 

[그림5] 초창기 NAVER 사이트의 모습

집집마다 고성능의 PC가 놓여지고, 우리나라의 경우 모뎀을 지나 ADSL, VDSL 등의 초고속 인터넷이 전국에 설치되기 시작했습니다. 다양한 사람들이 인터넷이라는 공간 속에서 활동하고 소통하기 시작하던 그 시기에 자바(JAVA)는 본격적인 성장을 하기 시작했습니다. 

하드웨어의 스펙이 올라가면서 개발자들은 이전처럼 '자원의 효율성'에 대해 매우 민감하게 대응하지 않아도 시스템을 운영함에 있어 큰 리스크가 발생하지 않게 되었습니다. (물론 자원의 효율성을 지금도 중요합니다!)

여기까지는 자바(JAVA)와 C++간의 큰 차이점은 없습니다만, 인터넷이라는 공간을 커버하기에는 C++언어는 한계성이 있었습니다. 그 이유는 자바(JAVA) 언어의 가장 큰 특징은 단 1번만 프로그래밍 코드를 작성하면 서로 다른 환경을 가진 서버, 운영체제 상관없이 자바(JAVA) 언어는 실행에 있어 장애가 없었지만 C++은 이러한 특징을 커버하기에는 다소 아쉬움이 존재했습니다. 

바로 이러한 자바(JAVA)의 높은 이식성 덕분에 자바(JAVA) 언어는 인터넷 활성화에 가장 큰 수혜를 받은 언어로써 지금까지도 자리 잡고 많은 개발자들에게 사랑받는 언어가 되었습니다.

 

제임스 고슬링

1985년의 썬 마이크로시스템즈부터 지금에 이르기까지, Oak에서 Java에 이르기까지 긴 시간 동안 Java언어와 함께한 사람이 있으니 그 이름은 바로 제임스 고슬링입니다. 

[그림6] 제임스 아서 고슬링 (James Arthur Gosling)

제임스 고슬링은 소위 자바의 아버지라 불리는 인물로서 Java의 시작부터 함께한 인물이라고 할 수 있습니다.
(개인적으로 제임스 고슬링 덕분에 먹고 살고 있어서 감사해하고 있는 1인 ㅇㅅㅇ)

제임스 고슬링은 전세계에 가장 영향력 있는 개발자 중에 한 명으로 많은 개발자들의 구루 역할을 하고 있고 여전히 현역에서 활동하시는 분입니다. 1955년생이신데 여전히 현역이라는 점이 참 대단하고 존경스럽다는 생각이 듭니다. 
간간이 트위터를 통해 소식을 전하고 있으니 관심이 있으신 분들은 참고해 주시면 감사하겠습니다.

 

마치며

지금까지 자바(JAVA)언어에 기본적인 이야기를 담아봤습니다. 개인적으로 이번 글을 작성하면서 저도 몰랐던 자바(JAVA)의 역사에 대해서 알게 돼서 많은 공부가 되었습니다.

자바(JAVA)는 곧 30여년을 향해 달려가는 오래된 언어입니다. 30여 년이라는 시간이 지나면서 다양한 언어들이 시장에 나왔고, 파이썬과 같은 언어의 경우 가장 많은 개발자들이 배우고 사용하는 언어로 자리 잡기도 했습니다.그만큼 30여년이라는 시간은 IT 생태계의 많은 부분을 변화시켜 왔습니다.

30여년을 향해 달려가는 오래된 언어인 자바(JAVA)우리는 자바(JAVA) 언어를 더는 배울 필요 없는 소위 말해 노땅 언어일까요? 이제 우리는 핫한 언어를 찾아가고 공부해야 하는 것이 정답일까요?개인적으로 생각하는 프로그래밍 언어는 어느 특정 언어가 최고라고 생각하진 않습니다. 다만, 저는 '나는 어떤 서비스를 개발하고 싶은지를 생각하고 그에 가장 잘 맞는 언어를 선택하면 될 뿐'이라는 생각을 가지고 있습니다.이 글을 읽는 분들은 부디 이 언어가 가장 핫하니깐 난 이 언어를 배울 거고 이 언어는 이제 후졌으니깐 배울 필요 없다는 그 생각만큼은 가지지 않으셨으면 좋겠습니다.

개인적으로 저의 첫 언어는 C언어였지만, 저를 먹고살게 해 준 언어는 자바(JAVA)입니다. 그렇기에 개인적으로 자바(JAVA)라는 언어에 대한 애착이 큰 것도 사실이지만 저 역시 무턱대고 자바(JAVA)라는 언어가 최고라는 생각을 가지고 있진 않습니다. 그러나 첫 프로그래밍 언어를 배우고자 할 때 여러 언어들 중 자바(JAVA)라는 언어 역시 여전히 매력적이고 여전히 괜찮은 은 언어라고 감히 말씀드리고 싶습니다. ^^

요즘같이 영상으로 정보를 접하는 시대 속에서 이렇게나 길고도 긴 글을 읽어주셔셔 감사드립니다 ^^

'IT > JAVA' 카테고리의 다른 글

[JAVA] 06. 자바(JAVA) JDK 설치 - Open JDK 설치 (Temurin JDK)  (1) 2023.02.24
[JAVA] 05. Oracle JDK 설치  (3) 2023.02.22
[JAVA] 04. 자바(JAVA) 용어 정리 - JVM, JRE, JDK  (0) 2023.02.20
[JAVA] 03. 자바의 5가지 특징  (0) 2023.02.16
[JAVA] 02. 자바의 유료화  (1) 2023.02.06
  1. 자바(JAVA)란
  2. 오크(Oak)
  3. 자바(JAVA)의 탄생
  4. 자바(JAVA)의 성장
  5. 제임스 고슬링
  6. 마치며
'IT/JAVA' 카테고리의 다른 글
  • [JAVA] 05. Oracle JDK 설치
  • [JAVA] 04. 자바(JAVA) 용어 정리 - JVM, JRE, JDK
  • [JAVA] 03. 자바의 5가지 특징
  • [JAVA] 02. 자바의 유료화
하비투게더
하비투게더
하비투게더하비투게더 님의 블로그입니다.
하비투게더
하비투게더
하비투게더
전체
오늘
어제
  • 분류 전체보기 (87)
    • IT (8)
      • JAVA (7)
      • 일반정보 (1)
    • 다꾸 (8)
    • 커피 (55)
    • 티스토리 (2)
    • 생각 (14)
      • 책 (11)
      • 임신 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • BARISTA CREATIONS
  • 바리스타 크리에이션
  • 네스프레소 캡슐
  • 네스프레소
  • 책소개
  • 캡슐커피추천
  • 네스프레소 호환캡슐
  • 캡슐커피
  • WORLD EXPLORATIONS
  • 까만너구리
  • 카누
  • 마스터 오리진
  • 원데이미션
  • 책리뷰
  • 다꾸
  • 네스프레소 캡슐커피
  • 월드 익스플로레이션
  • 인물집
  • 호환캡슐
  • 카누 캡슐커피

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
하비투게더
[JAVA] 01. 자바란
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.