회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
'객체지향적 프로그래밍 언어'가 무엇인가요? - 객체 지향 vs 절차지향 프로그래밍
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
Java와 JavaScript 라는 프로그래밍 언어에 대해서 들어본 적 있으시겠지요. 비슷한 이름을 가진 이 두 언어는 어떤 점이 비슷하고 다른 것일까요?
먼저 결론부터 말씀드리자면, 두 언어는 완전히 다른 언어입니다. 오늘 두 언어를 비교해서 설명해드리는 이유는 이름이 비슷하다는 이유로 서로 혼동하는 분들이 많기 때문인데요. 많은 사람들이 서로 이름이 비슷하니, 뭔가 연관성이 있을 것이라고 생각합니다. 사실, 비교하기 민망할 정도로 비슷한 부분이 없는데도 말이지요.
혹자는 Java와 JavaScript를 햄과 햄스터, 또는 인도와 인도네시아의 관계에 비유해서 표현하기도 하더군요. (실제로 인도와 인도네시아를 같은 나라로 아는 사람들도 꽤 있습니다.) 즉, 이름이 비슷하다는 것 말고는 비교할 점이 없다는 뜻이지요.
그렇다면 자바와 자바스크립트는 어떤 언어일까요?
오늘은 자바와 자바스크립트의 개념과 특징을 간략하게 설명해드리겠습니다.
Java로 만들지 못하는 프로그램은 없다!
'객체지향적 프로그래밍 언어'가 무엇인가요?
- 객체 지향 vs 절차지향 프로그래밍
2015년 2월에TIOBE에서 발표한 프로그래밍 언어 순위입니다. Java가 꾸준히 1~2위를 차지하면서 사랑 받고 있는 언어라는 것을 확인할 수 있습니다.
Java를 다른 언어와 구분 짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점입니다. 무슨 뜻인지 설명해드리자면, Java로 개발된 프로그램은 CPU나 운영체제의 종류에 관계없이 어디서나 실행할 수 있다는 뜻이지요. 예를 들면, C를 비롯한 다른 언어들은 플랫폼마다 다르게 개발해야 하는 데에 반해, 윈도우에서 Java로 개발한 프로그램을 추가로 개발하지 않고 리눅스에서도 구동할 수 있습니다. 그렇기 때문에 어떠한 환경의 유저가 보든 간에 같은 결과물을 볼 수 있지요. 이러한 Java의 장점 때문에 웹 애플리케이션용으로 폭발적인 인기를 끌게 되었습니다.
"자바로 만들지 못하는 프로그램은 없다"라는 말이 있을 정도로 자바는 거의 대부분의 프로그램을 만드는 데에 사용할 수 있는 범용 언어입니다. 전 세계적으로 많이 사용하는 언어이지만, 특히 한국에서는 정부나 기업의 시스템 통합(SI, System Integration) 프로젝트들이 대부분 자바 기반으로 진행했기 때문에 자바가 많이 쓰이는 데에 한 몫 했지요. 또한 안드로이드용 애플리케이션을 개발할 때, 자바를 이용하여 개발해야 합니다. (iOS용 앱을 개발할 때는 Objective-C라는 언어를 이용하여 구현해야 하는 것처럼 말이지요.) 모바일 시장에서 안드로이드의 점유율이 상당히 높아졌기 때문에 자바의 중요성 역시 점점 커지고 있습니다.
웹사이트에 생명을 불어 넣어주는 마법의 언어
'클라이언트용 언어'는 무엇인가요?
- Q. 웹 개발의 클라이언트와 서버, 알고 계시나요?
JavaScript는 사용자와 웹사이트가 서로 상호작용하는 데에 도움을 주는 기능을 제공하는데요. 사용자가 웹사이트의 화면에서 어떠한 액션을 일으켰을 때, 다른 페이지를 열지 않고도 변화된 결과를 즉각적으로 보여줍니다. 위시켓 사이트를 예시로 들어서 설명해드리겠습니다.
여러분이 프로젝트를 등록할 때 볼 수 있는 화면입니다.
빈 칸을 채울 때마다'작성 완료까지 예상 시간'이 점점 줄어드는 것을 확인하셨나요? 또한'기획 상태'를 체크하면 흑백 이미지에서 컬러 이미지로 바뀌지요. 이처럼 다른 페이지를 띄우지 않고도 바뀐 내용을 실시간으로 보여줄 수 있는 것을 JavaScript가 가능하게 해주는 것이지요.
개발자의 입장에서 봤을 때, JavaScript는 빨리 배울 수 있고 작업이 빠르기 때문에 많이 사용됩니다. 또한 특정 운영체제에 제한을 받지 않기 때문에 클라이언트측 언어의 표준으로 사용되고 있지요.
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에 대해 간략하게 소개해드렸습니다. 이제 두 언어가 어떤 특성을 가지고 있는지 감이 좀 오시나요? 여러분이 개발자와 원활하게 의사소통할 수 있도록! 앞으로도 유용한 개발 토막 상식으로 찾아뵙겠습니다.