베하~~안녕하세요 여러분 이번 주도 어김없이 돌아온 BETTER MONDAY 팀입니다!!
다음 주부터 태풍이 한반도를 강타한다고 하는데 다들 조심하시구요!
이번 시간 에는 Javascript의 간단한 역사와 특징에 대해서 알아보도록 하겠습니다.
그럼~~~~~~~~~~~~~~~~~~~~슈우우우우우우우웃!!!!!!!!
구글 , 네이버, 아마존, 넷플릭스 등 이 기업들의 공통점은 무엇일까요? 첫 번째는 우리가 이 서비스를 이용하는데 많은 시간을 사용한다는 것이고, 두 번째는 이것들이 모두 웹 기반 , 즉 웹사이트를 중심으로 서비스를 제공한다라는 사실입니다.
여러분도 알다시피 웹 기술은 우리 일상에 많은 영향을 끼치고 있는데요, 위와 같은 IT기업들이 아니더라도 거의 모든 회사들이 웹 사이트 하나쯤은 가지고 있고 , 심지어 요즘엔 개인들이 스스로를 홍보하기 위해 웹 사이트를 만들기도 합니다.
웹은 1989년에 처음 등장해서 90년대부터 차츰 보편화되기 시작했는데, 최초의 웹사이트 모습은...!
다음과 같이 오로지 텍스트로만 이루어져 있었습니다. 이때 웹 사이트의 목적은 서로 글이나 숫자와 같은 단순한 정보를 공유하는 것이었습니다. 하지만 웹 기술이 발전하면서 이미지나, 영상도 공유할 수 있게 되었고 어느 순간부터는 이 웹을 통해 게임, 채팅 은행업무 등 다양한 분야의 여러 기능들이 추가되면서 자연스럽게 우리 일상에 녹아들었습니다.
이러한 웹의 발전에 가장 큰 기여를 한 것이 바로 Javascript입니다. 만약 이 글을 보시는 여러분들이 웹 개발에 관심이 있다면 반드시 배워야 하는 프로그래밍 언어라고 할 수 있습니다.
사실 Javascript가 처음 등장했을 때에는 '근본 없는 언어'라는 농담을 던질 정도로 개발자들에겐 꽤나 인기가 없었던 언어였습니다. 맘에 들지 않아도 웹사이트를 만들기 위해 어쩔 수 없이 사용하였던 것입니다.
그런데, 시간이 지나면서 이 Javascript가 조금씩 개선이 되더니 2015년에는 기존의 인식을 뒤엎을 정도로 큰 발전을 하게 됩니다. 그 이후에는 Javascript가 점점 더 좋은 평가를 받기 시작했습니다.
그래서 원래 웹에서만 사용되던 Javascript가 이렇게만 쓰기에는 너무 아깝다는 평가를 받으며 조금씩 다른 곳에서도 사용되기 시작했습니다. 단순히 웹사이트뿐만 아니라, 모바일앱이나 PC 전용 프로그램을 만드는 데에도 사용되고 VR과 AR 같은 3D 콘텐츠나, 블록체인을 만드는데도 사용되면서 다양한 분야에 활용되는 범용적인 기술로 발전하였습니다.
여기까지가 자바스크립트의 간단한 역사입니다. 그럼 이제 자바스크립트의 특징에 대해 알아볼까요?
자바스크립트는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어입니다. 자바스크립트는 기존의 프로그래밍 언어에서 많은 영향을 받았는데, 기본 문법은 C, Java와 유사하고 Self에서는 프로토타입 기반 상속을, Scheme에서는 일급 함수의 개념을 차용하였습니다.
또한 자바스크립트는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어(Interpreter language)입니다.
대부분의 모던 자바스크립트 엔진(Chrome의 V8, FireFox의 Spidermonkey, Safari의 JavaScriptCore, Microsoft Edge의 Chakra 등)은 인터프리터와 컴파일러의 장점을 결합하여 비교적 처리 속도가 느린 인터프리터의 단점을 해결하였습니다. 인터프리터는 소스코드를 즉시 실행하고 컴파일러는 빠르게 동작하는 머신 코드를 생성하고 최적화하는데, 이를 통해 컴파일 단계에서 추가적인 시간이 필요함에도 불구하고 보다 빠른 코드의 실행이 가능합니다.
자바스크립트는 명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based) 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어입니다. (객체지향에 대해서는 다음 게시물에 다뤄보도록 하겠습니다.)
비록 다른 객체지향 언어들과의 차이점에 대한 논쟁들이 있긴 하지만, 자바스크립트는 강력한 객체지향 프로그래밍 능력을 지니고 있다. 간혹 클래스(ES6에서 새롭게 도입), 상속, 정보 은닉을 위한 키워드 private가 없어서 객체지향 언어가 아니라고 오해하는 경우도 있지만 자바스크립트는 클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어입니다.
이번 시간에는 javascript의 역사와 특징에 대해 간단하게 알아보았습니다!
'웹 브라우저에서 동작하는 유일한 프로그래밍 언어'라는 점만 놓고 보아도 공부할 필요가 있다고 생각이 드네요 ㅎㅎ
다음 주에는 자바스크립트 뿐만아니라 대부분의 프로그래밍언어의 심볼! '객체지향'에 대해서 알아보도록 하겠습니다.
그럼 다음주에 만나요~~~~~~베바~~~~~~~~~~~
'Programming > Node.js' 카테고리의 다른 글
[JAVA] this (0) | 2022.10.11 |
---|---|
[JAVA] 변수와 메서드 (1) | 2022.10.11 |
Java Class - public static void main(String[] args) (0) | 2022.10.07 |
[JAVA] HashMap (0) | 2022.09.14 |
Javascript-간단한 실행하기 (1) | 2022.09.08 |
댓글