본문 바로가기

프로그래밍

Java와 JavaScript는 같은 언어인가?

Java와 JavaScript는 이름이 비슷하여 모르는 사람이 들었을 때에는 헷갈리는 경우가 종종 있습니다. 결론적으로 두 언어는 완전히 다른 언어입니다. Java와 JavaScript의 공통점과 차이점을 설명하면서 두 개의 언어가 완전히 다르다는 것을 공부해보도록 하겠습니다.


○ 자바(Java)

Java는 1995년에 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향 프로그래밍 언어입니다. Java를 다른 언어와 구분 짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점입니다. 즉, Java로 개발된 프로그램은 CPU나 운영체제의 종류에 상관없이 어디서나 실행할 수 있다는 의미입니다. 예를 들어, C를 비롯한 다른 언어들은 플랫폼마다 다르게 개발해야 하는 반면, 윈도우에서 Java로 개발한 프로그램을 추가로 개발하지 않고 리눅스에서도 구동할 수 있습니다. 그렇기 때문에 어떠한 환경의 유저가 보던지 같은 결과물을 볼 수 있습니다. 이러한 Java의 장점 때문에 웹 애플리케이션용으로 폭발적인 인기를 끌게 되었습니다. Java로는 만들지 못하는 프로그램이 없다고 할 정도로 거의 대부분의 프로그램을 만드는 데에 사용할 수 있는 범용 언어입니다. 전 세계적으로 많이 사용하는 언어이지만, 특히 한국에서는 정부나 기업의 시스템 통합(System Integration) 프로젝트, 줄여서 SI들이 대부분 Java 기반으로 진행했기 때문에 Java가 많이 쓰이는 데이 한 몫 했다고 할 수 있습니다. 또한, IOS 애플리케이션을 개발할 때에는 Objective-C라는 언어를 이용하여 구현해야 하는 것과 마찬가지로 안드로이드 애플리케이션을 개발할 때, Java를 이용해서 개발해야 합니다. 모바일 시장에서 안드로이드의 점유율이 상당히 높아졌기 때문에 Java의 중요성 역시 점점 커지고 있습니다.


○ 자바스크립트(JavaScript)

JavaScript는 넷스케이프와 썬 마이크로시스템즈에서 공동으로 수행한 프로젝트를 통해 개발한 클라이언트 언어입니다. JavaScript는 사용자와 웹사이트가 서로 상호작용을 하는 데에 도움을 주는 기능을 제공합니다. 이는 사용자가 웹사이트의 화면에서 어떠한 액션을 일으켰을 경우 다른 페이지를 열지 않고도 변화된 결과를 즉각적으로 보여줍니다. 예를 들어, 인터넷을 통해 시험을 볼 때 남은 시간을 표시해주는 바(Bar)의 기능과 같이 다른 페이지를 띄우지 않고도 바뀐 내용을 실시간으로 보여줄 수 있는 것이 가능합니다. 개발자의 입장에서 보았을 때, JavaScript는 빨리 배울 수 있고 작업이 빠르기 때문에 많이 사용됩니다. 또한 안드로이드, IOS 등 특정 운영체제에 제한을 받지 않으므로 클라이언트 언어의 표준으로 사용되고 있습니다.

최근 웹 브라우저에서만 사용되던 JavaScript를 Node.js라는 플랫폼 덕분에 서버 상에서도 사용할 수 있게 되었습니다. Node.js는 2009년 라이언 달(Ryan Dahl)이라는 프로그래머가 개발한 서버 개발 환경이며, 구글에서 개발한 V8 자바스크립트 엔진(V8 JavaScript Engine)을 기반으로 매우 빠르고 고성능인 서버 사이드 플랫폼입니다. 최근 애플리케이션을 개발하는 데에 굉장히 많이 이용되는데, 위시켓에 들어오는 애플리케이션 프로젝트를 보면, 대략 10건 중 6건은 Node.js를 이용한다고 합니다. 이처럼 Node.js가 각광 받는 이유는 서버측 언어와 클라이언트측 언어를 JavaScript라는 한 언어로 구축할 수 있다는 장점 때문입니다. 그렇기 때문에 Node.js를 이용하면 빠르고 쉽게 고성능의 앱을 구현할 수 있습니다. 특히 실시간 알림이 필요하고 변동되는 정보의 양이 많은 메신저 기능이나 푸쉬 기능이 필요한 애플리케이션을 만들 때 Node.js를 이용하여 구축하는 경우가 많습니다.