자바
자바(Java)는 1995년 미국 썬 마이크로시스템즈(SUN Microsystems) 회사의 제임스 고슬링(James Gosling)이 다른 연구원들과 함께 개발한 객체 지향 프로그래밍 언어(OOP)이다. 2010년 썬 마이크로시스템즈 회사가 오라클에 인수되면서, 자바도 오라클 회사로 넘어갔다. JSP는 자바 언어로 만든 웹용 스크립트 언어이다. 자바라는 이름은 인도네시아 자바 섬에서 생산한 커피의 이름에서 따왔다. 자바의 로고는 커피잔이고, 마스코트는 듀크(Duke)이다.
사용자별로 맞춤형 블록체인을 제작할 수 있는 스마트 자산 시스템을 위한 암호화폐인 넴(NEM)[1]은 자바(Java) 언어로 개발되었다.
역사
자바 언어는 1991년 6월 셋톱 프로젝트를 위해 제임스 고슬링(James Gosling)이 만들었다. 이 언어는 원래 제임스 고슬링의 사무실 밖에 있던 오크 나무를 따다 오크(Oak), 혹은 그린(Green) 이라고도 불렀으나, 단어 리스트 중 무작위로 뽑은 자바(Java)를 선택했다. 고슬링의 목표는 C/C++ 스타일의 언어와 가상머신을 구현하는 것이었다. 첫 공개 자바 버전은 1995년 자바 1.0이었다. 한 번 쓰고 어느 곳에도 실행하는 것을 약속하였고 인기 플랫폼에 무료 런타임을 제공하였다. 이 플랫폼은 꽤 안정성을 지녔고 보안 시스템은 여러 설정을 통해 네트워크 및 파일 접근을 통제할 수 있었다. 대부분의 브라우저는 곧 자바 애플릿((Java Applet)을 웹 페이지 안에서 실행할 수 있었고 자바의 인기는 급상승했다. 자바 2(JDK 1.2 ~ 1.4)의 출현으로 여러 다양한 플랫폼에서 사용할 수 있는 설정들을 만들었다.
썬 마이크로시스템즈는 1997년 ISO/IEC JTC1 표준화 그룹, 그리고 나중에는 ECMA International 그룹과 접촉하여 정식 승인을 받으려 했으나 곧 이 프로세스에서 철수했다. 자바는 사실상의 표준이며 자바 커뮤니티 프로세스(Java Community process)를 통해 관리되고 있다. 썬 마이크로시스템즈는 자바의 대부분을 무료로 배포하였으나 오픈이 아닌 사유 소프트웨어였다. 썬 마이크로시스템즈는 자바 엔터프라이즈 시스템 같은 특정 라이선스를 팔아서 수입을 올렸다. 썬(SUN) 사는 자사의 개발용(소프트웨어 개발 키트 (SDK))과 개발용의 일부인 실행용(자바 런타임 환경, JRE)을 구분한다. 실행용에는 컴파일러,유틸리티 및 여러 개발용 헤더 파일이 포함되어 있지 않다.
2006년 11월 13일 썬 마이크로 시스템즈는 대부분은 자바를 GPL 라이선스로 소스를 오픈하였으며 2007년 5월 8일 이 과정을 마쳤다. 썬 마이크로시스템즈가 권한을 가지고 있지 않은 대부분의 코어 부분을 오픈하였다. 2009년 4월 20일 제작자인 썬 마이크로시스템즈가 오라클과 인수 합병됨에 따라 자바에 대한 권리 및 유지보수 또한 오라클로 넘어가게 되었다. [2]
특징
- 객체 지향 프로그래밍 언어
자바는 객체를 중심으로 메소드가 데이터에 접근해서 객체의 속성을 조작하는 형태의 객체 지향 프로그래밍 언어이다.
- 플랫폼에 독립적
자바는 자바가상머신(JVM, Java Virtual Machine)이 바이트코드인 클래스 파일(.class)을 생성하고, 이 파일의 바이트코드를 읽은 뒤 기계어로 바꾸어 실행한다. 따라서 각 플랫폼에 맞는 JVM만 설치되어 있으면 어디서든 사용할 수 있기 때문에, 자바는 플랫폼에 독립적인 언어이다.
- 가독성
자바는 사람들이 읽고 쉽게 이해할 수 있도록 만들어진 고급언어로서, 다른 언어에 비해 코드가 간단하고 가독성이 뛰어나 컴퓨터 전공자가 아니어도 쉽게 이해하고, 프로그래밍을 할 수 있다.
- 안정성
자바는 배우기 쉽고 대중적인 언어라서 참고자료나 오픈 소스가 많고, 대형 프로젝트들도 많이 실행되어 왔기 때문에 안정성이 입증되었다.
- 보안성
자바는 네트워크 분산 처리 환경에서 사용하기 위해 고안된 언어이기 때문에, 자바의 보안 시스템은 각종 설정을 통해 네트워크 및 파일 접근을 통제한다. 따라서 바이러스가 침투하지 못하는 구조를 가졌고 메모리 내에서 데이터 접근을 제한한다.
JAVA 이외의 프로그래밍 언어
- C
C는 범용언어이다. 성능이 아주 중요한 애플리케이션에서 사용된다. 최근 인기가 많은 언어는 최소한 C의 문법적인 부분이라도 물려받고 있으며, C의 문법은 이해하는 데 어려움은 없으나 처음이라면 어려울 수 있다.
- C++
C++은 C와 비슷하지만, 객체지향 지원 및 몇 가지 발전된 기능을 가지고 있다. 구글,크롬,파이어폭스,마소 워드,엑셀,파워포인트 등이 모두 C++로 개발된 것이다.
- python
python은 쉽게 배우고 개발할 수 있게 만들어진 언어이다. 컴퓨터 공학과 기초수업에 많이 사용된다. 우분투의 애플리케이션과 인스타그램의 웹서버가 python으로 개발되었다고 한다.
- PHP
PHP는 웹 서버에서 주로 사용된다. 배우는 게 쉽고 데이터베이스에 쉽게 접근할 수 있도록 해주기 때문에 많은 인기를 얻었다.[3]
JAVA의 활용 분야
JAVA 프로그래밍 언어는 호환성이 매우 뛰어나서 다른 프로그래밍 언어들이 프로그래밍 하고 다른 운영체제나 환경에서 작업을 하려하면 변환을 거쳐야 하는데 자바 프로그래밍은 그런 게 없다. 다른 하나는 보안성이다. 자바라는 프로그램 자체가 보안성이 뛰어나기도 하며 다른 프로그래밍 언어들과 비교했을 때 보안성도 앞서있는 게 특징이다. 이런 자바 프로그램 언어를 활용하는 분야는 웹 개발, 웹 애플리케이션, 데이터베이스, 빅데이터, 시스템 네트워크, 서버 네트워크 등 넓은 분야에서 활용이 가능하다.[4]
각주
같이 보기