トップ «前の日記(2013-02-10) 最新 次の日記(2013-02-15)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2013-02-13

_ 10日でおぼえるC#入門教室

翔泳社さんと作業していたC#の入門書が本日発売されます(実際のところは良くわからないけど2/13という日付になっている)。

表紙や本文の脇にどことなく面影が私な人形(似ていなくもないが積極的には似せてはいない)が登場しているのが目印です。

10日でおぼえるC#入門教室 (10日でおぼえるシリーズ)(arton)

入門書ですが、考えた末いろいろ枠組みや重視する項目を変えてみました。

・考えたこと

今は2010年代だ。つまり、ほんの少しの文法知識があれば、Googleで検索してコードを探してコピペすればプログラムを作れる時代だ(入門書とは別にレシピ集みたいなものも買うこともできるし、探すこともできる)。

.NET Frameworkの規模は体系的に習得するのは無理だろう(必要になったらつまみ食い方式しかないだろう)。

いずれにしてもVisual Studioを前提にインテリセンスと即時名前解決が解決することをくどくど説明するのは意味ないだろう。

C#はマルチパラダイム言語だ。

それはそれとして写経って結構重要だ(もちろん人によるが、結果的に反復練習をしていることになるから、身につくという意味では効果的だ)。

C#はマルチパラダイム言語だから、手続き的にも関数的にも(ここではステートメント重視か式重視かという程度の意味)記述できる。

それはそれとしてオブジェクト指向プログラミング言語ではある。

というようなことから、比重は実装設計に寄せるのが良いだろう(というのは、これこそ反復練習で身に付くものだし、レシピ集やWebページつまみ食いではそうそう理解できるものではない)。

Twitter140字時代にくだくだ説明を書くよりも実例を見せるほうが良いのではなかろうか、というよりも間違いなくそうだ(なぜならばコードの読み方が身につけば、最初に戻ってコピペ自在だからだ)。

→ソースコード重視。

以下、目次の大項目と内容。各日は平均4章から構成。ほとんどの日は、起承転結にしている(導入-発展-設計見直し-まとめ)。

短いオリエンテーションを経て、

1日目:開発環境の準備と操作ガイド

Visual Studio Expressについて、操作方法を最初に説明

2日目:対話型プログラムでC#の基本をマスターしよう

オブジェクトの使い方(VB6的な自分でオブジェクトを作るのではなく、提供されているオブジェクトを使うこと。演算子、例外、必須ステートメント)

3日目:電卓プログラムでオブジェクト指向とラムダ式をマスターしよう

ポリモーフィズム。式に慣れる。

4日目:情報収集プログラムでデータの取得と分類をマスターしよう

コレクション(集合操作)、値オブジェクト(データとしてのクラス定義)

5日目:テキストエディターでファイルの読み書きをマスターしよう

入出力(文字コードについても説明)

6日目:射的ゲームでオブジェクトの継承をマスターしよう

3日目のポリモーフィズム(制御構造の代わりにオブジェクトを利用して説明)とは異なり、獣-犬タイプのクラス継承の説明。

7日目:サウンドプレイヤーでデータの利用と同期を学ぼう

バイナリデータ処理+ポリモーフィズム。非同期実行についての基本。

8日目:ソースコード閲覧プログラムで制御構造を学ぼう

手続き型プログラミング経由でポリモーフィズム。

9日目:リモコンプログラムで単体テストを利用した本格的プログラミングを学ぼう

TDD! (本当は最初にやるべきとは考えたが、どうやっても、この段階まで来ないとテストを記述するのは無理という結論となったので9日目) キューを利用したスレッドの同期。

10日目:パラパラマンガでWindowsストアアプリのプログラミングを学ぼう

この日は別口で、Windowsストアアプリについてさわりの紹介(Visual Studioが結構バギーなので欄外ノートにいろいろ注意が書いてあったりします)。

プラットフォームとしては10日目以外はWindowsフォームとしました。何で今更という気がしないわけではなかったけれど、WPFプログラミングとなるとC#以外(つまりXAML)の比重が大きくなり過ぎて書籍の内容が別物になってしまうので、シンプルにWindowsフォームです。

なお、練習問題はダウンロードで提供しています。ここも考えた末、Visual Studioの単体テストプロジェクトを組み合わせて、解答を打ち込んでテストやデバッグできるようにしました。Visual Studioの単体テストプロジェクトテンプレートと支援は結構うまくできていると思います。

お子様、奥様、ご両親へのお土産に書店で見かけたらぜひどうぞ!

謝辞:本書のどこにも書いてありませんが、文字コードの部分について、なるせさんにご協力いただきました。感謝しています(うな丼で感謝を示すこと>おれ)。

ここまで読んだ人へ:まだ見本というか著者分があまっているので、先着数名様へ献本します。興味がある方はTwitter(@arton)またはfacebookのほうへDMください。

本日のツッコミ(全4件) [ツッコミを入れる]
_ tkaot (2013-02-13 06:56)

入門でTDDまでやってくれるのはいいですね!新人教育用に買おうかなと思います。

_ 石坂 (2013-02-13 07:38)

Amazonさんが出荷してくれません。(´Д⊂グスン<br>なかなか楽しみです。

_ YanaginZ (2013-02-13 10:45)

ぜひぜひ、購入させていただきます。感想は聞かないでください。積読だけかもしれませんので・・・・。あしからず!!自分の怠惰は、棚に上げて部下には、ぜひ買うべし、感想聞かせろとパワハラギリギリの指導に活用させていただきたいと思います。

_ arton (2013-02-13 12:57)

takotさん、正直言って入門書だから必要だと思います。習慣付けだし。<br>石坂さん、お買い上げありがとうございますって今日には出荷されると思います。<br>YanaginZさん、誰かと思えば。よろしくお願いします。積ん読でももちろん嬉しいです。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|

ジェズイットを見習え