자바의 시초 oak
자바의 최초 이름은 당시 회사 앞의 참나에서 따온 oak였지만 이미 상표가 있어
1995년 SunWorld 에서 JAVA라는 이름으로 발표하였다.
자바 탄생의 배경
자바는 1991년 SUN Microsystems에서 James gosling이 가전제품을 개발하는 green project를 개발하면서 시작되었다.
그당시 프로그래밍 언어는 플랫폼 간의 호환성이 없어 컴퓨터 플랫폼에 따라 그에 해당하는 소스코드가 따로 필요했다.
플랫폼이란?
간단한 예시를 CPU or OS가 다른것을 의미한다.
A,B CPU와 1,2 OS가 있다면 A+1 / A+2 / B+1 / B+2 이렇게 4가지 플랫폼이 존재하게된다.
이렇게 플랫폼별 소스코드가 따로필요한 언어를 플랫폼 종속적 언어라고 하며 C / C++이 그런 언어이다.
이런 플랫폼 종속성(Platform dependence)에 의한 제약과 조그마한 전자제품들에 들어갈 메모리량을 JAVA는 개발되었다.
자바의 특징
앞서 설명한 C / C++ 그때당시 프로그래밍언어들의 단점들을 타파하고자 개발된 자바는 몇가지 특징을 가지게된다.
- 플랫폼 독립성(Platform independence)
- 플랫폼 종속성을 가진 언어들은 플랫폼에 따라 전부 다른 소스코드가 필요하였지만 자바는 하나의 소스코드로
- 모든 플랫폼에서 실행이 가능하게 개발되었다. - 적은 메모리사용량
- 자바의 태동시절은 지금같이 인터넷과 컴퓨터, 스마트폰들이 활성화 되던시기가 아니였다.
- 또한 하드웨어들은 현대에 비하면 성능이 한없이 낮을 수 밖에 없어 메모리의 성능은 크기에 정직하게 반비례되었다.
- 주 목적자체가 가전제품의 사용될 언어이기에 내장형 메모리에서 사용가능하게 설계되어 적은 메모리사용량을 요구했다.
WORS
Write Once Run Anywhere
한번의 작성으로 어디서든 사용한다.
JS, Python 과 같은 현대의 언어를 사용하는 개발자라면 저게 무슨소린가 싶을 것 이다.
그시절 사용되었던 C / C++은 앞서 말한것과 같이 플랫폼 종속성에 의해 플랫폼마다 매번 새로운 소스코드를 작성해야 했다.
JAVA는 그 종속성을 탈피하고 플랫폼 독립적인 WORS 즉 한번의 작성으로 모든플랫폼에서 사용가능한 획기적인 언어였다.
자바 가상기계
사실 자바라는 언어가 완벽히 플랫폼 독립적이라고 표현할 수 없을지도 모른다.
자바가 플랫폼 종속성을 탈피할 수 있게된것은 바로 이 자바 가상기계 덕분이다.
JAVA가상기계는 우선 플랫폼 종속성을 가진 소프트웨어이다.
자바 가상기계는 플랫폼마다 다른 소스코드를 가지고있으며 JAVA라는 언어가 플랫폼에 적용되도록 중간다리의 역할을 수행해줌과 동시에 자바가 플랫폼 독립성을 지니게 해주는 가장 중요한 역할을 해준다.
자바통역기를 플랫폼마다 배포하여 같은 자바언어를 해당 가상기계가 번역해준다고 생각하면 편할것 이다.
공부해야할 키워드
디어셈블, 바이트코드 ,링크, 컴파일
'JAVA' 카테고리의 다른 글
[JAVA] JAVA 기초 (0) | 2023.02.05 |
---|---|
[JAVA]행복한 꿈을 꾸는중 (0) | 2022.07.03 |