SlideShare a Scribd company logo
1 of 7
C# 6 is not dead -
Introducing Kotlin release 1.0
2016/02/20
Nagoya ComCamp 2016 powered by MVPs
MasuqaT(@occar421)
自己紹介: MasuqaT
 ますかっと(@occer421)
 MasuqaT.NET(http://masuqat.net)
 興味
 C#が関わる技術
Rx, UWP, Roslyn, ASP.NET Core 1.0 ...
 CG技術
 Webフロント系・アプリ
 Kotlin
 本人情報
(本名)
 大学3年生
 去年 高専から3年次編入
 高専時代はプロコン自由部門や
Imagine Cupに応募したりしてました
2016/02/20 C# is not dead - Introducing Kotlin
Kotlinとは
To create a Java-compatible language, That compiles at least as fast as Java,
Make it safer than Java, i.e. statically check for common pitfalls such as null pointer dereference,
Make it more concise than Java by supporting variable type inference, higher-order functions (closures), extension functions, mixins
and first-class delegation, etc;
And, keeping the useful level of expressiveness (see above), make it way simpler than the most mature competitor – Scala.
By FAQ – Kotlin Programming Language(https://kotlinlang.org/docs/reference/faq.html)
2016/02/20 C# is not dead - Introducing Kotlin
Kotlinとは
 JetBrains社が開発
 ReSharperやIntelliJ IDEAを作っている会社
 新しいJava系の言語
 2011年 ロシア生まれ
 2月15日に正式版1.0が出たばかり
 ロゴが変わった
 Android開発で期待されている
 Android Studioでもすぐに使える
2016/02/20 C# is not dead - Introducing Kotlin
JavaとKotlin
 100%の互換性を目指す
 JavaのGetterとSetterがKotlinからはプロパティに見える
 array.getCount() ⇒ array.count
 JavaVM上での識別名を指定するアノテーションも
 抽象メソッドが一つの匿名クラス(SAM Type)用の構文がある
 Runnableとか Androidの開発をやると頻繁に出てました
 Generics関係も対応
 JavaVMの制約はあるが頑張っている
2016/02/20 C# is not dead - Introducing Kotlin
負けてないC#
 文字列補間 String Interpolation “Hello $name”
 C# 6で機能追加 $“Hello {name}”
 when式
 “C# 7”でmatch式が出る?
 http://www.buildinsider.net/column/iwanaga-nobuyuki/002
 AnalyzerとCodeFix
 ライブラリ固有の規則はKotlinで作れない(今のところ)
2016/02/20 C# is not dead - Introducing Kotlin
まとめ
 Android開発はKotlinが主流になるかも
 急にKotlinと言われてわかる程度になっていて損はない
 Java for Android will dead?
 C#も新言語に負けずに進化している
 C# vs. Java (vs. Obj-C)の構図から
C# and Kotlin (and Swift)へ
2016/02/20 C# is not dead - Introducing Kotlin
http://try.kotlinlang.org/

More Related Content

What's hot

書くネタがCoqしかない
書くネタがCoqしかない書くネタがCoqしかない
書くネタがCoqしかないMasaki Hara
 
RxShowcase -for ignote & i-Jupiter-
RxShowcase -for ignote & i-Jupiter-RxShowcase -for ignote & i-Jupiter-
RxShowcase -for ignote & i-Jupiter-Takaaki Suzuki
 
PHPerのためのpostgresqlチューニングmini
PHPerのためのpostgresqlチューニングminiPHPerのためのpostgresqlチューニングmini
PHPerのためのpostgresqlチューニングminiTakhisa Hirokawa
 
証明プログラミング超入門
証明プログラミング超入門証明プログラミング超入門
証明プログラミング超入門Kyoko Kadowaki
 
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsMfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsTakaaki Suzuki
 
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6健太 田上
 
Rustのテストやエコシステム
RustのテストやエコシステムRustのテストやエコシステム
RustのテストやエコシステムKiyotomoHiroyasu
 
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーかShunsukeNakamura17
 
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovyzgmf_mbfp03
 
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介豊明 尾古
 
nadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティスnadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティスKazuhiro Nishiyama
 

What's hot (13)

書くネタがCoqしかない
書くネタがCoqしかない書くネタがCoqしかない
書くネタがCoqしかない
 
RxShowcase -for ignote & i-Jupiter-
RxShowcase -for ignote & i-Jupiter-RxShowcase -for ignote & i-Jupiter-
RxShowcase -for ignote & i-Jupiter-
 
Spekではじめるユニットテスト
SpekではじめるユニットテストSpekではじめるユニットテスト
Spekではじめるユニットテスト
 
PHPerのためのpostgresqlチューニングmini
PHPerのためのpostgresqlチューニングminiPHPerのためのpostgresqlチューニングmini
PHPerのためのpostgresqlチューニングmini
 
証明プログラミング超入門
証明プログラミング超入門証明プログラミング超入門
証明プログラミング超入門
 
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsMfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC apps
 
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
 
Rustのテストやエコシステム
RustのテストやエコシステムRustのテストやエコシステム
Rustのテストやエコシステム
 
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
俺の let p = PathBuf::from("/test").into_os_string().to_str();はなぜコンパイルエラーか
 
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
 
Kotlinの紹介
Kotlinの紹介Kotlinの紹介
Kotlinの紹介
 
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
 
nadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティスnadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティス
 

Similar to C# 6 is not dead - Introducing Kotlin release 1.0 @20160220 Nagoya ComCamp 2016

C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1
C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1
C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1MasuqaT
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現Shigeru Tatsuta
 
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 bitbank, Inc. Tokyo, Japan
 
continuatioN Linking
continuatioN LinkingcontinuatioN Linking
continuatioN LinkingKouji Matsui
 
Real World Android Akka - 日本語版
Real World Android Akka - 日本語版Real World Android Akka - 日本語版
Real World Android Akka - 日本語版Taisuke Oe
 
静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携Masaru Horioka
 
RubyによるMac OS Xデスクトップアプリケーション開発入門
RubyによるMac OS Xデスクトップアプリケーション開発入門RubyによるMac OS Xデスクトップアプリケーション開発入門
RubyによるMac OS Xデスクトップアプリケーション開発入門宏治 高尾
 
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するC++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するYou&I
 
OSC2013 Tokyo/Spring JOSUG
OSC2013 Tokyo/Spring JOSUGOSC2013 Tokyo/Spring JOSUG
OSC2013 Tokyo/Spring JOSUGHideki Saito
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)objc2swift (自動変換の野望)
objc2swift (自動変換の野望)Taketo Sano
 
Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例
Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例
Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例Joni
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCodeYuki Igarashi
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大openrtm
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めMITSUNARI Shigeo
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Kazuhiko Kato
 
Kotlinソースコード探訪
Kotlinソースコード探訪Kotlinソースコード探訪
Kotlinソースコード探訪yy yank
 
C# と .NET と ・・・
C# と .NET と ・・・C# と .NET と ・・・
C# と .NET と ・・・ShinichiAoyagi
 

Similar to C# 6 is not dead - Introducing Kotlin release 1.0 @20160220 Nagoya ComCamp 2016 (20)

C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1
C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1
C#のコード解析ってなんだ@20160825 CenterCLR.学生 #1
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現
 
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
 
continuatioN Linking
continuatioN LinkingcontinuatioN Linking
continuatioN Linking
 
Real World Android Akka - 日本語版
Real World Android Akka - 日本語版Real World Android Akka - 日本語版
Real World Android Akka - 日本語版
 
静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携
 
RubyによるMac OS Xデスクトップアプリケーション開発入門
RubyによるMac OS Xデスクトップアプリケーション開発入門RubyによるMac OS Xデスクトップアプリケーション開発入門
RubyによるMac OS Xデスクトップアプリケーション開発入門
 
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するC++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用する
 
OSC2013 Tokyo/Spring JOSUG
OSC2013 Tokyo/Spring JOSUGOSC2013 Tokyo/Spring JOSUG
OSC2013 Tokyo/Spring JOSUG
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)objc2swift (自動変換の野望)
objc2swift (自動変換の野望)
 
Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例
Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例
Fukuoka.NET Conf 2018: 挑み続ける!Dockerコンテナによる ASP.NET Core アプリケーション開発事例
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧め
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
 
