|
컴퓨터를 배우면서 처음에는 C를 접했고 점점 많은 언어를 접하기 시작했다.
C다음 C++ 다음에 C#이 될줄 알았지만 Java 그다음에 C#을 갈줄 알았지만 Javascript그 다음에 C#를 갈줄 알았지만 WOW(월드 오브 워크래프트)때문에 Lua…
간단하게 만져볼 수 있었던 언어는 많았지만 서로 포팅 가능할 정도로 연습한 것들은 위의 것이 전부다.
드디어 돌고 돌아 마침내 C#레퍼런스 북을 만지게 된 이날이 왔다!!
![]() - 역시 처음 언어를 시작할때는 ‘한글’로 된 레퍼런스 북이 좋다. 이 책. 전 판인 ‘뇌를 자극하는 C# 4.0 프로그래밍’보다 책이 좀 작다. 4.0 -> 5.0으로 넘어가면 좀더 커져야 되는거 아닌가 내용도 추가 됬을텐데.. - 역시 처음 언어를 시작할때는 ‘한글’로 된 레퍼런스 북이 좋다. 이 책. 전 판인 ‘뇌를 자극하는 C# 4.0 프로그래밍’보다 책이 좀 작다. 4.0 -> 5.0으로 넘어가면 좀더 커져야 되는거 아닌가 내용도 추가 됬을텐데..C는 프로그램을 배우는 사람이라면 알다시피 다음버전인 C++과는 어느정도 호환이 되지만 C#과는 전혀 호환이 되지 않는다. 제작자 본인도 아쉬워하지만 계보를 따르자면 많은 기존 언어들의 장점을 넣은 진보된 언어다.
그림 : C# 너는 어디쯤 왔니? 이 뒤에 수많은 언어들이 존재하지만 들어보기만 했을뿐 만져본적도 없다.
![]() 출처 : http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
그림2 : 역시나 대부분의 상위권 언어들은 C를 기반으로 한 언어를 채택하고 있고(자바는 VM이 C로 제작됬으니) 뒤이어 스크립트 언어들이 따르고 있다.
1. 책을 소개하기에 앞서 C# 4.0 -> 5.0은 책의 버전이 높아진게 아니다!
"뇌를 자극하는 C# 5.0 프로그래밍"의 5.0은 책의 버전을 말하는게 아니라 레퍼런스와 라이브러리를 추가한 C#에서 지원하는 언어적 기능이 늘었다는것을 의미한다. C#은 상당히 진보된 언어적 패러다임을 가지는데 기존에 가독성 좋고 간단하게 지원하는 기능이 많은 언어들의 장점들을 합쳐서 인지 간단한코딩에서도 대부분의 기능을 동작하게 할 수 있다. 또한 무의미한 코드를 줄이기 위해 람다(Lamda)함수를 지원하였는데 가독성은 조금 떨어지지만 사용하면 코드가 좀더 간편해지는걸 느낄 수 있따. 하지만 역시나 너무 복잡한 코딩은 같이 일하는사람의 난독증을 유발시킬수 있으니 주의해야겠다.
일단 C# 2.0부터의 추가된 특징들을 나열해보겠다.
![]() 출처 : 위키피디아 C#
신기하게 생각했던 get, set, ???,은 2.0에서 추가되었고 5.0에선 비동기 메서드를 지원한다. 사실 스크립트 언어인 javascript가 부러웠던것은 간단하게 비동기를 구현할수 있다는것이었는데 C#은 자체 라이브러리로 안전하게 사용하게 만들었다. 대단한걸?
당연하게도 책에는 위에 변경사항들이 모두 포함되있다.
역시나 GUI부분과 네트워크 프로그래밍이 마지막에 있는 좋은 책. 많은 사람들이 저부분을 읽지 않겠지만 편집상 어쩔수 없이 뒤로 가야한다는걸 머리론 이해하지만 마음이 가면 알아서 찾겠지? 그나마 책이 좀 작은게 위안이 되는데. 그래도 내용이 뺴곡한건 마찬가지다. 책은 줄었는데 4.0버전에 있던 내용은 어떻게 다 들어간건지 편집의 마술이다. 종이 사용 절감! 환경 보호!
2. 책의 속을 파헤쳐보자
일단 내용자체의 설명이 나쁘거나 한점은 없다 압도적인 양의 예제에 이걸 언제 다 실행시켜 볼까 하는 생각은 들지만. 예제를 모두 실행해보는데 20시간 정도 걸린것 같다. 예제가 너무 얌전하니까. 쓰는법은 익히겠느데 어디다 써야될지는 모르겠고. 이걸 이용해서 무언가를 만들다 보면 뻥 터지는건 이 책이 아니라 MSDN과 Stackoverflow가 가르쳐줄꺼다.
![]() 그림 3: MSDN을 자꾸 왜 보라고 하냐고? 하다보면 알게되!
탄탄한 실용 예제 그리고 예상되는 문제점들을 잘 정리한게 이 레퍼런스 북의 장점이다.
그리고 프로그래머라면 좋아할만한 깨알같은...
그림 4. Nuclear Lunched Detected... R!P!G! OK.
다만 문제는 Delegate와 Lamda부턴데...
![]() 그림 5. 외계언가? 외계어겠지? 아니야?
Lamda 챕터가 지나고 난뒤 Lamda를 이용한 코딩이 보이기 시작한다. 하지만 이게 레퍼런스북을 보는 사람이라면 알겠지만 처음 봤을때는 가독성이 떨어진다. 다시 이 코드를 이해하기 위해 책을 뒤로 펼쳐야 하는것도 그렇고. Lamda는 분명 효율적이고 좋은 식이지만 연관되지 않은 각각의 챕터는 분리되어야 된다고 생각한다. Delegate를 사용한 식들은 좀더 편한 레퍼런스를 제공하지만 Delegate가 어떻게 이용되는지 써야되는데.. 그게 없네. 후반에 중요한 레퍼런스를 설명하니 만큼 이부분은 조금 간단하게 풀어써주었으면 한다. 갑자기 여러가지 복합적인 개념을 접목시키기엔 예제를 보아도 정확히 이해하지 좋아보이진 않는다.
3. 마무으리
좋은책
제 점수는요... 5.0만점에 4.5? 레퍼런스북으로 충분히 기능을 하고 오역이나 오탈자도 적다. 책이 작아져 무게도 감소했으니 전투력은 감소했지만 충분히 하나 벽장에 넣어두고 보기엔 좋은책. 다만 C#6.0이 나온다면...
|
|
프로그래밍을 하기 위해서는 특정 프로그래밍 언어를 공부할 필요가 있습니다. 물론 기본적인 알고리즘이나 자료 구조 등에 대한 공부등 다양한 것들이 필요하지만, 실제로 자신이 배운 것이나 생각하는 것을 실제로 '구현'해 본다는 경험을 위해서는 어쩔 수 없는 과정이 아닌가 생각합니다. 그 중 C#은 많은 사람들이 사용하는 PC기반의 프로그래밍을 경험해 보고 싶을때 선택할 수 있는 언어중 괜찮은 선택이 되지 않을까 생각합니다. 윈도우 기반의 어플을 제작하는데 있어서는 상대적으로 접근하기 쉬우면서, 그 성능이나 기능 또한 대단히 좋은 언어라고 알고 있습니다. 게다가 요즘 유니티와 같은 게임 엔진을 이용해서 게임을 개발하는데 관심있는 경우라면 C#에 대한 이해는 더 넓고 깊은 게임의 세계를 접하는데 꼭 필요한 능력일 것입니다.
책입니다. '뇌를 자극하는'시리즈의 특성이 초보자들을 위한 책이라는 점을 고려하면, 이 책 또한 그런 특징을 잘 살리기 위해 노력한 흔적을 볼 수 있습니다. 나름대로 느낀 이 책의 특징을 정리해 보면 다음과 같습니다.
우리 나라 저자의 책이라서 그런지 어색한 번역투의 말도 없고,
이 책의 특징은 초보자를 위해 설명이 차근차근 잘 되어 있다는 점입니다. 따라서 기존에 다른 언어를 이미 공부해서 잘 사용하고 있는 분들이라면 읽어나가기 지루할 수 있습니다. 따라서 C#의 몇 가지 특징만 파악하고 다만, 시간을 좀 두고 천천히 읽어보시면 도움이 되리라 생각합니다. 또한, C#을 이미 공부했지만, 그리 많이 써보지 않은 초보 분들에게 C#의 이해도를 높이는데 도움이 될 것 같습니다.
IT 관련 기술이라는 것이 계속해서 변화하고 발전하는 것이기 때문에 흐름을 따라가는 것이 중요한데요. 변화하고 있는 최신버전에 대해 설명하고 있다는 점이 이 책의 장점이기도 합니다.
초보자를 대상으로 한 이 책의 특성상 C#의 기본적인 사항이라 흐름을 이해하고 사용하는데는 큰 문제가 없지만, 실제로 프로그래밍에 익숙해지기 위해서는 다른 샘플 프로그램이나, 더 많은 내용들을 학습하는 것이 필요합니다. 이 책을 기반으로 C#의 다른 분야나 좀 더 깊은 내용을 다룬 책들을 찾아보고 확인하는 작업이 꼭 필요합니다.
몇 년전 C#에 대한 필요로 인해 이 책의 이전 버전을 읽었던 경험이 있습니다. 그 때도 잘 읽고 유용하게 사용했던 기억이 있습니다. 마침 이번에도 C#을 사용해야할 일이 생겨서 다시 이전책을 꺼내려고 했는데요 개정판이 나오게 되어, 다시 개정판을 읽고 유용하게 사용했습니다. 개인적으로는 만족스러운 경험이고, 시기가 잘 맞았던 것 같습니다. 저 뿐만 아니라 C#에 대해 궁금한 사람들에게 많은 도움이 되리라 생각합니다.
|
|
뇌를 자극하는 C# 5.0 프로그래밍 C# 이란 언어..
뇌를 자극하는 C# 5.0 프로그래밍
|
1장 프로그래밍을 시작합시다
22.4 가비지 컬렉션을 이해했습니다. 우리는 뭘 해야 하죠? |
혹시 몰라 마지막을 펴보니 ..
"어려운 점이 있으면 언제들지 들어오세요" 라는 문구와 함께
이 전판인 C# 4.0을 읽었던 독자들의 서평과 이 책의 독자들을 위한
한빛미디어의 블로그 주소가 적혀있었다..
정말 이책은 친절한 책이다..
앞장을 몇장 넘기다 보면 나름 마음에 드는 내용들이 있다..
바로 이 책을 입문서적으로 접하는 독자들을 위한 학습 로드맵이 바로 그것이다.
|
이 학습 로드맵은 몇 개의 섹션을 공부할 때 어떤 목표를 가지고 공부를 해야하는 지
그리고 어떤 부분을 독자가 공부하고 있구나를 알게해주는 책이다.
이제 내용을 보자..
사실 지금 이 서평을 적었을 당시에는 끝까지 다 읽은 후이다.
다 읽으면서 느낀건..
이책은 참 깔끔한 책이다..
라는 느낌.. 정말 이 책은 챕터 하나하나 다양한 정보들을 알려주려는 게 아닌
정말 말하고 싶은 핵심들을 필요에 따라 그림을 첨가하여
알려주고 있다..
| |
필요에 따라 "여기서 잠깐" 이라는 코너를 통해 필요한 기반지식을 알려주고 있다.
다만 아쉬운 점은 다양한 예제가 좀 부족하다는 것..
너무 깔끔한 나머지 윈도우 폼 프로그램에서
다양한 컴포넌트를 이용한 예제와 설명이 부족하다는 것..
다른 책들을 보면 많이는 아니지만 기본 컴포넌트를 이용하여
다양한 프로그램을 작성하는 예제를 많이 보여준다..
사실 c#의 편리함들 중 하나는 "드래그 앤 드롭"을 이용한 손쉬운 컴포넌트 배치와
컴포넌트에 대한 정의.. 즉, 손쉬운 "윈도우 폼 프로그래밍"이라고 생각하기에..
이러한 부분은 좀 아쉽다고 할 수 있었다.
이 책의 장단점..
앞서 위에서 설명했던 장단점을 정리해 보면 아래와 같다.
[장점]
1. 목차가 아주 알차다는 생각이 들게하는 책..
2. 정말 이책은 친절한 책이다..
3. 이책은 참 깔끔한 책이다..
[단점]
1. 다양한 예제가 좀 부족하다는 것..
2. 다양한 컴포넌트를 이용한 예제와 설명이 부족하다는 것..
|
C#은 언제나 배워보고 싶은 언어 중에 하나였다. 마땅히 배워볼 기회가 없어서인지 더 궁금했던 언어이기도 했다. 뇌를 자극하는 시리즈는 자바를 배울 때 독자의 입장에서 많이 생각했던 책으로 기억하고 있다. 이번 뇌를 자극하는 C#도 좋은 인상을 줄거라 생각하며 읽기 시작했다.
책의 순서가 어떻게 진행되는지 로드맵을 통해서 큰 숲을 먼저 독자에게 보여준다. 각 챕터에는 간단한 설명과 난이도를 표시하고 있다. C#을 구성하는 요소를 대략적으로 확인할 수 있다. 난이도 표시는 온라인 게임의 퀘스트와 같은 인상을 주기 때문에 한 챕터를 마칠 때마다 성장하는 기분이 들 수도 있다. 교재는 사용자가 자칫 실수를 하거나 자칫 잘 못 생각할 수 있는 부분까지도 신경써서 설명했다. 책을 읽다 보면 저자에게 개인 과외를 받는 인상을 받는다. 글만으로는 설명이 다소 부족한 부분은 충분한 그림으로 독자의 이해를 돕는다. 일부 페이지는 전부 그림으로 채워져 있는 부분도 있을 정도로 독자가 쉽게 이해할 수 있도록 배려했다. 델리게이트와 람다식에 대해서는 처음 접한 용어였지만, 책의 내용을 몇 번 읽어봄으로써 비교적 쉽게 이해할 수 있었다.
프로그래밍 서적은 독자로 하여금 직접 실습해 볼 수 있도록 코드를 제공한다. 코드의 중요한 부분에는 따로 설명을 달아 책을 앞뒤로 옮겨가며 부족한 부분을 찾아보려 하는 수고를 덜어준다. 코드 마지막 부분에는 간단한 실행 결과를 보여줌으로써 제대로 된 결과인지를 확인할 수 있도록 했다. 코드를 조금씩 개선해나가면서 프로그래밍의 재미를 느낄 수 있다. 뇌를 자극하는 시리즈 답게 단순하게 기본적인 개념을 익힌 뒤 기본적인 예제를 따라하는 수준이 아니라 독자로 하여금 여러 생각을 할 수 있도록 질문한다. 그로인해 조금씩 C#에 대한 실력을 키워나갈 수 있도록 구성되어 있다. |
|
뇌를 자극하는 시리즈 중 C# 5.0 개정판이 새롭게 나와서 읽어 본 책으로 프로그래밍을 처음하는 사람과 C#을 공부하고자 하는 사람을 대상으로 작성되었으며, C# 4.0에서 다루지 않았던 비동기 코드 패턴, 호출자 정보 애트리뷰트 부분이 추가되었다.
저자는 아래와 같은 사람이 이 책을 읽는 대상이라고 적시하고 있네요. 1. 프로그래밍 경험이 없는 사람 2. 다른 언어 입문서를 읽은 적이 있지만 실전 경험이 없는 사람 3. 번역서를 읽다 무슨 말인지 몰라 헤맨 적이 있는 사람 4. 프로그래밍 책을 끝까지 읽어본 적이 없는 사람
책의 앞부분에서는 프로그래밍 언어의 탄생과정(C#포함)과 비주얼스튜디오 익스프레스 설치 방법에 대해 설명하며, 처음으로 찍어 보는 "Hello World!" 메시지를 출력하고 그 원리(CLR)에 대해 간단히 설명한다. 중반부부터는 데이터(변수), 연산자, 흐름 제어, 메소드, 클래스, 인터페이스, 추상클래스, 프로퍼티, 배열, 컬렉션, 인덱서, 일반화 프로그래밍, 예외처리, 델리게이트, 이벤트, 람다식, LINQ, 리플렉션, 애트리뷰트, dynamic, 파일다루기, 쓰레드, 태스크에 대해 설명한다. 후반부에는 WinForm 사용방법, 네트워크 프로그래밍, 가비지 콜렉션에 설명하며 마무리한다.
![]() ![]()
만약 기본적인 프로그래밍 지식이 있다면, 앞부분은 가볍게 넘어가고 프로퍼티, 컬렉션, 인덱서, 델리게이트, 이벤트, 람다식, LINQ, 리플렉션, 애트리뷰트, 태스크 부분을 더 관심있게 보기 바라며, 후반부의 가비지 콜렉션은 반드시 이해하고 넘어가기 바란다.(C#으로 프로그래밍하다보면 가비지 콜렉션에 대한 문제(병목현상, 메모리 관리)가 한번씩은 발생하기 때문이다. 중급 이상으로 넘어가게 된다면 닷넷 프레임워크에 대한 벽에 봉착하는데..
본인은 C#보다는 C/C++, Java를 더 많이 다뤄봤기 때문에 언어 자체에 대한 바이블 책이 필요했기 때문에 이 책으로 필요시마다 한번씩 들춰보고 있다. 하지만 조금 더 실무적인 부분은 다른 책 또는 인터넷을 통해 습득하고 있다라는 점은 조금 아쉬움이 있다.
C# 프로그래밍을 공부하는 분은 이 책을 읽으면서 의문점이나 질문사항이 있으면 http://brain.hanb.co.kr/csharp 이쪽으로 문의하면 저자께서 친절하게 답변해준다. 그리고 가끔 저자의 생각이나 관심분야가 궁금하다면 블로그를 방문해보기 바란다. http://www.seanlab.net
자 여러분 시작이 반입니다. 책을 펼쳐보십시요~
|
|
뇌를 자극하는 C# 5.0 프로그래밍 ...
수업하시는 분이 이책을 추천해서 보고 있습니다. 초보자라서 그런지 상당히 어렵기는 하지만 두어번 읽고 또 읽고 하라고 해서 읽고있어요. 또 C언어가 다양해서 정확한 명칭을 이해하기도 힘들었는데.. 그나마 수업을 들어야 조금은? 이해야 하는 실정입니다. 그리고 수업후 복습을 위해 책을 구하려고 봤더니 이 책을 추천하더군요
초보자를 위한 책이라고는 하지만 완전 초보자인 저의 입장에서는 따라기는 조금 버겁기는 합니다. 천천히 책을 읽다보면 언젠가는 이해하는 날이 오겠지만. 왠지 생초보자들에게는 힘들다라는 결론이 납니다. 제가 생초보자라..ㅋㅋㅋㅋ c언어가 어렵고 생소하기는 하지만 그래도 처음 접하기 위핸 책이 무엇일까 엄청 고민하면서 샀습니다. 막연하고 C언에 대한 책도 많이 나와서 일가.. 동영상도 보고 했지만 이 혼자서 진도 쭉 빼버리는 책들에 중도에 포기까지 했지만. 그래도 일단은 기본적으로 C언에 대한 지식이 있는 분이 책을 읽는다면 더 도움이 될꺼 같은 생각이듭니다.
프로그래밍 경험이 전혀 없는 독자의 눈높이에 맞춘 설명으로 누구나 쉽게 C#을 배울 수 있다. 실전 경험이 없는 분들보다는 그래도 C언으를 접한 적이 있는 분이 다시 공부를 하기 위해 꺼내든다면 아마 도움이 많이 될꺼 같은 책입니다~
|