본문 바로가기

책/코딩을 지탱하는 기술

코딩을 지탱하는 기술 - 2


효율적으로 언어 배우기

  • 비교를 통한 배움
  • 역사를 통한 배움
  • 정리

 

비교를 통한 배움

처음에는 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년 후에도 도움이 될지는 아무도 모르는 일이기 때문에 언어가 바뀌어도 통용할 수 있는 이해력을 기를 필요가 있다고 나와 있다.

 

정리

이 책은 특정 언어에 국한된 지식이 아닌 보다 보편적인 지식을 습득하도록 권유하고 있다. 그 과정에서 '비교를 통한 배움' 과 '역사를 통한 배움'이라는 방법을 사용했다.

 

'비교를 통한 배움'이란 프로그래밍 언어를 비교함으로써 공통적인게 무엇인지 배울 수 있다.

'역사를 통한 배움'이란 언어가 어떻게 바뀌고 어떤 의문점이 존재하는지 학습을 하는 것을 의미한다.

이를 통해 언어가 가지고 있는 다양한 기능이 '왜' 만들어지게 되었는지에 대해서 배울 수 있다.