효율적으로 언어 배우기
- 비교를 통한 배움
- 역사를 통한 배움
- 정리
비교를 통한 배움
처음에는 C 언어와 Ruby의 참거짓 값을 가지고 언어 마다 규칙이 다르며 프로그래밍 언어의 규칙이 아니다라는 걸 설명한다. C언어의 참거짓 값은 '0이 거짓이고' 그 이외의 값은 참이고 'Ruby에서는 0이 참이다'라는 걸 보여주면서 잘못된 고정관념을 가지지 않도록 알려주고 있다.
나 같은 경우에도 Javascript를 위주로 공부해서 다른 프로그래밍 언어에 대해서는 잘 몰랐는데 이번 기회에 잘못된 고정관념을 가지지 않게 된 좋은 기회였던거 같다. 그 뒤로는 간다하게 Java의 참거짓 값에대해서도 소개한다.
//C
int main() {
if(o) {
printf("true!\n");
}else{
printf("false!\n");
}
}
//"false!"출력
//Ruby
if 0 then
print "true!"
else
print "false!"
end
//"true!"출력
역사를 통한 배움
프로그램 언어가 가지고 있는 어떠한 기능에 대한 설명을 읽고 설명만 알고 넘어가는게 아니라 이 기능이 '왜 필요한지'에 대해 알고 넘어가야한다.
언어 설계자가 어떤 문제를 해결하기 위해 그 언어를 만든것일까? 라는 물음에 그 언어가 어떤 흐름을 따라 만들어졌는지 알게 된다면 그 기능이 왜 필요한지 납득하게 된다.
어떤 언어를 배워야 하는지 아무도 모른다 라는 부제에서 밑에 글을 읽으며 생각이 든것은 웹 기술만 봐도 하루가 다르게 새로운 기술이 나오고 사람들에게 인기 있던 기술도 금방 인기가 사그라들때가 많다. 이 책에서는 수많은 프로그래밍 언어들이 5년 후, 10년 후에도 도움이 될지는 아무도 모르는 일이기 때문에 언어가 바뀌어도 통용할 수 있는 이해력을 기를 필요가 있다고 나와 있다.
정리
이 책은 특정 언어에 국한된 지식이 아닌 보다 보편적인 지식을 습득하도록 권유하고 있다. 그 과정에서 '비교를 통한 배움' 과 '역사를 통한 배움'이라는 방법을 사용했다.
'비교를 통한 배움'이란 프로그래밍 언어를 비교함으로써 공통적인게 무엇인지 배울 수 있다.
'역사를 통한 배움'이란 언어가 어떻게 바뀌고 어떤 의문점이 존재하는지 학습을 하는 것을 의미한다.
이를 통해 언어가 가지고 있는 다양한 기능이 '왜' 만들어지게 되었는지에 대해서 배울 수 있다.