본문 바로가기
개발

[기술의역사] 자바스크립트(Java Script)

by 마스터누누 2017. 6. 1.
728x90
반응형

자바스크립트(Java Script)



(웹 프로그래밍 3대장 - 아카이누 키자루 아오키지)



앞선 포스팅에서 살펴본 HTML에서 말했듯이, 자바스크립트는 동적 페이지 구현을 위한 언어이다.

버튼 클릭시 이벤트의 상세한 구현이나 서버와의 통신이 대부분 자바 스크립트로 이루어진다.

자바스크립트는 이름에서도 알수 있듯이 스크립트 언어로써, 인터넷 브라우저의 스크립트 엔진으로 돌아가게 된다.


이름부터 자바와 비슷한 자바스크립트는 자바와 아무런 관련이 없다.

브랜던 아이크라는 사람이 10일만에 설계한 언어로써, 초기에 이름을 몇번씩 바꾸면서 

'Java와 구문의 유사성이 있으므로 Java Script라는 이름으로 최종결정되었다'

라고 하지만 대외적으로 알려진것은 역시 그 당시 뜨거웠던 자바의 인기에 어느정도 편승하기 위한 전략이었다.

확실히 구문이 비슷하게 느껴지는것은 두 언어다 C언어에서 영감을 받아 제작된 C-family 언어이기 때문이다.

이러한 전략은 자바의 짝퉁 느낌을 물씬 풍기며, 초기에 개발자들로 부터 무시 받기도 했다.


그러나 자바스크립트의 막강한 기능으로 점점 주목받기 시작했고,

MS에서 이를 채택하고 제 1차 브라우저 전쟁에서 승리하면서 자바스크립트는 메이저 언어로 떠올랐다.

(90년대 초, 당시 대부분의 브라우저 점유율을 차지하고 있었던 넷스케이프와 MS의 익스플로러가

한바탕 전쟁을 치루고 결국 익스플로러가 이긴것이 1차 브라우저 전쟁이다.

MS의 전략은 모든 윈도우 컴퓨터에 기본적으로 익스플로러를 깔아서 출시하는 것이였다. 그러니 이길수 밖에)

또한 2000년대 초반에 AJAX 기능이 추가되며, 페이지의 새로고침없이 데이터를 받아올 수 있게되면서 상당히 강력해졌다.





(자바스크립트의 대가 - 더글라스 크락포드)


자바스크립트의 특징은 명령형, 함수형, 객체지향형 언어라는 것이다.

간단하고 유연하기 때문에 초보자가 배우기 쉽기때문에 많은 프로그래밍 부트캠프에서 가르치는 언어 중 하나이다.

그러나 배우면 배울수록 터지는 매력에 끝을 알수 없는 언어이기도 하다.

물론 유행의 주기가 짧게 계속 생성되는 프레임워크도 이에 한몫하는 요소 중의 하나이다.

다른 특징중에 하나는 비동기 싱글 스레드로 동작한다는 것이다.

이러한 특징을 잘 알아야 효율적인 프로그래밍이 가능하다. 


대표적인 라이브러리, 프레임워크는 JQuery, Angular, React, Vue 등이 있으며

백엔드에서는 자바스크립트 기반 런타임 환경인 Node JS 가 각광받고 있다.


현재는 ES6, ES7 등의 표준안이 계속해서 나오고 있고, 이 때마다 문법적으로 추가되는 요소가 많아서 끝없이 배워야한다.

또한 많은 브라우저가 이러한 표준안을 지원하지 않으므로 ES5로 변환하는 babel을 사용해야한다.

요새 계속해서 보완되고 바뀌고, 라이브러리와 프레임워크가 쏟아져 나오며, 기본 개념도 놓쳐선 안되니

진짜 끝임없이 배워야한다. 


결론적으로 자바스크립트는 진입장벽이 낮지만, 여러가지 이유로 복잡하고 가끔은 변태적인 언어이기도 하다.

그만큼 매력이 넘치는 요소도 많으니 한 포스팅에서 모든것을 설명하기는 어렵다.

자바스크립트의 대가인 더글라스 크락포드가 문법적 특징과 권고안을 잘 설명해놓았으니

자바스크립트를 사용한다면 반드시 그의 저서를 참고하기 바란다.



반응형

'개발' 카테고리의 다른 글

[파이썬&루비] 상속(Inheritance)  (0) 2017.06.01
[파이썬&루비] 캡슐화(Encapsulation)  (1) 2017.06.01
[파이썬&루비] 객체(Object)  (0) 2017.06.01
[파이썬&루비] 모듈(Module)  (0) 2017.05.31
[파이썬&루비] 함수(Function)  (0) 2017.05.31

댓글