코딩을 지탱하는 기술 독후감
나의 첫 독후감 포스팅이다. 나에게 많은 영향을 주었던 베르나르 베르베르의 소설 `파피용`을 먼저 쓸까 했지만, 읽은 지 오래되기도 하였고 지금은 새로운 정보를 더 중요시해야 한다는 생각이 들었고 그렇게 선택했던 책은 바로 코딩을 지탱하는 기술이다. 서수원 도서관에서 대여하였고 약 5일 정도 나눠서 읽었다.
이 책을 다 읽고 나서 느낀 것은 코딩은 전부 왜?라는 의문에서 시작되었다는 것이다. 이 언어는 왜 생겼는가, 이 문법은 왜 생겼는가, 이 함수는 왜 생겼고, 이러한 구조들은 왜 생겼는가를 큰 틀에서 간단한 예제와 함께 확인할 수 있었다. 그중 몇 가지 기억에 남는 것을 얘기해 보면,
첫 번째로 if, while, for의 탄생 배경이다. 지금에는 너무나도 당연하고 오히려 없으면 코딩을 할 수 있을까? 하는 의문이 드는 문법들이다. 과거에 이런 코드가 없을 때는 점프 혹은 goto와 END 등으로 코딩이 되었다면 조금 더 사람이 읽기 쉽도록 위와 같은 문법들이 도입되었다. if와 else는 말 그대로 조건을, while은 반복되는 조건을 읽기 쉽도록, for문은 유한한 수치가 증가하는 것을 읽기 쉽도록 하는 목적이 있다.
정말 부끄러운? 이야기지만 여전히 while에 조건을 넣을 때 헷갈리는 경우가 종종 있었는데 위와 같은 비교를 보고 나서는 while을 훨씬 더 잘 사용하고 있다.
두 번째로 에러 예외처리이다. 코드를 구현하다가 큰일이 일어나기 전 발생한 작은 문제를 사용자에게 이를 알리는 것을 에러라고 한다. 단순히 에러 상황을 피하는 것부터 에러를 처리하고 실패했을 때 점프하거나 반환값으로 에러를 알리고, 그리고 성공을 하던 실패를 하던 실행하고 싶은 코드를 추가하는 그런 발전과정을 겪어왔다.
요즘 예외처리를, 특히 데이터를 가져오고 저장하는 과정에서 많이 사용하는 데 에러 로그가 굉장히 상세하다. 그래서 문제점을 쉽게 해결할 수 있는데, 다 저러한 과정의 산물이 아닐까 생각된다.
세 번째로 스코프이다. 자바스크립트 스코프만.. 생각했었는데 유구한 역사가 담긴 고민 중 하나였다. 유효범위를 제한한다. 말로는 정말 쉽지만 컴퓨터에 적용하기에는 많은 고민들이 뒤따르고 있었다. 그리고 여러 에러들을 막기 위해 여전히 정적 스코프가 많이 쓰이고 있지만, 여전히 동적스코프와 유사한 개념들이 프로그래밍에 사용되고 있다. 특히 에러처리 같은 곳에서.. 어려운 개념이다. 아하 이런 건가..? 정도로 밖에 이해되지는 않지만 꾸준히 학습하다 보면 늘 것 같고 세부적인 내용이 궁금해졌다.
이외에도 오랜만에 여러 문법들이 탄생한 역사들과 컴퓨터에서 사용되는 2진수, 8진수, 16진수 그리고 주판... 7 segment 등의 내용들과 부동소수점, 자료구조, 해쉬테이블, 데드락, 객체, 상속 등 학부생 시절 배웠던 정말 많은 지식들을 다시금 떠올리며 즐겁게 읽을 수 있었다. 물론 모든 내용을 다 이해한 것은 아니지만 이 책에서 언급된 것처럼 한 번에 모든 걸 다 배우려고 하기보다는 천천히 조금씩 흡수해서 내 걸로 만들고자 한다.
개발을, 컴퓨터를 좋아하는 고등학생, 대학생, 주니어 개발자들에게 추천하면 참 좋은 책일 것 같다.
'일상 > 독서록' 카테고리의 다른 글
도둑맞은 집중력 | 요한 하리 (1) | 2024.09.13 |
---|---|
홍보의 신 | 김선태 (0) | 2024.04.23 |
역행자 / 자청 (2) | 2023.11.18 |