본문 바로가기

면접/cs

주절주절 IT

/*

ECMAScript: 자바스크립트를 표준화하기위해 만들어진 표준화된 스크립트 프로그래밍 언어를 말한다.

자바스크립트 버전이라고 생각하면 될듯. 문법추가되고 막 그르자나

*/

 

/*

컴파일 언어 스크립트 언어: (둘다 기계어로 번역하는 언어)

 

작성한 코드를 컴퓨터가 알아듣게 하기위해 기계어(0,1)로 번역하는 과정이 필요한데

그 과정을 언어에 따라 컴파일 혹은 인터프릿이라고 한다

 

이때 컴파일을 하는 언어를 컴파일 언어, 인터프릿을 하는 언어를 인터프리터 언어, 혹은 스크립트 언어라고 한다

컴파일 언어:: c, c++, java

스크립트 언어:: python, js

 

컴파일 언어는 별도의 파일이 생성되고, 그 파일을 실행하게되고

스크립트 언어는 소스가 작성될때마다 인터프리터가 해당 코드를 기계어로 번역하고 실행한다.(파일생성 없음)

 

컴파일 언어는 이미 기계어로 번역된 파일을 컴퓨터가 실행하므로 스크립트 언어에 비해 빠르고, 소스에 문법적 오류가 있으면 컴파일 에러를 발생시켜 미리 알수 있다. 하지만 일반적으로 문법적 제약이 많아 어렵고, 운영체제마다 사용하는 기계어가 다르기 때문에 작업을 각각 다르게 해줘야 하는 단점이 있다.

 

스크립트 언어는 컴퓨터가 소스를 실행하는 과정에서 바로바로 기계어로 번역하는 과정이 포함되어 있으므로 컴파일 언어에 비해 느리고, 디버깅이 어렵다.(오류를 찾아내기 어렵다?) 하지만 문법적 제약이 비교적 적어, 작성하기가 쉽고 운영체제를 신경쓸 필요없이 한번만 작성해 놓으면 된다는 장점이 있다. 

 

*/

 

 

/*

디버깅

시스템의 논리적인 오류나 비정상적 연산(버그)를 찾아내고 그 원인을 밝히고 수정하는 작업과정

 

디버거:

디버그를 돕는 도구로 원하는 코드에 breakpoint를 지정하여 프로그램 실행을 정지하고, 메모리에 저장된 값을 살펴보고,

실행을 재개하거나, 코드를 단계적으로 실행하는 등의 동작을 한다.

고급 디버거들은 메모리 충돌 감지, 메모리 누수 감지, 다중 스레드 관리 등의 기능도 지원한다.

*/

 

 

 

/*

 

*/

 

 

'면접 > cs' 카테고리의 다른 글

동시성처리  (0) 2022.02.12
쓰레드, 멀티쓰레드  (0) 2022.02.12
동기 vs 블로킹, 비동기 vs 논블로킹  (0) 2022.02.12
브라우저와 스크립트 엔진  (0) 2022.02.12
[cs]url, base64인코딩 디코딩  (0) 2022.02.03