Kotlinソースコード探訪
Kotlinソースコード探訪Kotlinソースコード探訪
Kotlinソースコード探訪
 
Blackberry introduction
Blackberry introductionBlackberry introduction
Blackberry introduction
 
C# と .NET と ・・・
C# と .NET と ・・・C# と .NET と ・・・
C# と .NET と ・・・
 

C# 6 is not dead - Introducing Kotlin release 1.0 @20160220 Nagoya ComCamp 2016

  • 1. C# 6 is not dead - Introducing Kotlin release 1.0 2016/02/20 Nagoya ComCamp 2016 powered by MVPs MasuqaT(@occar421)
  • 2. 自己紹介: MasuqaT  ますかっと(@occer421)  MasuqaT.NET(http://masuqat.net)  興味  C#が関わる技術 Rx, UWP, Roslyn, ASP.NET Core 1.0 ...  CG技術  Webフロント系・アプリ  Kotlin  本人情報 (本名)  大学3年生  去年 高専から3年次編入  高専時代はプロコン自由部門や Imagine Cupに応募したりしてました 2016/02/20 C# is not dead - Introducing Kotlin
  • 3. Kotlinとは To create a Java-compatible language, That compiles at least as fast as Java, Make it safer than Java, i.e. statically check for common pitfalls such as null pointer dereference, Make it more concise than Java by supporting variable type inference, higher-order functions (closures), extension functions, mixins and first-class delegation, etc; And, keeping the useful level of expressiveness (see above), make it way simpler than the most mature competitor – Scala. By FAQ – Kotlin Programming Language(https://kotlinlang.org/docs/reference/faq.html) 2016/02/20 C# is not dead - Introducing Kotlin
  • 4. Kotlinとは  JetBrains社が開発  ReSharperやIntelliJ IDEAを作っている会社  新しいJava系の言語  2011年 ロシア生まれ  2月15日に正式版1.0が出たばかり  ロゴが変わった  Android開発で期待されている  Android Studioでもすぐに使える 2016/02/20 C# is not dead - Introducing Kotlin
  • 5. JavaとKotlin  100%の互換性を目指す  JavaのGetterとSetterがKotlinからはプロパティに見える  array.getCount() ⇒ array.count  JavaVM上での識別名を指定するアノテーションも  抽象メソッドが一つの匿名クラス(SAM Type)用の構文がある  Runnableとか Androidの開発をやると頻繁に出てました  Generics関係も対応  JavaVMの制約はあるが頑張っている 2016/02/20 C# is not dead - Introducing Kotlin
  • 6. 負けてないC#  文字列補間 String Interpolation “Hello $name”  C# 6で機能追加 $“Hello {name}”  when式  “C# 7”でmatch式が出る?  http://www.buildinsider.net/column/iwanaga-nobuyuki/002  AnalyzerとCodeFix  ライブラリ固有の規則はKotlinで作れない(今のところ) 2016/02/20 C# is not dead - Introducing Kotlin
  • 7. まとめ  Android開発はKotlinが主流になるかも  急にKotlinと言われてわかる程度になっていて損はない  Java for Android will dead?  C#も新言語に負けずに進化している  C# vs. Java (vs. Obj-C)の構図から C# and Kotlin (and Swift)へ 2016/02/20 C# is not dead - Introducing Kotlin http://try.kotlinlang.org/