HappyCoding

[20분 책읽기] 더 나은 코딩을 위한,

1장. 효율적으로 언어배우기
비교를 통한 배움과 역사를 통한 배움이 있다. 세상에는 0이 참인언어, 0이 거짓인 언어, 0이 참도 거짓도 아닌 언어가 존재한다. 그래서어떤 문제를 해결하기 위해 그 언어를 만들었을까? 언어 설계자의 의도를 이해해야한다. 또한 언어에 의존하지 보편적인 지식의 습득이 중요하다. 언어가 바뀌어도 통용될 수 있는 이해력을 기르자

2장. 프로그래밍 언어를 조감하다
케이블을 연결하다. 프로그램 내장방식으로 fortran의 등장에 대해 배우고, 프로그래밍 언어 탄생의 목적을 배웠다. 언어에 따른 편리함의 의미. 무엇을 편리하게 하고 싶은 것인가? 어떤 프로그램을 편리하게 만들고 싶은가? 기술도 도구이기 때문에 뭘 쓸 지보다는 무엇을 만들지를 먼저 고민해야하는 것처럼 언어 또한 도구였다. 어떤 언어가 자신의 목적에 적합한 지는 그 언어를 사용할 때 어느정도 생산성을 발휘할 수 있는 지로 판단할 수 있다. 좋은 도구을 현명하게 선택해서 적재적소에 사용하면 목적은 되는 것.

3장. 문법의 탄생
문법은 언어 설계자가 정한 규칙이다. 같은 처리를 구문트리로 표현하면 거의 동일하다. FORTH LISP는 규칙이 적은 것 중시했지만 적거나 간단하지 않았다. FORTRAN이 정해진 규칙을 대량으로 도입해서 ‘다가가기 쉬운 작성 법’을 중시했다. 하지만 다가가기 어려운 작성법이 존재하는 이유도 있는데, 그건! 바로 새로운 문법을 추가할 때 기존 문법과 마찰되지 않도록 하기 위함.


4장. 처리 흐름 제어
구조화 프로그램의 탄생. for,if,while문 등 처리 흐름을 제어하기 위한 규칙. 어샘블리어에는 if가 없는데 프로그래밍언어에는 있는 이유, if else사용의 장점, for 은 수치를 증가시키는 while을 읽기 쉽게 표현해준다.