코딩을 지탱하는 기술 서평
24.02.03
읽게된 배경
여느 때와 같이 아침 10시 30분에 데일리 스크럼을 하고 있었다. 프로젝트 같이 하고 있는 우영님과 스크럼을 하는데 코딩을 지탱하는 기술 책을 추천해주셨다. 그래서 한번 읽어보게 되었다.
기억에 남는 부분
4장의 처리 흐름 제어와 6장 에러 처리가 기억에 남는다.
4장의 내용은 사람이 프로그램을 더욱 편하게 쓰고 읽을 수 있도록 구조화 프로그래밍의 도입에 관한 내용이다. 세부 주제로 if가 탄생하기 전에는 어셈블리어로 어떻게 작성했는지, if-else는 왜 있는지, C의 goto는 가독성이 왜 좋지 않은 지 등등 이런 내용을 다룬다. 이 장을 읽으면서 우리가 평소 당연하게 사용하는 if, else, while, for 등을 사용하지 않아도 프로그램을 만들 수 있지만 왜 사용해야 하는지 잘 알 수 있었다. 또한 JS의 고차함수의 등장배경을 잘 알고 있음으로써 알기 쉬운 코드를 구성해야 함의 필요성을 다시 한번 깨닫게 되었다.
6장은 예외 처리에 관한 역사를 자세하게 알 수 있어서 좋았던 장이다. 처음 코딩을 배울 때 학교에서 C언어로 return -1
로 반환 값을 던지는 예외 처리를 많이 했었다. 그때에는 다른 언어는 어떻게 하는지 몰랐고 다른 코딩 지식이 아예 없으니 당연한 것으로 받아들였다. 그런데 이 장을 읽고 '아 그때 내가 이렇게 한 게 C언어에서 주로 사용하는 반환값으로 실패를 전달하는 방법이었구나'라고 알게되어 좋았다. 반환값을 알리는 방법에서 실패할 것으로 예상되는 부분에 try~catch
문으로 감싸는 현대의 예외 처리까지 발전 과정을 한눈에 볼 수 있어 흥미 있게 읽었다.
책을 읽고 나서..
이 책은 프로그래밍 언어에 등장하는 개념에 대해 왜 이 개념이 필요한지, 다른 언어들은 어떻게 이를 구현했는지 비교하며 알려준다. 이를 통해 특정 언어에 국한된 지식이 아닌 코딩과 관련된 보편적인 지식 습득을 목표로 한다.
1장을 읽으면서 기억에 남는 말이 있는데 '공통으로 사용되는 개념이야말로 중요한 지식이다.'라는 말이었다. 이 말에 공감하며 책을 읽으면서 각 개념을 여러 언어에서 어떻게 다루는지 확인하면서 여러 언어를 경험해 보는 것의 중요성을 알게 되었다. 언어마다 만들어진 설계가 다르고 비교를 통해 어떤 설계가 더 좋은지 판단하는 내 나름의 기준을 세우는데 도움을 준 것 같다.
지금은 FE 개발을 주로 하다 보니 JS와 TS를 사용하는데 새로운 언어를 배워보고 싶다는 생각이 들었다.
책을 읽으면서 개념을 설명하는 과정 또한 재미있었다. 개념을 설명할 때 이를 통해 해결하려고 했던 문제가 무엇인지, 과거의 어떤 상황이 있었는지 같이 이야기해 주어 흥미 있었다. 또한 책을 읽으면서 대학교 CS 전공 수업에서 배운 개념들을 다시 얕게 상기시킬 수 있어서 좋았다.
Hustle-dev
It is possible for ordinary people to choose to be extraordinary.