HTML과 CSS는 정적인 언어입니다. 정적이라는 것은 이것들이 브라우저를 통해서 웹페이지를 화면에 그려주면 이 화면을 변경할 수 있는 방법이 없다는 의미입니다. (잘 이해가 안되죠? 걱정 마세요. 수업 들으면 곧 알게 됩니다.)
Javascript는 HTML과 CSS로 만들어진 웹페이지를 동적으로 변경해주는 언어입니다. 경고창을 띄우고, 탭인터페이스를 만들고, Drag & Drop 기능의 웹에플리케이션을 만들수 있는거죠.
이 언어의 역사를 조금 이야기 해볼까요?
자바스크립트는 좀 허술한 언어입니다. 기능도 많지 않고, 주류에서 좀 벗어난 객체지향 모델(모르셔도 됩니다)을 가지고 있기도 합니다. 그래서 한 때는 자바스크립트가 비웃음의 대상이었어요. 대놓고 말은 안했지만 개발자들은 자바스크립트 뒤에 '따위'를 붙였지요. 쉽기 때문이었어요. 쉽기 때문에 천대 받은거죠. 그러면서 잘하는 개발자는 또 없는 기묘한 상태가 계속됩니다. 필요한게 있으면 인터넷에 돌아다니는 소스를 Copy & Paste하는게 고작이었죠. 자바스크립트를 제대로 알려주는 곳도 없었고, 알려고도 하지 않았습니다. COP(Copy&Paste Oriented Programming)의 시대였습니다.
그러다 구글이 지도 서비스를 내 놓자 모든게 변합니다. 구글은 자바스크립트와 HTML/CSS만으로도 플래쉬와 같은 효과를 구현할 수 있다는 것을 증명합니다. 거기에 ajax 열풍이 가세하면서 javascript의 중세는 끝이 납니다. 자바스크립트의 재조명과 스티브 잡스의 플래쉬 혐오, HTML5의 등장이 맞물리면서 플래쉬의 입지가 빠르게 줄어들고 있고, 그 빈자리를 빠르게 자바스크립트가 대체하고 있지요.
지금은 자바스크립트가 브라우저에서만 사용되는 언어에서 벗어나서 서버에서도 사용되고(node.js) 데스크탑 에플리케이션(adobe air)에서도 사용됩니다.재미있는 사실은 자바스크립트의 경쟁상대인 플래쉬도 그 안에서는 자바스크립트를 사용하고 있다는거~
앞서서 말씀드린 것처럼 자바스크립트는 기능이 별로 없는 언어입니다. 그러면서도 프로그래밍의 앙꼬에 해당하는 요소들 이를테면, 변수, 반복, 조건, 함수 심지어 객체까지 모두 가지고 있는 본격적인 프로그래밍 언어입니다.
단순하면서도
중요한 것들만 가지고 있고
그러면서 다양한 곳에서 사용되고 있는
세상에서 제일 많이 쓰이는 언어
지금은 자바스크립트의 시대!!!
생활코딩은 앞으로 다양한 언어를 다룰 예정입니다. 과정마다 프로그래밍의 핵심적인 개념들을 반복하는 것이 아니라 이것들은 자바스크립트 수업으로 과감하게 위탁할 예정입니다. 대신에 그 언어와 기술에 집중할 수 있겠죠. 그러니 자바스크립트 열심히 공부하세요!