[자바스크립트 딥다이브] 1장 프로그래밍

반응형

# 프로그래밍이란?

컴퓨터 가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하여 실행을 요구하는 커뮤니케이션.

현실 에서 사용되는 본질 의 추상적인 개념을 컴퓨터 가 이해하고 계산할 수 있도록 정의해야 한다.

위는 2족 보행 로봇의 디자인이다.

걷다 라는 기능을 디자인 하기위해 판단해야 하는 상태, 판단 시기, 판단 기준 을 정의해야 하고, 이를 바탕으로 분해한 프로세스의 실행 여부를 결정한다.

# 프로그래밍 언어

사람이 기계어 를 이해해서 기계어로 직접 명령을 전달하는 것은 매우 어려운 일이다.
사람이 이해할 수 있는 약속된 구문 syntax 로 구성된 프로그래밍 언어를 이용한다.

 

1. 컴파일러 Compiler

- 전체 파일을 스캔하여 한꺼번에 번역한다.

- 초기 스캔시간이 오래 걸리는 단점이 존재하지만, 한번 실행 파일이 만들어지면 속도가 빠른 장점이 있다.

- 기계어 번역과정에서 더 많은 메모리를 사용한다.

- 전체 코드를 스캔하는 과정에서 모든 오류를 한꺼번에 출력해주기 때문에 실행 전에 오류를 알 수 있다.

- 대표적인 언어로 C, C++, JAVA 등이 있다.

 

2. 인터프리터 interpreter

- 프로그램 실행시 한 번에 한 문장씩 번역한다.

- 한번에 한문장씩 번역후 실행 시키기 때문에 실행 시간이 느리다.

- 컴파일러와 같은 오브젝트 코드 생성과정이 없기 때문에 메모리 효율이 좋다.

- 프로그램을 실행시키고 나서 오류를 발견하면 바로 실행을 중지 시킨다. 실행 후에 오류를 알 수 있다.

- 대표적인 언어로 Python, Ruby, Javascript 등이 있다.

   프로그래밍 언어는 구문 syntax의미 semantics 의 조합으로 표현된다.

# 구문과 의미

- 문법에 맞는 문장을 구성하는 것은 물론 의미를 가지고 있어야 언어의 역할을 충실히 수행할 수 있다.

- 문제 해결 능력을 통해 만들어낸 해결 방안은 프로그래밍 언어의 문법을 사용해 표현한다. 즉 작성된 코드는 해결 방안의 구체적 구현물.

- 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후 그 흐름을 제어하는 것이다.

반응형