Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

3,283 views

Published on

2013/06/22
つくばC#勉強会 にて発表。

  • Be the first to comment

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

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

×