코밍이의 하루

[Deep Dive Study] 1장 프로그래밍 본문

웹언어 공부/JS

[Deep Dive Study] 1장 프로그래밍

코밍이 2023. 2. 23. 09:48

1.1 프로그래밍이란?

1. 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다.

- 프로그래밍에 앞서 해결해야 할 문제(요구사항)를 명확히 이해한 후 적절한 해결 방안을 정의할 필요가 있다.

- 이 때 요구되는 것이 문제 해결 능력이다. 문제(요구사항)를 명확히 이해하는 것이 우선되어야 하며 복잡함을 단순하게 분해하고 자료를 정리하고 구분해야 하며 순서에 맞게 행위를 배열해야 한다.

 

2. 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이다.

- 이 결과물이 코드이며 우리는 문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 바라봐야 한다.

- 예를 들어, 장애물이란 무엇(크기,움직임 등)인지, 어떤 범위 내에 있는 것인지 명확히 수치화해서 정의해야 하고 이 때 필요한 것이 컴퓨팅 사고이다.

 

1.2 프로그래밍 언어

1. 문제 해결 능력을 바탕으로 정의된 문제 해결 방안은 컴퓨터에게 전달되어야 한다.

- 이 때 명령을 수행할 주체는 컴퓨터이기 때문에 컴퓨터가 이해할 수 있는 언어인 기계어명령을 전달해야 한다.

 

2. 기계어로 직접 명령을 전달하는 것을 대신할 가장 유용한 대안은 사람이 이해할 수 있는 약속된 구문(문법)으로 구성된 "프로그래밍 언어"를 사용해 프로그램을 작성한 후, 그것을 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 번역기인  컴파일러인터프리터를 이용하는 것이다.

 

3. 프로그래밍 언어란 컴퓨터와의 대화(명령)에 사용되는 일종의 표현 수단으로, 사람과 컴퓨터(컴파일러 또는 인터프리터) 모두가 이해할 수 있는 약속된 형태의 인공어다.

 

1.3 구문과 의미

1. 문제 해결 능력을 통해 만들어낸 해결 방안은 프로그래밍 언어의 문법을 사용해 표현한다.

- 작성된 코드는 해결방안의 구체적 구현물이다. 이것은 프로그래밍 언어의 문법에 부합하는 것은 물론이고 요구사항이 실현(문제가 해결)되어야 의미가 있다.

 

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

 

 

Review

- 내용을 이해하는데 문장 하나하나 거를 게 없어 정리하는데 조금 힘들었다. 최대한 줄여보자 생각했지만 예시로 든 내용 빼고는 거의 다 쓴 느낌이다. 저 3가지 소제목에 대한 내용을 설명해주려고 과정들을 풀어서 쓰고 거기서 또 이해를 돕기 위해 예시를 들었다. 이 책이 문법들을 설명할 때 어떤 식으로 설명할지 특징을 이해할 수 있는 챕터였다. 

 

출처 : https://wikibook.co.kr/mjs/

 

모던 자바스크립트 Deep Dive: 자바스크립트의 기본 개념과 동작 원리

269개의 그림과 원리를 파헤치는 설명으로 ‘자바스크립트의 기본 개념과 동작 원리’를 이해하자! 웹페이지의 단순한 보조 기능을 처리하기 위한 제한적인 용도로 태어난 자바스크립트는 과도

wikibook.co.kr