なるほどなっとく C#入門
ナルホド ナットク シーシャープ ニュウモン
- 著者:
- 出井秀行(イデイ, ヒデユキ)
- 出版社:
- 技術評論社
- 出版日:
- 2019年03月
- ISBN:
- 9784297104580
- シリーズ:
- 新・標準プログラマーズライブラリ
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
C#のプログラミングに初めて取り組む方が理解し身に付けてほしい機能を厳選し、ポイントを絞った解説。C#の文法の説明だけでなく、なぜその機能があるのか、どういったときに使うのかという点も納得できるように解説。
技書の森解説
プログラミングの知識も経験もない状態から C# の基本文法を身につけることを目標にした入門書が、『なるほどなっとく C# 入門』 (出井秀行 著、技術評論社、2019 年 3 月刊) です。シリーズ「新・標準プログラマーズライブラリ」の 1 冊で、判型は B5 変形判です。版元は、初心者に理解して身につけてほしい機能を厳選してポイントを絞ること、C# になぜその機能があるのか、どんな場面で使うのかという点も納得できることの 2 点を解説方針として掲げています。C# の文法は膨大ですが、これから学ぶ人がすべてを覚える必要はなく、「なぜ」という疑問をひとつひとつ解消しながら利用頻度の高い文法を自分のものにする、という設計の本です。
第 0 章から第 15 章までの構成、コンパイラーの役割から例外処理まで
構成は第 0 章から第 15 章までの 16 章です。第 0 章「C# プログラミングを始める前に」では、プログラミングとは何か、機械語に翻訳するコンパイラー、統合開発環境、.NET という順に、コードを書く前に知っておく土台を扱います。第 1 章でプロジェクトとソリューション、using ディレクティブ、デバッグ機能を使った実行順序の確認を済ませ、第 2 章から第 6 章で変数と変数の型、演算と演算子、条件に応じた処理、繰り返し処理、配列という基礎を固めます。第 7 章「クラス/オブジェクト指向プログラミングの基礎」からが後半で、静的メソッドと静的クラス、String クラス / Math クラス / DateTime 構造体 / File クラスの利用、メソッドのオーバーロードとコンストラクター、値型と参照型、List クラスと LINQ、継承、ポリモーフィズムと進み、第 15 章「エラーへの対応」で例外をキャッチする方法、例外を発生させる方法、後始末が必要な場合の後処理を扱って終わります。
機能が無い状態を先に見せる節配置と、C# の型を理解する意味
C# を学ぶときの難所は、文法の量そのものよりも、なぜその仕組みが存在するのかが見えないまま構文を暗記してしまうことにあります。たとえば値型と参照型の区別は、変数が値そのものを持つのか、オブジェクトへの参照を持つのかという違いで、ここを理解していないと代入やメソッドへの引き渡しで意図しない挙動に出会います。オブジェクト指向 も同様で、クラスとオブジェクトの違い、static の意味、継承と is a 関係、抽象クラスやインターフェイスによる ポリモーフィズム は、それぞれ無い場合にどう困るかを知ってはじめて使いどころが分かる概念です。本書の目次には「オブジェクト指向以前」「継承を利用しない場合」「ポリモーフィズム以前」という節が、各機能の導入節の直前に置かれており、機能が無い状態を先に示してから機能を導入する流れが節題から読み取れます。ソースコードを機械語に翻訳する コンパイラー と .NET の位置づけを第 0 章で先に説明するのも、仕組みの理由から入る同じ方針の表れです。
対象読者と前提知識、プログラミング未経験でも読める理由
版元が挙げる対象読者は、プログラミングの知識はゼロだが C# を学習したいひと、C# の本 / 他言語の本を一応読んだことがあるが挫折したひと、C# プログラミングの知識が断片的でまだ統合された形になっていないひと、実際の C# プログラミングの経験も不足しているひとの 4 つです。前提知識は求められず、プログラミングの知識 / 経験がなくても基本文法を身につけられる入門書と版元は位置づけています。著者の出井秀行氏は、版元プロフィール (刊行時点) によれば東京理科大学理工学部情報科学科卒業で、2004 年から gushwell というハンドル名でオンライン活動を開始し、メールマガジンやブログなどで C# の技術情報発信に努め、2005 年から 14 年連続で Microsoft MVP アワードを受賞しています。同じ版元からの著書『実戦で役立つ C# プログラミングのイディオム/定石 & パターン』は、本書で基礎を固めた後に進む一冊の候補になります。
向かない読者と、2019 年刊の C# 入門書を選ぶ判断材料
向かないのは、他言語の経験が十分にあり、C# 固有の機能だけを手早く確認したい人です。本書は繰り返し処理や配列といった基礎から順に積み上げるため、そうした読者には冗長に感じられます。また目次は言語の文法とクラス設計に集中しており、ゲームエンジンやウェブアプリケーションのフレームワークを扱う章はありません。Unity や Web 開発が目的なら、本書で言語の土台を作った後に目的別の本へ進む二段構えになります。刊行は 2019 年 3 月で、記述の前提となる開発環境は刊行時点のものです。ただし本書が扱う変数、制御構文、クラス、継承、ポリモーフィズム、例外といった要素は言語の骨格にあたり、版が進んでも考え方そのものは変わりません。
初めてのプログラミング言語として C# を選ぶ人、あるいは一度 C# や他言語の本で挫折した人が、構文を暗記するのではなく、なぜそう書くのかを理解した状態で基礎を固めたいなら、投じた時間の回収が早い一冊です。目次が示す範囲を読み通せば、値型と参照型の違い、static の意味、継承とインターフェイスによるポリモーフィズム、例外処理といった C# の骨格を、それぞれの存在理由とともに使えるようになります。「なぜ」に答えてくれる入門書を探している人にとって、本書は堅実な出発点です。
言及した記事 (2 件)
この本に興味がある方におすすめ
関連する本
関連記事
ペアプログラミングのように本を読む - 2 人 1 組の輪読術
ペアプログラミングの手法を読書に応用する「ペアリーディング」を紹介します。1 人がナビゲーター、1 人がドライバーの役割でその場で一緒に読む進め方と、向いている本をまとめます。
本を読むと質問が上手くなる
プログラミングで困ったとき、上手に質問できる人とできない人がいます。差が出るのは、正しい用語と、自分の理解の境界線を言葉にできるかどうかです。読書がそこに効く理由と、質問力を高める読書法を紹介します。
1 冊の本を 3 人で読むと理解が 3 倍になる理由
同じ本を複数人で読むと、1 人では気づけなかった視点が次々と現れます。読書会が理解を深めるメカニズムと、少人数で始める具体的な方法を解説します。
関連用語
バックプレッシャーとは - ストリーム処理の流量制御を図解で理解する
バックプレッシャーは下流の処理能力を超えるデータ流入時に上流へ減速を伝える仕組み。Node.js Stream/RxJS/Kafka での実装パターンと OOM 回避策を解説
CloudFormation
AWS のインフラをテンプレート (YAML/JSON) で宣言的に定義および管理する IaC サービス
AWS SAM
AWS のサーバーレスアプリケーションを定義 / デプロイするためのフレームワーク
プログラミング
コンピューターに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
Laravel
PHP 製の人気 Web フレームワーク。優雅な記述と豊富な機能で開発を効率化する
セマンティック HTML
HTML 要素の意味 (セマンティクス) に基づいてマークアップし、支援技術や検索エンジンが文書の構造を読み取れるようにする手法