SlideShare a Scribd company logo
今日は「C#のマスコット」
って言って参加してるくせに
C#ですらない話をして帰る
マスコット参加っつっただろ
※
※ 縁起物として会場の隅っこに置いておくもの
意訳: 最近忙しいから勘弁して
でも何か話すことに
• ここが筑波大で、学生参加者が多いから
• かつライブ配信なしだから
自己紹介
C#でググれ
以上。
つまり…
普段、経歴も所属も含めて、
身の上話をほとんど話さない
話すこと
• 今日は身の上話も少ししようかと
要点:
• ビジョンを持って、ぶれない主軸を作る
• たまたま来る機会を逃さない
• いいと思ったものに誰よりも早く手を出す
• 10年も続ければ何でも板につく
経歴関連
スライド12枚ほど
検閲削除
つまり
謎は謎のまま
あの日、皆が見たのは
幻だったのでしょう
で、
ここ以降の話は
初心者とは…
知識との出会いが
まだないだけの人
のことであって
懇切丁寧に教えなきゃ
わかってくれない人のこと
じゃない
と思っている人間が
初心者向け勉強会に
呼ばれた結果
大事なのは
知識との出会い
知識を得るきっかけ
というお話
++C++;
C#によるプログラミング入門
経歴、個人・コミュニティ編
今や仕事みたいなものだけど
きっかけ
• 授業の課題だった
• 課題が出た時にちょうど、C#が発表された
• 2000年のPDC
• 当初は、MSの発表資料の単なる和訳みたいなレベル
• MSKKよりも早かったがために、超有名に
• 院試勉強用資料だった
• 研究室の同期相手に電磁気学とかを教えるのに使っ
た資料をそのままHTML化して公開
どうしてC#に興味を?
• C#の仕様書を見た瞬間に一目ぼれ
「これはすごい」と思った
• 当時、主にC++使ってて、Javaも少し
• この辺りに感じていた不満が解消されていた
• 他も、割と言語マニアでいろいろ見てたけど
• C#以上に「すごい」と思ったものはなかった
どうすごい
しばらくC#のよさを
語る時間になります
少しくらいC#マスコットの債務をまっとう
全体のバランス
• バランスいい
• 書きやすさと読みやすさ
• できる人の楽さと、できない人の間違いにくさ
• パフォーマンスと生産性
• IDEまで含めたトータル設計
• 開発運用面の考慮も
• ヘッダー要らない
(パスとか依存順とかも気にしなくていい)
• ビルド超速い
値型
• Java最大の鬼門
• Javaはintとかのプリミティブだけ特別扱い
• やつらオブジェクトじゃない
• Pureオブジェクト指向言語のくせに
• 性能面
• 間接参照削減
• GC削減
デリゲート
• 出た当時は主にイベント用に活躍してたけども
• いまや
• LINQ
• Parallel、Task.Run
• 関数型っぽいプログラミング スタイル
ジェネリック
• 真の(型情報が残る)ジェネリック
• リフレクションでも使える
• 高性能
• 値型と合わせて、間接参照、GC、ボックス化削減
• これがないと、LINQもいまいち
アセンブリ
• Win32時代ほどDLL地獄にはまらない
• C++みたいにライブラリを参照するだけで1日
仕事だったりしない
• Javaみたいに、物理パスがちょっと変わっただ
けで動かなくなったりしない
AppDomain
• プラグインとかでセキュリティ確保するには分
離が必要
• かといってプロセス分離は重たすぎてつらい
• プロセス内で、ソフトウェア的に分離・セキュリ
ティ確保
標準化
• C#は結構初期からオープン路線
• JavaはずっとSUNだけで仕様決めてた
• 当時からJavaはひどいって言われてたからね、ちゃ
んと調べれば
• SUNの認定試験必須、標準化されたのはかなり後
• 「アンチMS」期待で担ぎ上げられ過ぎた
• 「標準化したら結局MSの意見が混じって、MSには勝て
ない」なんて言われてた(所詮噂話)
相互運用
• 多言語対応
• ネイティブ相互運用
• 既存資産を無にしない
• なんでもは.NETだけでやろうとしない
• JavaはPure JavaとRun anywhereを狙いすぎた
• そのくせ、漏れるんだわ、仕様って
• ランタイムの実装変わっても動くフレームワーク書
ける人は案外限られる
これは2000年ごろの話
• C#が出た直後ですらこのくらいの差があった
(ジェネリックだけは2.0の話、他は1.0)
• いまや
• LINQ
• dynamic
• async/await
そしてそれからの十数年
• 部分部分、よりよい言語はいくつも出てきた
• でも、全体のバランスで見て「惚れる」ものに
はお目にかかってない
• C#という言語だけでなく、.NET全体、ライブラリ
やVisual Studioも含めてで
• 目先の便利さだけ求めてちゃダメ、考えなきゃいけ
ないことはほんと多い
これまでの教訓
単に自分語りしにきたんじゃなくて
ここからが本題
人とのつながり、大事
• 経歴を見ての通り、就職活動したことない
• 顔パス、コネ、出戻り
• 原稿仕事の依頼も ufcpp.net 経由
• 「原稿だけでは食えない」って時にも友達に
拾ってもらってる
• 大学の価値
• ufcpp.net の価値
• コミュニティ活動の価値
検閲削除
特にいまどき、コミュニティ
• とりあえず飛び込んでいけ
• いろんな会社の人が
• 勉強会にも出てるし
• Facebookメッセージとか意外と答えてもらえるし
• みんな後継者探しに苦労してる
• 自分1人だけだと仕事がスケールしない
ビジョン、大事
• 自分のビジョンと合致する仕事を
• 長続きしなかった専攻・仕事はビジョンが違った
• 検閲削除とかちょっと…
• ガラケーとかちょっと…
• 今の時代にスマホから外れるとかちょっと…
• 見つかるまで探せばいいと思う
• それまで別に他のことしながらでも割と平気
• しっかりしたビジョンを持ち続けてたら、機会を
持ってきてもらえることがある
やりたいことやる
• それができる人は限られるけど
• できる人くらいはやるべき
• でないと夢がない
• 子供が・後輩が、なりたい・やりたいと思える、
夢持てる仕事しなきゃ
やりたいことやれてるのは最
近
• 実際に思い通りやれるようになってきたのは割
と最近
• 誰になんていわれようと10年続けてたのが実って
る
• サーバー・クライアント両方C#とか、5年くらい前からや
りたかったことが、今ようやくできてる
• 割とみんなそうなると思う
• 大企業に入っても、部下付けて裁量権任されるよう
になるのがそれくらい
• フリーランスやってくにしても仕事取れるようにな
るのは
余裕、大事
• お金も
• 無職でも数年生きれる算段なかったら冒険的な生活
してない
• スキルも
• 仕事に余裕があるから新しい技術を調べられる
• 調べた分が次の仕事になる
• バックアップ プランも
• 「いつでもやめれる」 = 普通の人が取れないリス
クを取っても平気
バックアップ プラン
• C#な人だけど、C#に100%賭けてたりしない
• 設計力に自信あるからたぶんどんな言語でもでき
る、そっち売りにできる
• Win8/WP8の伸びがいまいちなら
• Xamarin推せばいいじゃない
• iOS上でC#使えばいいじゃない
• 開発だけじゃなくて
• 原稿仕事
• ufcpp.net の広告収入
主軸、大事
• バックアップはバックアップ
• 主軸がないと自信や余裕につながりにくい
• 自分の土俵があれば勝負は要らない
• 土俵に乗ってもらえるかどうかでほぼ決まる
• 全部1人でやるわけじゃない
• 自分の得意なところを提供して、
不得意なところは人から提供してもらう
• 自分が提供できるものは何か、常に考える
主軸さえぶれなきゃ
• ふらふらと落ち着かない人生やってきてるけど
大筋で見ると割と想像通り
• 理系の手に職で食ってるだろう
• .NETで何かやってるだろう
• ネット関連の何かやってるだろう
• 主軸がしっかりしてたんだと思う
• 数学できれば理系のどこ行っても通じる
• .NETはいいものだ
• 「人と人とのつながり」が大事
主軸1
• 数学できれば大抵の理系科目できる
• 十代のころはこれが自信と余裕の源だった
ちなみに、元々一番得意なのはITよりも数学
• それも理論物理方面で使うような数学
• 関数解析とか
• IT系で使う要素なにもない
主軸2
• 情報科学・情報工学の基礎がしっかりある
• C#がダメでも他もできる
• 今の流行に惑わされる必要ない
• いいと思ったものに、数年先まで見た投資できる
細かいところは気にしない
• 例えば、昔は所詮無知な学生で…
MSも、ダメな製品
はすぐに切る
オープンソース
とか知らない
ほんと
サポート長すぎ
知らないで
すまないだろ
若い頃の無知の例:
細かいところは気にしない
• たぶん、こんな人生 主軸
主軸の向きだけあってれば、
細かい間違いは誤差
タイミング、大事
• タイミング逃すな
• 万全期したうえでも、最終的には「なんかタイミン
グがよかった」でしかない
• 逆に、数少ないそのタイミングが来た時につかめる
ように、常に心構えを
ほんと、たまたま
• 元々、物理に強い
• 情報系に
• C#のサイト始める
• 今や、C#でスマホ ゲーム作り
高校の物理の先生がプログラミングもセミプロ
ちょうどサイト作ろうって時にC#の発表
二十歳前後のいい時期
任期、知人の紹介、etc.
誰よりも早く
• C#のサイト作ったは本当に何よりタイミング
がよかった
• 他に日本語サイトが全くなかった
• MSKK公式よりも和訳早かった
• そういうタイミングがたまたま来た
• そういうたまたまの時に
• サイト作る余裕があった
• ある程度、人への説明文章が書けた
そんな「たまたま」の中
• 主軸を考えるにあたって
• 個人の転機は割と来る
• 集団の転機はなかなか来ない
• 人数が多いほど、統計通りの動きにしかならない
• 特に、リーダーシップも取りずらい、組織をまたい
だ集団心理は
人口統計に基づく予想はかなりあたる
統計的な予想はあたる
• 避けられない未来
• 歴史は繰り返す
• 例えば「ケータイ市場、いつの間にかiPhoneと
Garaxyだらけに」
• 人口構造的に中韓に勝てない
• 安価な労働力、若い情熱の不足
• アメリカでのテレビ市場と一緒
• 経済成長期の日本に市場を取られる
統計的な予想はあたる
• 避けられない未来
• 歴史は繰り返す
• 例えば「ケータイ市場、いつの間にかiPhoneと
Garaxyだらけに」
• 人口構造的に中韓に勝てない
• 安価な労働力、若い情熱の不足
• アメリカでのテレビ市場と一緒
• 経済成長期の日本に市場を取られる
2000年頃にはもう言われてた
• 日本の携帯電話市場やばい
• (具体的にどの会社が覇権取るとか
までは誰にもわからなかったけど)
• そういう話は聞こえてくる
• 当時、一介の学生だった身にも
• いろいろな話をちゃんと聞いておくべき
• 後からしみじみと思い当たることも
だからといって
• そういう将来に気づいてる人は大体どこで何を
やっても平気
• ガラケー全盛期を作った人ら、
元からガラケーの専門家なわけない
• 世代的には「トランジスタでラジオ作ってた」みたいな
人らが責任者
• 専門は変わる、転身はできる
• もちろん常に学びを
最近の話題でいうと
• SIerからソシャゲ方面への転職とかむちゃく
ちゃ多いけど
• なんとなく「SIやばそうなので」じゃダメ
• なんとなく「バブルな業界に行きたい」でもだめ
• 何がどうダメで、じゃあこれからはどうあるべきか
• とか考えれれば、残っても、出ていっても、たぶん平気
まとめ?
• 人とのつながり、大事
• ビジョン、大事
• 余裕、大事
• 主軸、大事
• タイミング、大事

More Related Content

C#マスコット(公開用)