|
1장. 효율적으로 언어 배우기
1.1 비교를 통한 배움
규칙은 언어마다 다르다
복수의 언어를 비교해서 학습할 때 알게 되는 것이 있다. 그것은 '규칙은 언어마다 다르다'는 것이다.
프로그래밍 언어의 교과서에는 다양한 규약이 기술되어 있지만, 그것은 절대적인 약속은 아니다. '지금은 이렇게 약속하는 게 보다 수월하다고 생각하니 그렇게 합시다'라는 의미일 뿐이다.
어떤 언어의 교과서에는 '이런 규칙입니다'라고 쓰여있다 해도, 그것은 '이 언어에서는 이런 규칙을 씁니다'라는 의미일 뿐이다. / p.2
1.2 역사를 통한 배움
언어에 의존하지 않는 보편적인 지식의 습득
지금도 수많은 프로그래밍 언어가 '배우는 편이 좋아'라고 말하고 있다. 그러나 개별 언어 지식의 5년 후, 10년 후에도 도움이 될지는 아무도 모른다. 몇가지 언어를 비교하거나 언어의 역사나 이유를 조사함으로, 언어가 바뀌어도 통용할 수 있는 이해력을 기를 필요가 있다. / p.5
2장. 프로그래밍 언어를 조감하다
2.2 프로그래밍 언어 탄생의 목적
프로그래머의 삼대 미덕 (나태, 조바심, 자만심)
1. 나태(Laziness)
The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence , the first great virtue of a programmer. 전체의 노력을 줄이기 위해 수고를 아끼지 않는 기질. 이 기질의 소유자는, 다른 사람들에게도 유용하다고 생각하는, 노동력을 절감하는 프로그램을 만들도록 하며, 같은 질문에 몇 번이나 대답 않아도 되도록 문서를 작성한다. 그래서, 프로그래머의 첫 번째 미덕이다.
2. 조바심(Impatience)
The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least that pretend to. Hence, the second great virtue of a programmer. 컴퓨터가 게을러질 때 느끼는 분노. 이 기질의 소유자는 지금 있는 문제에 대응하는 프로그램에 그치지 않고, 향후 발생할 수 있는 문제를 감안한 프로그램을 만든다. 적어도 그렇게 하려고 노력한다. 그래서 프로그래머의 두 번째 미덕이다.
3. 자만심(Hubris)
Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer. 천벌을 내릴 정도의 과도한 자존심. 또는 다른 사람들에게 부끄럽지 않은 프로그램을 만들려고 또한 유지하려는 기질. 그래서 프로그래머의 세 번째 미덕이다.
3장. 문법의 탄생
4장. 처리 흐름 제어
5장. 함수
6장. 에러 처리
7장. 이름과 스코프
8장. 형
9장. 컨테이너와 문자열
10장. 병행처리
11장. 객체와 클래스
12장. 상속을 통한 재사용
'지니월드 > 공부' 카테고리의 다른 글
[책] 풀스택 개발자를 위한 MEAN 스택 입문 (0) | 2016.07.27 |
---|---|
[책] 모바일 우선주의 (0) | 2016.07.19 |
[책] (사용자를) 생각하게 하지마! / 스티브 크룩 (0) | 2016.02.24 |
[책] 인터랙티브 디벨로퍼 / 김종민 (1) | 2015.10.22 |
[책] 프론트엔드 개발자를 위한 자바스크립트 프로그래밍 (0) | 2015.09.08 |