일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- CodeStates
- IT 지식
- 티스토리챌린지
- 비전공자를 위한
- K-Digital Credit
- boj
- 노마드 코더
- 이해할 수 있는
- 프로그래머스
- 톺아보기
- 자바스크립트
- 노개북
- javascript
- nomadcoders
- 공부를 가장한 일기일지도
- SQL 개발자
- 제로베이스
- 모던 자바스크립트 deep dive
- 최원영 저자
- 엘리스코딩
- 노마드코더
- 백준
- Do it! 시리즈
- 오블완
- SQLD
- js
- 알고리즘
- 구름edu
- 개발자북클럽
- 자격증
- Today
- Total
개발자를 희망하는 초보의 자기개발 이야기
모던 자바스크립트 Deep Dive 1장 프로그래밍 본문
스터디를 진행하면서 책을 읽고 내용과 떠오르는 생각, 용어들을 정리하고 있습니다.
문제 되는 부분이나 틀린 부분이 있다면 편하게 말씀해 주세요.
1장 프로그래밍
1.1 프로그래밍이란?
프로그래밍이란 일종의 커뮤니케이션이다. 이를 위해 무엇을 실행하고 싶은지 정의할 필요가 있다. 즉, 프로그래밍이란 정확하고 상세하게 요구사항을 설명하는 작업이며, 이때 요구되는 것이 문제 해결 능력이다.
1.2 프로그래밍 언어
정의된 문제 해결 방안은 약속된 구문(syntax : 문법)으로 구성된 프로그래밍 언어를 사용하여 작성한 후 컴퓨터가 이해할 수 있는 일종의 번역기를 통해 전달한다. 이런 번역기를 컴파일러 혹은 인터프리터라고 한다.
1.3 구문과 의미(Syntax & Semantics)
프로그래밍 학습은 일반적으로 프로그래밍 언어의 문법을 배우는 것부터 시작한다. 하지만 문법을 잘 안다고 해서 외국어를 잘한다고 말할 수는 없다. 수행하고자 하는 바를 정확히 수행하는 것, 즉 요구사항이 실현되어야 의미가 있다. 대부분의 프로그래밍 언어는 이를 위한 다양한 문법을 제공하고 있다.
결국 프로그래밍은 요구사항을 분석해서 적절한 자료구조와 함수의 집합으로 그 흐름을 제어하는 것이다.
정리
대학생 때 작곡을 전공하고 공부했었다.
어느 정도 공부가 됐다고 생각한 시점에 실제 곡 작업을 하려고 하니 오선지에 아무것도 할 수 없었다.
곡을 쓴다는 것은 작곡 이론공부와는 또 다른 것이었다.
프로그래밍도 마찬가지.
문법을 공부해서 100% 아는 시점이 올 수 있을까?
그건 불가능하다는 것을 또 한 번 시행착오를 거친 후에야 깨달았다.( 3년 전에 구매하고 아직 다 보지 못한 인강도 있다.. )
1) 문법 공부, 2) 의사코드 3) 구현의 단계로 뭔가 만들어가면서 공부하는 것이 옳다.
※ 의사코드란?
일반적인 언어로 코드를 흉내 내어 작동 순서, 진행 방향 등을 대략적으로 써보는 것을 말한다. 이를 통해 본문의 내용처럼 컴퓨팅사고가 발달하게 될 것이다.
뜬금없을 수 있지만 개발자가 생각(의사코드)을 표현(구현)하려면 타자 속도가 중요하다는 주장이 있다.
신체(타자속도)로 인한 생각(구현)의 제약을 덜 받는다는 주장으로 공감하는 부분이다.
타자를 빨리 치려면 문법에도 익숙해야 하고, 빠른 타자와 단축키를 잘 활용하는 사람의 업무속도를 못 따라가는 건 당연하지 않을까.
'도서 > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글
모던 자바스크립트 Deep Dive 6장 데이터 타입 (0) | 2023.11.08 |
---|---|
모던 자바스크립트 Deep Dive 5장 표현식과 문 (0) | 2023.11.07 |
모던 자바스크립트 Deep Dive 4장 변수 (0) | 2023.11.06 |
모던 자바스크립트 Deep Dive 3장 자바스크립트 개발 환경과 실행 방법 (0) | 2023.11.05 |
모던 자바스크립트 Deep Dive 2장 자바스크립트란? (0) | 2023.11.03 |