개발자를 희망하는 초보의 자기개발 이야기

모던 자바스크립트 Deep Dive 1장 프로그래밍 본문

도서/모던 자바스크립트 Deep Dive

모던 자바스크립트 Deep Dive 1장 프로그래밍

클라우드아실 2023. 11. 2. 19:24
반응형

출처 : 예스24

 

스터디를 진행하면서 책을 읽고 내용과 떠오르는 생각, 용어들을 정리하고 있습니다.
문제 되는 부분이나 틀린 부분이 있다면 편하게 말씀해 주세요.

1장 프로그래밍

1.1 프로그래밍이란?

프로그래밍이란 일종의 커뮤니케이션이다. 이를 위해 무엇을 실행하고 싶은지 정의할 필요가 있다. 즉, 프로그래밍이란 정확하고 상세하게 요구사항을 설명하는 작업이며, 이때 요구되는 것이 문제 해결 능력이다. 

1.2 프로그래밍 언어

정의된 문제 해결 방안은 약속된 구문(syntax : 문법)으로 구성된 프로그래밍 언어를 사용하여 작성한 후 컴퓨터가 이해할 수 있는 일종의 번역기를 통해 전달한다. 이런 번역기를 컴파일러 혹은 인터프리터라고 한다.

1.3 구문과 의미(Syntax & Semantics)

프로그래밍 학습은 일반적으로 프로그래밍 언어의 문법을 배우는 것부터 시작한다. 하지만 문법을 잘 안다고 해서 외국어를 잘한다고 말할 수는 없다. 수행하고자 하는 바를 정확히 수행하는 것, 즉 요구사항이 실현되어야 의미가 있다. 대부분의 프로그래밍 언어는 이를 위한 다양한 문법을 제공하고 있다.

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

정리

대학생 때 작곡을 전공하고 공부했었다.

어느 정도 공부가 됐다고 생각한 시점에 실제 곡 작업을 하려고 하니 오선지에 아무것도 할 수 없었다.

곡을 쓴다는 것은 작곡 이론공부와는 또 다른 것이었다.

프로그래밍도 마찬가지.

문법을 공부해서 100% 아는 시점이 올 수 있을까? 

그건 불가능하다는 것을 또 한 번 시행착오를 거친 후에야 깨달았다.( 3년 전에 구매하고 아직 다 보지 못한 인강도 있다.. )

1) 문법 공부, 2) 의사코드 3) 구현의 단계로 뭔가 만들어가면서 공부하는 것이 옳다.

※ 의사코드란?

일반적인 언어로 코드를 흉내 내어 작동 순서, 진행 방향 등을 대략적으로 써보는 것을 말한다. 이를 통해 본문의 내용처럼 컴퓨팅사고가 발달하게 될 것이다.

뜬금없을 수 있지만 개발자가 생각(의사코드)을 표현(구현)하려면 타자 속도가 중요하다는 주장이 있다.

신체(타자속도)로 인한 생각(구현)의 제약을 덜 받는다는 주장으로 공감하는 부분이다.

타자를 빨리 치려면 문법에도 익숙해야 하고, 빠른 타자와 단축키를 잘 활용하는 사람의 업무속도를 못 따라가는 건 당연하지 않을까.

반응형