티스토리 뷰

JavaScript 블로그를 시작하려면 왠지 역사를 훑어봐야 할 것 같았어요...


JavaScript 는 Brendan Eich 라는 사람이 1995년 5월에 Mocha 라는 이름으로 10일 만에 만들었다고 합니다. (10일...?;;;)

1995년 9월 LiveScript 라는 이름으로 바뀐 이후 같은 해 10월에 JavaScript 로 바뀐 이후 현재까지 사용하고 있네요.


Java 가 한창 인기를 얻고 있을 때 전략적 차원에서 JavaScript 라는 이름을 사용했다는 점을 빼면, 두 언어는 딱히 직접적인 연관은 찾아보기 힘듭니다.

Java 와 JavaScript 는... 간단하게 "코끼리" 와 "바다코끼리" 의 관계로 보면 비슷할수도 있겠네요.


1996~1997년부터 표준화 작업을 시작한 이후에 ECMAScript 라고 하기도 합니다.

새로 나온 JavaScript 표준안인 ECMAScript 6 를 줄여서 ES6 라고 하기도 하죠.


초기에 JavaScript 는 웹브라우저 안에서 돌아가며, 주로 웹페이지에 효과를 주거나 기능을 향상시키는 목적으로 사용했습니다.


웹이 퍼지기 시작할때쯤 "반짝이는 효과", "마우스 따라다니는 그림" 이라는 식으로 "html 에 넣어서 쓰면 된다" 라는 식으로 퍼졌던 것이 생각나네요.

이때의 이미지가 있어서 그런지, JavaScript 는 프로그래밍 언어로 인식되기보다는 html 의 곁다리 느낌으로, copy & paste 하면 되는 수준의 script 로 많이 알고 있는 것 같습니다.

코드가 client 쪽에 노출되면서 코드가 공개되기 쉽다는 것도 깊이있게 팔 필요 없다는 인식에 한 몫 했습니다.


그러다가 node.js 가 등장하면서 상황이 바뀌기 시작합니다.


Ryan Lienhart Dahl 이 2009년 처음 만든 node.js 는 서버에서 동작하는 JavaScript 프레임웍으로, 이후 DB-서버-클라이언트를 모두 JavaScript 로 구성할 수 있게 되면서 JavaScript 의 영역을 넓힐 수 있는 계기를 만들었습니다.


LAMP stack(Linux, Apache, MySQL, PHP/Python/Perl) 을 대체할 수 있는 MEAN stack (MongoDB, Express.js, Angular.js, Node.js) 이 부각되었죠.

출처 : MEAN vs LAMP – How Do They Stack Up?


개발언어 전체를 JavaScript 로 단일화 할 수 있으면서 DB 에서 들고온 JSON 을 클라이언트로 넘기는 데에 별다른 처리 없이 자연스럽게 전달할 수 있다는 것은 큰 장점입니다.

구조를 잘 맞춰두었다면, 보안이나 최적화의 문제로 로직 변경이 필요할 때 클라이언트쪽 로직을 복사&붙여넣기로 서버에 옮길 수 있습니다.


게다가 node.js 의 심플함은 서버를 5줄로도 구현할 수 있습니다!!!

var http = require('http');
http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
}).listen(8000);

npm(node package manager) 을 이용해 필요한 모듈을 간단하게 사용할 수 있고, 현재 npm 모듈은 241,737 개에 달합니다.


요즘 JavaScript 생태계는...

사용할 수 있는 모듈이 넘쳐나고 이전에 좋은 평가를 받았던 모듈을 능가하는 모듈이 계속해서 나오고 있습니다.

빠르게 트렌드를 파악하고 사용법을 익히는것이 중요하면서도, 모든 모듈을 알 수는 없는 큰 혼란의 도가니가 되고 있습니다 ㅎㅎㅎ

자신에게 필요한 모듈을 쏙쏙 골라서 사용하는 능력이 점점 중요해지고 있네요.


간단하게 하려다 길어졌지만... 여기까지 JavaScript 의 역사를 훑어봤습니다 ㅎ

신고
댓글
댓글쓰기 폼
공지사항
Total
202,187
Today
34
Yesterday
280
링크
«   2017/09   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함