CLOUD/기타

[길벗 리뷰] 로버트 나이스트롬의 인터프리터 in Java, C

Rainbound-IT 2024. 2. 5. 11:34
반응형

 

 

 

내가 예전에 학부 시절 공부할때 언어라곤 C언어, JAVA만 배웠었다...

물론 주로 JAVA를 주로 사용하긴하지만 간단하게 작성할 수 있으면서 머신러닝에 정말 좋은 python, 웹개발하는데 거의 다쓰이는 javascript, 간결하고 굉장히 빠른 GO, 더빠른 Ruby 등 굉장히 많은 언어를 알게 되었다.

프로그래밍을 하면서 이러한 언어를 만들기 위해서는 도대체 어떤 지식이 필요하며 어떻게 만들어질까 하는 호기심은 있었으나 이러한 호기심을 해결하기위해서는 엄청난 지식과 시간이 필요할것 같아 생각을 그만두게 되었다.

그 중 인터프리터(python, ruby, javascript..)를 구성해볼 수 있다는 책이 있어 한번쯤은 소장하고 읽어보고 싶었다.

 

 

이 책을 선택해야 하는 이유!

딱딱하지 않은 구성

여러분과 함께 여행을 하게 되어 정말 신난다.

진짜로 산을 여행하는 것처럼 그려놓았다!

 

이 책 1장에 첫 구절인데 일반적인 IT 도서와는 다르게 구어체 및 소설 느낌이 난다.

IT 도서를 읽다보면 기본적인 개념 이론 실습 이런것을 압축해서 넣느라 문장의 문체에 전혀 신경을 쓰지 않는다.

첫 문장이 이런것을 보고 정말 재밌게 할수 있을것만 같다. 

그렇다고 해서 딴이야기만 하는것은 아니고 중요한 이야기도 많이한다. 

JAVA에서 가장 중요하다고 생각하는 부분인 OOP도 적용할 수 있게 클래스를 만들어 본다.

특히 비유와 은유도 섞어서 비문학에서 문학 느낌도 나는게 정말 나로썬 신선했다.

 

꼼꼼한 주석

필요한 주석이나 참조 사이트를 책 아래에 구성하여 바로바로 알수있게 적어놓았다.

보통 책들은 참조한것이나 필요한 주석같은 경우 뒤에다 다 때려박아넣어서 관련 내용을 추가적으로 찾아보기 너무 힘들었다. 

그리고 유래나 다른 예시또한 제공하여 꽤나 꼼꼼하며 책 디자인도 구분하기 쉽게 되어 있다.

 

원어 첨부

번역이 물론 엄청 잘 되어 있긴하지만 원어와 비교햐여 사람마다 이해하는 방식이 다를수가 있다.

그래서 약간 애매한 표현이라고 생각되는 부분은 원어를 첨부하여 이해하기 더 쉽게 하였다.

 

 

구성

꽤나 어려운 내용이기 때문에 쉽게 휘발되거나 이해가 안되는 부분이나 더 학습하고 싶을수가 있는데

수험서나 교재 같은 느낌으로 구성도 되어 있다.

 

내가 엄청 좋다고 한 구성은 다음과 같다.

  •  스니펫
    • 스니펫이 있어 코드를 같이 작성할때 좀 더 편하게 할수 있다.
  •  어사이드
    • 추가적인 이야기가 궁금할때가 많은데 이런 어사이드가 있어서 더 재미있게 읽을수 있다.
  •  연습문제
    • 어느 교재와 마찬가지로 복습해보는 느낌으로 해볼수 있다.
  •  디자인 노트

개인적으로 가장 좋아하는 부분이다.

 

IT 기술을 배울때 가장 중요한 부분중 하나가 이게 어디서 어떻게 쓰이는거야? 라고 생각이 든다.

디자인 노트는 다른언어나 다른 부분에서 해당 기술이 어떻게 쓰이는지 서술한다. 

연관되다 보니 이해가 잘되고 기억도 오래 남아서 정말 좋아하는 부분이다.

없는 챕터도 있긴해서 아쉽긴 한데 딱히 예시를 들만한 부분이 아니라 생각이 든다.

 

 

 

이 책을 읽고 난뒤..

책 제목 답게 어렵긴 한 내용이긴 하지만 글쓴이와 번역가 분이 잘 만들어주셔서 재밌게 여행하는 느낌으로 읽은 첫 IT 도서였습니다.

개발을 하시는 분들이라면 내가 쓰는 언어가 어떤식으로 만들어졌을까 하는 의문을 이책을 통해서 어느정도 해소가 될수 있을것 같네요.

물론 이책을 보면서 나의 부족한 개발지식에 대해 다시 한번 생각도 하게되고 부족한부분이 많이 채워지는 느낌이 났습니다.

그래서 한번정도 읽고 나서 해당 내용을 모두 이해했다고 생각하진 않네요.

저의 부족한 부분과 궁금한 부분을 굉장히 많이 해소 시켜주고 있어 여행이 아직 끝나지 않아 남은 여행이 기대가 됩니다!! 

 

 

 

반응형