헤드 퍼스트 C# - 모던한 객체지향 C# 가이드! .NET과 유니티로 배우는 실전 프로그래밍 지침서, 4판 Head First 시리즈
앤드류 스텔만.제니퍼 그린 지음, 이수겸 옮김, 이재윤 외 감수 / 한빛미디어 / 2023년 11월
평점 :
장바구니담기



요즘은 간편하게 사용할 수 있는 파이썬이 유행이지만, 아직 국내에서는 상용화된 프로그램 개발에 C++, JAVA, C, C# 같은 프로그래밍 언어들이 더 많이 사용된다. 어쩌다 보니, 이들 언어 대부분 다 겪어 봤는데, 내 경우 펌웨어, 임베디드 쪽에서는 C나 C++을 안드로이드 앱 개발에는 자바에서 코틀린으로 바꾸고 있는 중이다. 그래도 전체적으로 가장 많이 쓰고 있는 컴퓨터 언어는 C#이다. 일반 업무용 애플리케이션, 자동화 라인에 들어가는 PC용 프로그램 개발 대부분에 사용 중이다.


C# 덕분에 먹고살았다고 해도 과언이 아니다. 그만큼 가장 애정이 가는 언어고, 가장 편하게 쓸 수 있는 프로그래밍 언어다. 그러기에 앤드류 스텔만과 제니퍼 그린이 지은 '헤드퍼스트 C# 4판'은 다른 책보다 남다른 마음으로 보았다.



일단 이 책이 아니더라도 헤드 퍼스트 시리즈를 본 사람이라면, 헤드 퍼스트 시리즈만의 남다른 특징이 있다는 것을 잘 알 것이다. 노트 필기나 첨삭 지도하는 것처럼 느껴지는 자유분방한 구성, 편한 대화체 조언, 다양한 비유와 묘사를 섞은 위트 있는 설명 등 한마디로 재미난 책이다. 이수겸 옮긴이의 말을 보면, 헤드 퍼스트는 머리가 앞서는 행동 또는 충동적이고 무모한 성격을 나타내는 관용구라고 한다. 충동적, 자유분방함 다 맞는 거 같다.


이런 특징을 '헤드퍼스트 C#'도 고스란히 담고 있다. 딱딱한 느낌보다는 사람 냄새 솔솔 풍기는 그런 책이다. 그런데 교과서처럼 순차식으로 구성된 책을 선호하는 사람 경우 이런 구성이 생소해서 어렵게 느껴질 수도 있을 것이다.



그도 그럴 것이 '헤드퍼스트 C#'에서는 챕터 1에 일단 비주얼 스튜디오를 사용해서 다짜고짜 같은 그림 클릭해서 지우는 게임을 만들어 본다. 1부터 100 더하기 그런 게 아니다. WPF의 XAML, 마우스 클릭 같은 이벤트 제어가 나오고, List, foreach, 타이머 Threading 같은 게 나온다. 실무에서 많이 쓰는 것들이 그냥 처음부터 나오는 것이다. 그러니 당연히 어렵게 느껴질 수밖에 없다.


이렇게 하는 것은 일단 비주얼 스튜디오를 어떻게 사용하고, C# 언어가 어떻게 생겼는지 맛보기 위해서 하는 거다. 구석구석 다양한 설명이 같이 되어 있지만, 프로그래밍 언어를 전혀 모르는 초보는 무척 당황스러울 수 있다. 사실 챕터 2부터가 더 쉽다. 기초적인 C# 문법 설명이 주가 되기 때문이다.


초보는 겁먹을 수 있겠으나, 기존에 다른 프로그램 언어를 사용해 본 경험이 있는 사람에겐 오히려 좋은 방법이다. 그리고 이것이 프로그램 언어를 보다 빨리 익히는 방법이라고 생각한다. 간단한 프로그램 짜며 연습하는 것도 좋으나, 어렵더라도 실제 어느 정도 제대로 된 프로그램을 만들어 보는 것이 컴퓨터 언어를 마스터하는데 더 도움이 된다. 내 경험이 전부를 대표하지는 않으나 내 경험 결과는 그렇다.



