한빛미디어에서 [상품 협찬]을 받아 후기를 작성하였습니다.( 책 무료 제공)
안녕하십니까?
이것이 C#이다
처음부터 끝까지 입문자를 배려한 C# 입문서를 읽고 솔직한 후기를 작성하고자 합니다.
책 표지를 보고 초등학생인 아들이 너무 좋아했습니다.
제가 먼저 읽고 아들에게 바로 넘겨 주기로 약속했습니다.
이 글을 쓸 때쯤이면 아마도 초등학생 아들이 열심히 읽고 있을 것입니다.^.^
어떤 내용들이 담겨있고 어떤 느낌이었는지 지금부터 살펴 보겠습니다.
[책 표지]
1. 이 책을 읽기 전에
온라인에서 책을 고른다는 것은 매우 어렵다. 온라인상에서 볼 수 있는 것은 목차와 저자 약력,간단한 독자 리뷰가 책을 선택할 수 있는 전부이기 때문이다.
프로그래밍 언어 제작사 홈페이지에 나오는 “개발자 가이드”보다 못한 책도 간혹 보기에 더더욱 조심스러웠다.
기 보유한 C# 책이 여러 권 있지만 입문서이다 보니 어려운 내용들은 일부 빠져 있을 것이라 생각했다.
하지만 이 책의 목차를 보니 그래픽과 데이터베이스 부분을 제외하고는 대부분 포함되어 있었다.
나는 컴퓨터를 전공한 현직 프로그래머이다.
시대의 흐름에 따라 다양한 언어를 접했고 본격적인 GUI 프로그래밍은 2015년부터 시작했다.
이때 접한 언어는 엑셀에 포함되어 있는 Excel VBA이다.이후 닷넷으로 관심사가 옮겨졌고 VB.NET과 C#.NET으로 기업체에서 프로젝트를 진행했다.
최근 들어 안드로이드 앱 프로그래밍을 시작하여 Java도 관심사이다.
Java와 닷넷은 닮은 점이 많은 언어라 생각한다. 자바가 먼저 출생했고 C#이 동생이 되지만 나는 닷넷(그 중에서도 VB.NET)을 먼저 접했다.
2.책장을 넘기면서 느낀 첫 느낌
책 내용을 떠나서 내가 제일 먼저 보는 것은 가독성이다.
이 부분은 상당히 중요하다고 생각한다.
아무리 내용이 좋아도 읽기에 불편하면 정독하기 어렵기 때문이다.
모 출판사의 유명한 책이 있는데요. 꽤 유명한 책입니다.
내용은 좋은데 전체적으로 지면이 너무 어두워서 몇 장 넘기다보면 쉽게 눈이 피로해 진다.
하지만 이 책은 눈에 부담이 없게 부드러운 색을 사용하였고 전체적으로 밝고 깔끔하다.
많은 색을 사용하지 않고 2 ~ 3가지 색상으로 고급스럽게 편집이 되어 있다.
편집자 분께서 꽤 신경을 쓰신 것 같다.
[깔끔한 편집]
3.어떻게 구성되어 있나?
이 책은 학습목표와 학습 흐름(Flow)을 먼저 제시한다.
뭘 학습해야 할지 목표를 정하는 방식은 초등학교에서 자주 접해 본 방식이다.
1) 대주제가 있고 소 주제별로 문법(형식)을 보여주고 요약 설명을 한다.
2) 간단한 예제 코드 작성
3) 응용 코드 작성
4) 소 주제별로 전부 설명이 끝난 후 연습 문제가 있다.
(제일 싫어하는 시험이죠^^, 꼭 풀어야 하는 의무는 없으니 풀기 싫으면 Pass하면 된다.
4.다소 아쉬운 점과 만족스런 점
1)소스 코드의 띄어쓰기가 일정하지 않다.
5.2.3. for 문 설명 중에서
for ( int i =0; i<5; i++ ) p.164
for (int i = 0; i < 5; i++) p.165
5.2.6. for 또는 while을 이용한 무한 반복 코드 예제 코드 중에서
int i=0; p.120
int i = 0; p.120
예를 들면 동일한 페이지에서조차 띄어쓰기가 다르다.
띄어쓰기를 제대로 하지 않으면 Visual Studio에서 그대로 놔두지 않는다.
자동으로 깔끔하게 코드를 정리해 주기 때문이다.
하지만 책에서는 일정한 패턴을 유지해야 더 좋을 것 같다.
2)예제 코드가 실무 프로젝트와는 다소 거리가 멀다.
대부분의 입문서에 나오는 예제의 컨셉과 유사하다.여러 프로그래밍 책을 접해 본 나로서는 다소 식상하다.
예를 들면 클래스와 상속을 설명할 때 Cat 클래스와 Dog 클래스가 대표적이다.(개,고양이,동물,포유류등등)
주위에서 반려동물로 흔히 볼 수 있는 고양이와 개를 선택한 것 같다.
Java언어에서도 고양이와 개 클래스가 나온다.
상속 개념을 설명하면서 계속 동물에 대해서 나온다.
하지만 프로그래밍 책을 처음 접하는 분들은 재미있고 친근하게 접근할 수 있으니 걱정하지 않아도 된다.
어떤 독자이냐에 따라 다르기 때문이다.
5.나는 이 책으로 어떤 결과를 얻으려 했는가?
나는 깊이 있게 C#을 공부하지 않고 실무 프로젝트를 먼저 진행 했다.
즉, 개발하면서 공부를 한 셈이다.
이에 시간적 여유가 생겼을 때 기초부터 체계적인 개념 정립을 하고 싶었고
그 목표에 알맞은 책을 선택했다고 생각한다.
학습에는 정해진 학습 방법이 없다고 생각한다.
"개발하면서 어떻게 공부를 할 수 있는가?" 라고 반문할 수 있겠지만 실제로 나는 입문서 정독부터 하지않고 개발부터 먼저 했다.
고급 기법을 사용하지는 못했고 코드도 간결하지 못했다. 하지만 우선은 결과가 중요하다.
고객은 많은 시간을 주지 않는다. 빨리 만들어 납품해야 하기 때문이다.
미비한 부분은 유지보수에서 진행하면 된다.
6. 어떤 식으로 읽었나?
끊임없이 나 자신에게 질문을 던졌다.(왜? 왜? 왜?)
- 이런 식의 코드가 실무에서 사용되었나? (사용빈도나 중요도)
- 어떻게 응용할까? (기 진행했던 프로젝트의 코드를 되새겨 보았다)
- 자바의 문법과 비교하면서 읽었다.(자바의 용어와 차이점)
- 책에 나오는 코드를 대부분 입력하고 변형해 보았다.
- 자바의 중괄호 스타일과 동일하게 변경해서 코드를 작성해서 실행해 보았다.
7.이 책을 추천하고 싶은가?
C# 프로그래밍 입문서로 손색이 없다고 생각한다.
앞서 언급을 했지만 그래픽과 데이터베이스 부분을 제외하고 대부분의 주제를 다 다루고 있다.
향후 개정판이 나온다면 데이터베이스와 그래픽 부분, Winforms 영역도 보강하여 실무중심의 중급자용으로 출간되었으면 좋겠다.