jess1***
2022-04-26

신생 함수형 언어인 엘릭서를 기초부터 심화까지 알려주는 도서
추천사 일부 발췌 : 얼랭 가상 머신에서는 모든 코드가 여러 작은 프로세스에서 동시에 실행됩니다. 각 프로세스는 각자의 상태를 가지고 메시지를 통해 서로 소통합니다. 모든 커뮤니케이션이 메시지 전달을 통해 일어나므로 얼랭 가상 머신의 중개를 통해 같은 네트워크 안에 있는 서로 다른 머신끼리도 메시지를 주고 받을 수 있습니다. 분산 소프트웨어를 만들기에는 최적의 환경이지요!
하지만 얼랭 생태계에는 뭔가 부족한 부분이 있다고 느꼈습니다. 메타프로그래밍, 다형성, 프로덕션 환경에서 사용할 수 있는 툴과 같이 일상적으로 사용하는 기능에 대한 지원이 더 필요했지요. 그래서 엘릭서는 그런 필요로부터 탄생했습니다.
엘릭서는 함수형 프로그래밍을 실용적으로 접근한 결과물입니다. 함수형 프로그래밍에 가치를 두면서도 생산성에 초점을 맞췄지요. 동시성은 엘릭서 소프트웨어의 뼈대 입니다. 가비지 컬럭션이 메모리 관리의 늪에서 개발자를 해방했듯 엘릭서는 낡은 동시성 관리 메커니즘으로 부터 여러분을 해방해줄 겁니다. 그리고 동시성 관리 코드를 작성하는 일이 즐거워질 겁니다.
옮긴이의 말 : 국내 IT서적 중 처음으로 엘릭서를 다룬 책이고 , 이 책을 통해 국내에 엘릭서 사용자가 조금이라도 늘면 좋겠다는 생각과 앞으로 관련 주제의 번역서가 이어서 나오기를 바라는 마음을 담아 번역을 했다고 합니다.
1.4 이 책을 잘 읽는 방법
이 책은 엘릭서의 모든 내용을 처음부터 다루는 레퍼런스 형식의 책은 아니었다. 대신 무엇을, 언제 질문해야 하는지를 충분히 알 수 있도록 구성을 했다. 책을 읽으면서 코드를 작성해보되, 거기에서만 그치지말고 스스로에게 질문을 던지고 인터넷으로 답을 찾아보는게 좋다고 한다.
- 객체지향 프로그래밍이 코드를 설계하는 유일한 방법은 아니다.
- 함수형 프로그래밍은 복잡하거나 수학적이지 않아도 된다.
- 프로그래밍의 기본이 할당문, if문, 반복문은 아니다.
- 동시성 프로그래밍에 락, 세마포어, 모니터 같은 것들이 반드시 필요한 것은 아니다.
- 프로세스가 꼭 비싼 자원은 아니다.
- 메타프로그래밍은 언어에 얽매여 있지 않다.
- 아무리 일이라도, 프로그래밍은 재밌어야 한다.
서평 : C++, C#은 당연히 다르고 함수형 언어인 자바스크립트 하고도 많이 다른 언어였다. 비슷한 언어가 있는진 모르겠지만, 내가 아는 언어 중에서는 비슷한건 없었다. 대략적으로 어떻게 다른지 비교해보면서 책을 간단하게 읽어보았고, 생각보다 상당히 매력적인 언어였다.
문득 지인이 게임 UI 개발에 엘릭서 언어를 사용하고 있다고 했던 것이 생각이 났다. 그래서 나중에 라도 다시한번 꼼꼼히 읽어볼 가치가 있는 책이라고 생각된다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."