이것이 C#이다 (개정판)
C/C++, Python을 주로 사용하는 개발자 입장에서 C# 언어를 처음 공부해보았습니다. 임베디드 환경에서 주로 개발을 진행하다 보니 Java나 C# 같은 가상머신 기반의 언어들을 접할 기회가 부족하였습니다.
- C#도 .Net Core 버전에 따라 리눅스/MacOS 환경에서 동작 가능합니다. C#은 Windows 환경에서만 동작한다고 생각했던 제가 얼마나 C#을 모르고 있었는지 새삼 깨닫게 되었습니다.
따라서 이것은 C#이다 책을 읽으면서 C/C++과 문법적으로 어떤 부분이 다르고, 성능적으로 어떤 차이가 있는지를 주로 생각하며 보았습니다.
800 페이지가 넘는 분량의 이 책은 프로그래밍을 처음 공부하는 사람에게는 C# 언어의 기본서로 공부하기 적합하다 느꼈습니다.
반대로 프로그래밍 경험이 있는 사람에게는 책의 구성이 잘 구분되어 있어 익숙한 내용은 빠르게 넘어가고, 새롭게 알아야 하는 내용은 집중해서 볼 수 있도록 잘 짜여있습니다. (학습 로드맵과 해당 챕터의 학습 목표가 학습하는 내용을 잘 아우르고 있습니다. 무작정 한 줄씩 읽어나가기 전 반드시 로드맵과 학습 목표를 살펴보고 어떤 부분을 집중해서 학습할지 고민한다면 잘 읽어나갈 수 있을 거라 생각합니다.)
- 특히 15장 LINQ 챕터는 C++에서는 기본으로 지원하지 않는 쿼리(Query)에 대해 자세히 알려주고 있고, 적절한 예제로 C#을 사용한 LINQ 사용법을 익힐 수 있었습니다.
- 또한 19장 스레드와 태스크, 21장 네트워크 프로그래밍 내용을 다루면서 해당 토픽에 대한 기본적인 개념을 설명하고, C# 언어에서는 어떻게 사용하는지 설명하는 것은 입문서로서 훌륭한 점이라 생각했습니다.
- 저는 주로 C++과 Python 관련 책을 읽었는데 입문서에서 병렬처리와 네트워크 프로그래밍을 다룬 책은 보진 못했습니다. 실제 개발을 진행하다 보면 병렬처리와 네트워크 프로그래밍을 생각보다 많이 다룹니다. 그래서 해당 개념을 다루는 책을 따로 공부했었습니다. 이것이 C#이다 책은 이 내용을 다루기 때문에 차별점이라 생각합니다.
입문서답게 기본적인 구조는 문법 설명 -> 예제 소개 -> 코드 작성 -> 결과 확인을 반복합니다. 이는 다소 지루하게 느껴질 수 있습니다. 하지만 중간중간 소개하는 여기서 잠깐 내용은 현재 설명 중인 문법과 관련된 추가 내용, 저자가 알려주는 팁과 조언들로 꽤 알찬 내용입니다.
- 개인적인 의견으로는 문법을 설명하는 내용은 다른 입문서에서도 충분히 학습 가능한 내용이지만, 저자가 알려주는 여기서 잠깐 내용이 특히 좋았습니다.
- 문법의 명세, 사용법 등은 인터넷을 통해서도 학습이 가능하지만, 실제로 C# 언어를 사용하는 개발자가 생각하는 바를 알려준다는 것은 분명히 강점입니다. 저자의 노하우를 저렴한 가격에 습득한다는 것은 책이 갖는 장점이라 생각합니다.
C++은 C++ 버전에 따라 **모던 C++**이라 전혀 다른 언어로 취급하기도 합니다. 특히 C++11 이후부터 추가된 내용을 아냐, 모르냐로 C++을 C++답게 사용하는지 확인하고는 합니다. 같은 한빛미디어 출판사에서 출간한 ‘전문가를 위한 C++‘은 소개하는 문법이나 내용을 C++ 버전에 따라 구분하는 방식을 채택했습니다.
반면 이것은 C#이다은 C# 9.0을 기준으로 합니다. 저는 C#을 몰랐던 상황에서 이 책으로 처음 접했기 때문에 모든 것이 새로웠고, 학습의 대상이었습니다. C# 8.0(또는 그 이전) 버전을 알고 있는 상황에서 이 책을 접한다면 새롭게 추가되는 내용이 무엇인지 쉽게 확인하기는 힘들겠다고 생각합니다. 이 부분은 한 가지 아쉬운 점이라 생각합니다.
- 하지만 C# 버전에 따라 차이점을 느낄 정도면 이미 입문서를 볼 수준은 넘어섰다고 생각합니다. 이 책에서 추천하는 MSDN C#을 자주 찾아보고 더욱 더 자세한 정보를 확인하도록 안내합니다. (여기서 잠깐에서 소개된 내용입니다.)
개인적인 감상평은 C#을 처음 공부하는 데 부족함이 없고, 생각보다 넓은 범위를 다루며 기본적인 C# 프로그램 개발에 필요한 필수적인 지식은 모두 담겨있다고 생각합니다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.