뉴스센터 목록으로 돌아가기

Java와 JavaScript의 차이점은?

위시켓 | 2015.02.27.

[위시켓 / 그린 클라이언트 #21]

150227_wishket_GC_javajavascript_b

안녕하세요, 위시켓입니다!

Java와 JavaScript 라는 프로그래밍 언어에 대해서 들어본 적 있으시겠지요. 비슷한 이름을 가진 이 두 언어는 어떤 점이 비슷하고 다른 것일까요?

먼저 결론부터 말씀드리자면, 두 언어는 완전히 다른 언어입니다. 오늘 두 언어를 비교해서 설명해드리는 이유는 이름이 비슷하다는 이유로 서로 혼동하는 분들이 많기 때문인데요. 많은 사람들이 서로 이름이 비슷하니, 뭔가 연관성이 있을 것이라고 생각합니다. 사실, 비교하기 민망할 정도로 비슷한 부분이 없는데도 말이지요.

혹자는 Java와 JavaScript를 햄과 햄스터, 또는 인도와 인도네시아의 관계에 비유해서 표현하기도 하더군요. (실제로 인도와 인도네시아를 같은 나라로 아는 사람들도 꽤 있습니다.) 즉, 이름이 비슷하다는 것 말고는 비교할 점이 없다는 뜻이지요.

그렇다면 자바와 자바스크립트는 어떤 언어일까요?

오늘 '그린 클라이언트'에서는자바와 자바스크립트의 개념과 특징을 간략하게 설명해드리겠습니다.

JAVA

Java로 만들지 못하는 프로그램은 없다!

Java는 1995년에 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체지향적 프로그래밍 언어입니다.



'객체지향적 프로그래밍 언어'가 무엇인가요?
- 객체 지향 vs 절차지향 프로그래밍


150227_wishket_GC_java1

150227_wishket_GC_java2

2015년 2월에TIOBE에서 발표한 프로그래밍 언어 순위입니다. Java가 꾸준히 1~2위를 차지하면서 사랑 받고 있는 언어라는 것을 확인할 수 있습니다.

Java를 다른 언어와 구분 짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점입니다. 무슨 뜻인지 설명해드리자면, Java로 개발된 프로그램은 CPU나 운영체제의 종류에 관계없이 어디서나 실행할 수 있다는 뜻이지요. 예를 들면, C를 비롯한 다른 언어들은 플랫폼마다 다르게 개발해야 하는 데에 반해, 윈도우에서 Java로 개발한 프로그램을 추가로 개발하지 않고 리눅스에서도 구동할 수 있습니다. 그렇기 때문에 어떠한 환경의 유저가 보든 간에 같은 결과물을 볼 수 있지요. 이러한 Java의 장점 때문에 웹 애플리케이션용으로 폭발적인 인기를 끌게 되었습니다.

"자바로 만들지 못하는 프로그램은 없다"라는 말이 있을 정도로 자바는 거의 대부분의 프로그램을 만드는 데에 사용할 수 있는 범용 언어입니다. 전 세계적으로 많이 사용하는 언어이지만, 특히 한국에서는 정부나 기업의 시스템 통합(SI, System Integration) 프로젝트들이 대부분 자바 기반으로 진행했기 때문에 자바가 많이 쓰이는 데에 한 몫 했지요. 또한 안드로이드용 애플리케이션을 개발할 때, 자바를 이용하여 개발해야 합니다. (iOS용 앱을 개발할 때는 Objective-C라는 언어를 이용하여 구현해야 하는 것처럼 말이지요.) 모바일 시장에서 안드로이드의 점유율이 상당히 높아졌기 때문에 자바의 중요성 역시 점점 커지고 있습니다.

JAVASCRIPT

웹사이트에 생명을 불어 넣어주는 마법의 언어

JavaScript는 넷스케이프와 썬 마이크로시스템즈에서 공동으로 수행한 프로젝트에서 개발한 클라이언트용 언어입니다.



'클라이언트용 언어'는 무엇인가요?
- Q. 웹 개발의 클라이언트와 서버, 알고 계시나요?


JavaScript는 사용자와 웹사이트가 서로 상호작용하는 데에 도움을 주는 기능을 제공하는데요. 사용자가 웹사이트의 화면에서 어떠한 액션을 일으켰을 때, 다른 페이지를 열지 않고도 변화된 결과를 즉각적으로 보여줍니다. 위시켓 사이트를 예시로 들어서 설명해드리겠습니다.

150227_wishket_GC_JavaScript2

150227_wishket_GC_JavaScript1

여러분이 프로젝트를 등록할 때 볼 수 있는 화면입니다.

빈 칸을 채울 때마다'작성 완료까지 예상 시간'이 점점 줄어드는 것을 확인하셨나요? 또한'기획 상태'를 체크하면 흑백 이미지에서 컬러 이미지로 바뀌지요. 이처럼 다른 페이지를 띄우지 않고도 바뀐 내용을 실시간으로 보여줄 수 있는 것을 JavaScript가 가능하게 해주는 것이지요.

개발자의 입장에서 봤을 때, JavaScript는 빨리 배울 수 있고 작업이 빠르기 때문에 많이 사용됩니다. 또한 특정 운영체제에 제한을 받지 않기 때문에 클라이언트측 언어의 표준으로 사용되고 있지요.

JAVASCRIPT를 웹 브라우저 밖으로 꺼내준 NODE.JS

최근 웹 브라우저 내에서만 사용되던 자바스크립트를 서버 상에서도 사용할 수 있게 되었는데요. 바로Node.js라는 플랫폼 덕분입니다.

Node.js는 2009년 라이언 달(Ryan Dahl)이라는 프로그래머가 개발한 서버 개발 환경입니다. 구글에서 개발한 'V8 자바스크립트 엔진'을 기반으로 하여 매우 빠르고 고성능인 서버 사이드 플랫폼이지요. 최근 애플리케이션을 개발하는 데에 굉장히 많이 이용되는데요. 위시켓에 들어오는 애플리케이션 프로젝트를 보면, 대략 10건 중에 6건은 Node.js를 이용한다고 합니다.

이처럼 Node.js가 각광 받는 이유는 서버측 언어와 클라이언트측 언어를 JavaScript라는 한 언어로 구축할 수 있다는 장점 때문인데요. 그렇기 때문에 Node.js를 이용하면 빠르고 쉽게 고성능의 앱을 구현할 수 있습니다. 특히 실시간 알림이 필요하고 변동되는 정보의 양이 많은 메신저 기능이나 푸쉬 기능이 필요한 애플리케이션을 만들고자 할 때, Node.js를 이용하여 구축하는 경우가 많습니다.

LinkedIn이나 eBay, Paypal, Trello, Uber 등 여러분이 잘 알고 있는 유명한 회사들도 이러한 장점들 때문에 Node.js를 이용하고 있다고 하네요.

(출처: Projects, Applications, and Companies Using Node - Github

https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)

지금까지 Java와 JavaScript에 대해 간략하게 소개해드렸습니다. 이제 두 언어가 어떤 특성을 가지고 있는지 감이 좀 오시나요? 위시켓과 함께 하는 클라이언트님들이 개발자 파트너와 원활하게 의사소통할 수 있도록! 앞으로도 유용한 개발 토막 상식으로 찾아뵙겠습니다.

150120_wishket_blog_under

위시켓 | 2015.02.27.

'뉴스센터'의 다른 글 보기

프리랜서에 대한 잘못된 상식 10가지

웹사이트 전환율 높이는 4가지 방법

Java와 JavaScript의 차이점은?

3명의 프리랜서가 공유하는 프리랜서 성공 비결

네 가지 유형별 클라이언트 대처법

뉴스센터 더 보기 >