책에 있는 그대로 따라 해보는 것 자체가 초보에게는 모험이면서 도전이다. 어렵게 완성해서 잘 작동하는 프로그램을 보며, 스스로 뿌듯해지고, 자신감도 생기는 거다. 잘 안돼도 그 과정 속에서 배우는 것이 진짜 많다. '헤드퍼스트 C#'의 좋은 점 중에 하나가 디버깅 연습을 해본다는 것이다. 디버깅을 못하면, 프로그래머가 될 수 없다. 에러 난 거 못 잡으면, 프로그램이 작동도 안 한다. 어쩌다 작동해도 나중에 오류 나서 찰진 욕만 듣게 된다.


아무튼 챕터 1 잘 이해 안 되면, 그냥 빠르게 읽어 나가고, 나중에 다시 보면 된다. 그때는 분명 이해 될 것이다.



'헤드퍼스트 C#'에 나오는 C# 문법 설명도 아마 다른 책과 많이 다를 것이다. 대부분의 책들은 이런 뜻이고, 이렇게 작성하고 이런 결과가 나온다가 전부다. 우리가 가장 편하게 생각하는 주입식 강의다.


그러나 '헤드퍼스트 C#'은 왜?, 이렇게 하면 어떻게 될까?, 의미가 뭐지? 이런 질문을 던져 코드의 의미를 다시 생각해 보게 한다. 우회로, 다른 방법, 효과적인 방법을 찾게도 한다. 강제적으로 생각을 하게 만든다.


오래전에 외국인 개발자와 함께 일하며, 그들이 하는 수업도 들을 적 있었는데, 그때도 이런 식으로 질문과 사고를 유도해서, 성질 급한 나는 답답하기도 하고, 상당히 낯설어 했던 기억이 난다. 이런 차이 때문에 이 과정이 다소 어렵게 느껴질 수 있으나, 그래도 책에선 뜸을 들이지만 정확한 답과 방향을 알려주고 있으니, 부담될 정도까지는 아니다.



게다가 책 곳곳에 연습문제가 나오고 있고, 쓰면서 제대로 공부하기, 무엇이든지 물어보세요, 코드 줄긋기, 낱말 퀴즈, 코드자석 같이 퍼즐을 푸는 형태로 C# 학습에 재미를 주면서, 깊이 있게 C#을 이해할 수 있게 돕기도 한다.


그리고 또 한 가지 특징을 들자면, 이 책은 윈도뿐만 아니라, 맥 사용자를 위한 내용도 담고 있다. 아예 부록편에 맥 사용자를 위한 Visual Studio for Mac 학습자 가이드가 있어 보다 상세히 설명하고 있다.



'헤드퍼스트 C#'을 읽게 되면 두 가지 덤을 얻을 수 있다. 우선 하나는 덤으로 게임 엔진 유니티에 대한 기초 지식을 얻을 수 있다는 것이다. 깊이 있는 내용까지는 아니지만, 책 내용이 게임 개발을 모티브로 한 스토리텔링 형식으로 내용을 전개하고 있으므로 게임 개발을 염두에 두고 C#을 배우려는 사람에게는 더욱 유용한 덤이 될 것이다.


또 다른 덤은 '헤드퍼스트 C#'에 다 못 담은 이벤트 처리기, delegate, MVVM, 추가 유니티 연구실 등을 깃허브에서 PDF 파일로 받아 볼 수 있다는 것이다. 자료들이 영문이지만, 구글 문서 번역 서비스를 이용하면 아쉬운 대로 쓸만하다.


초보는 아닌 만큼, 처음에는 유지 보수 차원에서 읽어 본다는 의미도 있었으나, '헤드퍼스트 C# 4판'을 읽다 보니, 재미도 있었고, 내가 제대로 몰랐던 부분도 여럿 확인할 수 있었다. 비주얼 스튜디오에 C# 대화형 창 기능이 있다는 것도 처음 알았다. 맨날 쓰던 기능만 쓰다 보니, 이런 게 있는 줄도 몰랐다. 아무튼 이렇게 재미있고 독특한 방식으로 C#을 설명하는 책은 '헤드퍼스트 C# 4판'이 유일할 것이다.


빠르게 C#을 익히려는 타 언어 개발자 또는 C# 초보 중에서도 실무에 근접한 다양한 정보를 얻으며 C#을 처음부터 제대로 배우려는 분에게 잘 어울리는 책이라 생각한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo