SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
C#のやさしさを語る時間
2013/10/12 C#の素晴らしさを語る会
@kamukiriri
自己紹介
HN:

kamu(@kamukiriri)

仕事:元.NET系業務システム開発者
現iOSアプリ開発者
プログラミング暦:
C#, Objective-C, Javascript, Ruby,
PHP, VB.NET,VB6, VBA, VBS, etc...
はじめに

みなさんC#書いてますか?
Visual Studio使ってますか?
はじめに
僕の場合仕事では・・・
・Objective-CでiOSアプリ
・Rubyでバッチ処理やWEBシステム
・まれにJavascriptも
・開発マシンはMac
はじめに
プライベートでは・・・
・ビールを飲み
・クッキーを焼き
・艦娘とたわむれ
はじめに

実は僕、使っていません!

※ここしばらくは
はじめに
しかしながら・・・
使えないからこそ改めて実感できる
C#とVisual Studioの素晴らしさがある
はじめに
C#とVisual Studioの素晴らしさは色々あ
りますが、今日はそのなかでも特に

”やさしさ”
について語りたいと思います
はじめに

※

本発表は個人の感想によるものです
体感には個人差があります
4つのやさしさ
1. 導入がやさしい
2. 情報がやさしい
3. 開発環境がやさしい
4. 型制約がやさしい
やさしさ①

導入がやさしい
導入がやさしい
まず導入が楽です!
・Express Editionなら無料
・IDE(統合開発環境)と言語が1セット
・インストーラーをダウンロードして
何回かクリックするだけで準備完了
導入がやさしい
次のような煩わしさとは基本無縁です
・ソースからビルドしないと入らない…
・パスとか設定しないと動かない…
・追加で色々入れないと開発できない…
・別のバージョンと競合した…
やさしさ②

情報がやさしい
情報がやさしい
日本語の情報源が豊富です!
公式ドキュメントのMSDNライブラリはもち
ろん、個人のサイトやblogでも多くの情報
が取り扱われています
情報がやさしい
MSDNライブラリは内容も充実!
単純なリファレンスだけではなく…
・初心者向けにチュートリアル
・上級者向けに言語やライブラリの仕様
なども掲載されています
やさしさ③

開発環境がやさしい
開発環境がやさしい
C#とVisual Studioの様々な便利機能
・強力なコード補完
・#Regionによるコード折りたたみ
・コーディング中のエラー表示が豊富
・豊富なデバッグ機能
・etc...
開発環境がやさしい
「それIDEならわりと普通では…」
ひとつひとつ見るとその通りなのです… が、
安定感、機能水準、使いやすさ
この3点が他と比べて上手く纏まっていると思うよう
な思わないような…(完全に主観です)
開発環境がやさしい
あと、後方互換性が高いです
C#や.NET Frameworkのバージョンが上がって
も、基本的にはソースコードの修正無しで動作しま
す
開発環境がやさしい
余談ですが互換性といえば…
同じ.NET仲間のVB.NETと違って、
一見、移植が簡単かの様に錯覚されてしまう
レガシーな祖先がいないのも末端の開発者にやさ
しいかったりするかもしれませんね!
やさしさ④

型制約がやさしい
型制約がやさしい
C#は基本的に静的な型付言語
以下のような場面でデータ型を明示する必要あり
・ 変数の型
・ メソッド(関数)の戻り値と引数の型
→互換性の無いデータ型は受け渡しできない
型制約がやさしい
型制約の何が嬉しいのか
・ 適切なインテリセンス(コード補完)が効く
→型が判らないとメンバもわからない

・ 他の人が書いたコードが読みやすい
→メソッドに渡す引数が明示的になる等

・ プログラミングのミスを発見しやすい
→型に関するエラーは実行前に通知してくれる
型制約がやさしい
つまり
・ コード補完が使いやすい
・ 他の人が書いたコードが読みやすい
・ プログラミングのミスを発見しやすい
型制約がやさしい
更に
・ ジェネリックスで型制約の便利さを
残したまま自由度アップ!
・ DLRで型制約から完全に自由に(?)
中、上級者にもやさしいです
さいごに
どうでしょうか?
C#とVisual Studioのやさしさが伝わった
でしょうか?
さいごに
みなさんC#書きましょう!
Visual Studio使いましょう!
C#の優しさを語る枠

ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」Seiko Kuchida
 
【アジャイルサムライ】6章_ユーザストーリーを集める
【アジャイルサムライ】6章_ユーザストーリーを集める【アジャイルサムライ】6章_ユーザストーリーを集める
【アジャイルサムライ】6章_ユーザストーリーを集めるAkio Terayama
 
Rubyをちょっと理解しよう
Rubyをちょっと理解しようRubyをちょっと理解しよう
Rubyをちょっと理解しようShun Hikita
 
西区勉強会用スライド
西区勉強会用スライド西区勉強会用スライド
西区勉強会用スライドHiromi Kai
 
Camp report for_kwskrb
Camp report for_kwskrbCamp report for_kwskrb
Camp report for_kwskrbrojiuratech
 
お手軽作業自動化入門
お手軽作業自動化入門お手軽作業自動化入門
お手軽作業自動化入門高見 知英
 
川又康平 20160428
川又康平 20160428川又康平 20160428
川又康平 20160428basicinc_dev
 
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみたYasushi Kato
 
TypeScript 入門してみる
TypeScript 入門してみるTypeScript 入門してみる
TypeScript 入門してみるKen Fukuyama
 
Xamarinは辛いよ
Xamarinは辛いよXamarinは辛いよ
Xamarinは辛いよTakkiiii
 
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Y Watanabe
 
C#のココが好き!
C#のココが好き!C#のココが好き!
C#のココが好き!Takaaki Suzuki
 
20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へSEED310
 
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13智治 長沢
 
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについてCA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについてHuy Do
 
オープンソースCMSにみる、現場で使えるjava scriptライブラリ
オープンソースCMSにみる、現場で使えるjava scriptライブラリオープンソースCMSにみる、現場で使えるjava scriptライブラリ
オープンソースCMSにみる、現場で使えるjava scriptライブラリRyuji Egashira
 
Creators'night#15今井
Creators'night#15今井Creators'night#15今井
Creators'night#15今井Daisuke Imai
 

Mais procurados (20)

a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
 
【アジャイルサムライ】6章_ユーザストーリーを集める
【アジャイルサムライ】6章_ユーザストーリーを集める【アジャイルサムライ】6章_ユーザストーリーを集める
【アジャイルサムライ】6章_ユーザストーリーを集める
 
Rubyをちょっと理解しよう
Rubyをちょっと理解しようRubyをちょっと理解しよう
Rubyをちょっと理解しよう
 
西区勉強会用スライド
西区勉強会用スライド西区勉強会用スライド
西区勉強会用スライド
 
Camp report for_kwskrb
Camp report for_kwskrbCamp report for_kwskrb
Camp report for_kwskrb
 
お手軽作業自動化入門
お手軽作業自動化入門お手軽作業自動化入門
お手軽作業自動化入門
 
川又康平 20160428
川又康平 20160428川又康平 20160428
川又康平 20160428
 
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
 
PHP with Visual Studio
PHP with Visual StudioPHP with Visual Studio
PHP with Visual Studio
 
TypeScript 入門してみる
TypeScript 入門してみるTypeScript 入門してみる
TypeScript 入門してみる
 
Xamarinは辛いよ
Xamarinは辛いよXamarinは辛いよ
Xamarinは辛いよ
 
Rubyの話を少し
Rubyの話を少しRubyの話を少し
Rubyの話を少し
 
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
 
C#のココが好き!
C#のココが好き!C#のココが好き!
C#のココが好き!
 
20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ
 
TypeScript超入門
TypeScript超入門TypeScript超入門
TypeScript超入門
 
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
 
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについてCA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについて
 
オープンソースCMSにみる、現場で使えるjava scriptライブラリ
オープンソースCMSにみる、現場で使えるjava scriptライブラリオープンソースCMSにみる、現場で使えるjava scriptライブラリ
オープンソースCMSにみる、現場で使えるjava scriptライブラリ
 
Creators'night#15今井
Creators'night#15今井Creators'night#15今井
Creators'night#15今井
 

Destaque

C sharp6
C sharp6C sharp6
C sharp6yone64
 
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向hakoika-itwg
 
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向hakoika-itwg
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めMITSUNARI Shigeo
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ慎一 古賀
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること信之 岩永
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 

Destaque (8)

C sharp6
C sharp6C sharp6
C sharp6
 
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
 
CSS の歩き方
CSS の歩き方CSS の歩き方
CSS の歩き方
 
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧め
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 

Semelhante a C#のやさしさを語る時間

【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -ShinichiAoyagi
 
20160308 私とVisual Studio
20160308 私とVisual Studio20160308 私とVisual Studio
20160308 私とVisual StudioTakayoshi Tanaka
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座Masuda Tomoaki
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)Tatsuya Ishikawa
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめVisual Studio 2017 事はじめ
Visual Studio 2017 事はじめHideaki Aoyagi
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby CocoaTomoki Maeda
 
SwiftでObjective-Cコードに立ち向かう
SwiftでObjective-Cコードに立ち向かうSwiftでObjective-Cコードに立ち向かう
SwiftでObjective-Cコードに立ち向かうToshihiro Suzuki
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)Hiroyuki Kusu
 
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するC++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するYou&I
 
MobiRubyでiOSアプリをつくろう
MobiRubyでiOSアプリをつくろうMobiRubyでiOSアプリをつくろう
MobiRubyでiOSアプリをつくろうJunya Murabe
 
2016年第一回プレ卒研in山口研
2016年第一回プレ卒研in山口研2016年第一回プレ卒研in山口研
2016年第一回プレ卒研in山口研dmcc2015
 
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...Yoshinori Kobayashi
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方Yusuke Wada
 
新社会人が今すぐ使える、​ExcelでC#を使う方法
新社会人が今すぐ使える、​ExcelでC#を使う方法新社会人が今すぐ使える、​ExcelでC#を使う方法
新社会人が今すぐ使える、​ExcelでC#を使う方法Tetsuo Honda
 
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能一希 大田
 

Semelhante a C#のやさしさを語る時間 (20)

【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
 
5分で学ぶC# 6
5分で学ぶC# 65分で学ぶC# 6
5分で学ぶC# 6
 
20160308 私とVisual Studio
20160308 私とVisual Studio20160308 私とVisual Studio
20160308 私とVisual Studio
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめVisual Studio 2017 事はじめ
Visual Studio 2017 事はじめ
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
 
C#
C#C#
C#
 
SwiftでObjective-Cコードに立ち向かう
SwiftでObjective-Cコードに立ち向かうSwiftでObjective-Cコードに立ち向かう
SwiftでObjective-Cコードに立ち向かう
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
 
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するC++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用する
 
C# 7 New Features
C# 7 New FeaturesC# 7 New Features
C# 7 New Features
 
MobiRubyでiOSアプリをつくろう
MobiRubyでiOSアプリをつくろうMobiRubyでiOSアプリをつくろう
MobiRubyでiOSアプリをつくろう
 
2016年第一回プレ卒研in山口研
2016年第一回プレ卒研in山口研2016年第一回プレ卒研in山口研
2016年第一回プレ卒研in山口研
 
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
 
Cocoa勉強会201302
Cocoa勉強会201302Cocoa勉強会201302
Cocoa勉強会201302
 
新社会人が今すぐ使える、​ExcelでC#を使う方法
新社会人が今すぐ使える、​ExcelでC#を使う方法新社会人が今すぐ使える、​ExcelでC#を使う方法
新社会人が今すぐ使える、​ExcelでC#を使う方法
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
 
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
 

C#のやさしさを語る時間