지인이 읽고 있는 책을 보고 흥미가 생겨 읽게 된 니시오 히로카즈의 '코딩을 지탱하는 기술'
. 생각보다 얇고 읽기 쉬워 순식간에 다 읽었습니다. 읽은 후에는 이 책에 대해 어떻게 생각하는지를 기록해두고 싶어 이렇게 글을 쓰게 되었습니다.
이 책을 통해 프로그래밍 언어와 그 개념이 왜 존재하는지를 생각해볼 수 있었습니다. 책에서는 방대한 정보 앞에서 좌절하지 않기 위한 세 가지 방법을 제시하는데, 필요한 부분부터 흡수하기, 대략적으로 파악한 후 상세화하기, 그리고 끝에서부터 차례대로 베껴가기입니다. 특히 '필요한 부분부터 흡수하기'
는 정말 공감되었습니다. 최근에 디스코드 봇을 만들 때 처음부터 라이브러리 문서를 읽지 않고 필요한 부분만 찾아 사용해 2일 만에 완성할 수 있었습니다. 만약 처음부터 모두 읽으려고 했다면 아직도 마무리를 못 했을 것입니다.
각 프로그래밍 언어의 탄생 목적은 어떤 과정을 더 편리하게
하기 위함이라고 합니다. 예를 들어, C++은 빠른 실행 속도를 편리하게 구현하기 위해, Python은 다른 사람이 작성한 코드를 쉽게 읽을 수 있도록 하기 위해 만들어졌다고 책에서 설명합니다. 이러한 편리함
의 목적을 이해하고 나니 애플리케이션 개발 시 어떤 언어와 기술을 선택해야 할지에 대한 기준이 생겼습니다. 다음 프로젝트에서는 이 애플리케이션을 만들 때 편리함을 주는 기술은 무엇일까?
라는 질문을 자연스럽게 던질 수 있을 것 같습니다.
if, while, for문과 같은 기본 문법이 현재는 당연하지만, 처음에는 없었으며 인간이 코드를 읽기 쉽게 하기 위해 만들어졌다는 사실도 새로웠습니다. 이를 통해 인간과 컴퓨터의 대화가 더 편리해지도록 문법이 발전해왔다는 생각이 들었습니다.
이 책을 읽고 나니 프로그래밍 언어가 개발된 주된 이유는 인간의 편리함을 위한 것이라는 결론에 도달했습니다. 사람마다 느끼는 편리함이 다르기 때문에 다양한 프로그래밍 언어, 라이브러리, 프레임워크가 존재하는 구나를 이해할 수 있었습니다. 무엇이 좋고 나쁘기보다는 내가 선호하는 기술을 활용하면 된다는 생각이 들었습니다. 앞으로 사이드 프로젝트를 할 때 내가 만들고자 하는 것을 가장 편리하게 구현할 수 있는 기술이 무엇인지 고민하고 선택해 보려고 합니다.