More Related Content More from Yusuke Matsushita (11) C#への招待2. Introduction
Hello everyone. My name is Yusuke
Matsushita. I am a 5th grader of Nada High
School. My handle as a programmer is
Kinokkory. Follow me on twitter @shiatsumat.
I am interested in category theory and fond
of Wikipedia. I belong to so many clubs I am
busy. I have learned many programming
languages and believe that C# is the best
choice. I hope that you will like this language
after this presentation.
4. 導入
• 僕が学んだプログラミング言語
▫ HSP, C言語, C++, C#, PHP, Javascript, Lisp,
Java, Scala, Haskell, F#...
• 今でも勉強中です
• これからC#という言語を皆さんに紹介します
• 今日の話は少し難しいですが頑張ってください
32. 豊富なライブラリ
• Windowsクライアント (WPF)
• ウェブサイト (ASP.NET)
• ウェブサービス (WCF)
• 業務ワークフロー (WF)
• ブラウザーアプリケーション (Silverlight)
• データベース (SQL Server, LINQ)
• クラウド (Windows Azure)
• ソーシャルコンピューティング(Windows Live)
• 並列処理 (TPL, PLINQ)
37. 人気言語C#
• Tags - Stack Overflow
1位 C# 2位 Java 3位 PHP
• PyPL プログラミング言語人気度ランキング
1位 Java 2位 PHP 3位 C#
• TPCI プログラミングコミュニティー指数
1位 C 2位 Java 3位 C++ 4位 Objective-C 5位 C#
38. C#がモバイル開発に最良の言語である
8つの理由
C#、2012年の首位プログラミング言語に名が挙がる
1. 最先端 – 非同期処理がファーストクラスな言語機能になり、かつ
ては退屈で、反復的で、エラーになりがちなコーディングを、単
純で楽しい体験に変えてくれます。それに、匿名型、ラムダ式、
型推論、関数型スタイルのプログラミング、LINQなどによって、
開発者は非常に意味のある、保守の容易なコードを書けます。
2. 強力な特性 – オブジェクト指向プログラミングとカプセル化は、
コードを構造化し、再利用性を最大限引き出すことを容易にしま
す。リフレクションや依存注入などの機能は開発者に多くの力と
柔軟性を提供します。
39. C#がモバイル開発に最良の言語である
8つの理由
3. 高度な実行環境 – ガベージ コレクションは、メモリを手動管理
することのオーバーヘッドをなくし、開発を非常に簡素化します。
開発者は、ポインターと戦うのではなく、解決したい問題に注力
できます。
4. 信頼性 – 型安全性は、コンパイル時にバグを見つけて切り出すの
を、より早く、より簡単にします。これは特にモバイル開発で重
要な特性です。モバイル開発では、パッケージ化して実機やエ
ミュレーターに配置するためにビルド/実行/テストのサイクルが
長くなりがちです。コンパイル時の正当性検査によって、C#開
発者は、明確なエラーを見つけるために、プログラムが実際にク
ラッシュするのを待つ必要はありません。
40. C#がモバイル開発に最良の言語である
8つの理由
5. 採用が簡単 – 非常に学習が簡単です(特に、オブジェクト指向プ
ログラミングの原理を既知の開発者にとって)。多大な量のC#
の参考資料があり、新しい開発者が行き詰らずに済みます。
6. 高速な実行 – C# on iOSは、LLVM最適化コンパイラー、つまり、
CとC++(OSを駆動させている)と同じバックエンドで動いてい
ます。これによって、C#の高い生産性 と、低級言語の実行性能
の両方の良いところ(the best of both worlds)を与えます。
Android上では、C#はJavaよりも良い性能を発揮します。これは
2つの理由があって、1つは言語設計の選択(値型、真のジェネ
リック型、既定で非virtualなメソッドのサポート)によります。
もう1つは比較的若いDalvikよりも、Mono実行環境が成熟してい
るためです。
41. C#がモバイル開発に最良の言語である
8つの理由
7. ネイティブ アクセス – ネイティブ コードとのシームレスな(継
ぎ目のない)相互運用も、両方の良いところを与えます。ネイ
ティブのライブラリを用いP/Invokeを活用することで、マネージ
コードの世界に追加の機能を触れさせることができます。これが、
iOSやAndroidのネイティブAPIの100%をC#開発者が触れられ
るように、 Xamarinがやっていることです。下層にあるプラット
フォームの表現力豊かな力にアクセスするすべを提供します。
8. ポータビリティ – そして大きな8番目。Windows、iOS、そして、
Androidで、22億以上のデバイス上でC#コードを実行できます。
そして、モバイルを超えて、C#は非常にポータブルです。モバ
イル、組み込み、デスクトップ、サーバーコンピューティングな
ど広い範囲の環境で使えます。
43. Visual Studio
• Visual Studioという開発環境がとても強力
▫ Visual C# Express Editionなら無料
• さまざまなツールが揃っている
• 初心者にとっては学習ツールとして最適
• 上級者にとっても開発ツールとして最適
44. 素晴らしいサイト
• 未確認飛行 C
▫ http://ufcpp.net/study/index.html
http://ufcpp.net/study/csharp/index.html
• MSDN
▫ http://msdn.microsoft.com/ja-jp/
必要なことはほとんど書いてある
47. もちろんC#以外の選択肢もある
• 僕が学んだプログラミング言語
▫ HSP, C言語, C++, C#, PHP, Javascript, Lisp,
Java, Scala, Haskell, F#...
• 今の時代は多様性の時代です
• HaskellとかF#とかお勧め
• C++は基礎教養
• 最終的にはいろいろな言語を覚えたほうがいい