プログラマーな日々

プログラマーをやっています。好きなツール:WorkFlowy、好きな言語:C#、好きなサービス:Backlog、好きなAWS:AWS Lambda。

「めとべや東京 #4」に行ってきた(その3「The Next Generation for C# Developers」by Microsoft MVP tanaka733さん)

f:id:JHashimoto:20140409044240j:plain

5/31に「めとべや東京 #4」に行ってきたので、何度かに分けて勉強会の内容を紹介します。

めとべや東京#4
de:code 直後ということで、クライアントサイトテクノロジを中心に最新情報をいち早くまとめて聞いて見ませんか? ...

 

今回は3回目です。3つ目のセッションは、Microsoft MVP tanaka733さんの「The Next Generation for C# Developers」でした。

セッション内容

Roslin and C#6.0(仮)

  • C#とVBのコンパイラの再構築
  • Openness
  • 豊富なAPIが公開されている
    • IDEが使うコンパイラが通常のコンパイラと同じ
    • 通常のコンパイラのAPIを使ってIDEを拡張可能
  • Quality Improvement
    • パフォーマンスの向上
    • IDEが止まらないように
    • 並列性を高めるためのPDBの改善
  • API Readiness
    • パブリックAPIのXMLコメントの刷新
  • Diagnostics
    • タイピングと同時にコード解析できるように
    • 静的解析用のFxCopのルールの追加
  • REPL:Read-eval-print loop(対話型評価環境)のデモ

CShell by ArnovaAssetManagement
CShell is an interactive C# scripting environment. It allows you to use C# without any fluff right in a console like environment called a read-eval-print-loop (REPL). Your code is directly evaluated and executed in a shell window, no separate executable has to be compiled and then run in a different process. More elaborate code can be written in a C# script and then evaluated as one file, only one line, or a selection. Then, your results can be easily dumped to HTML (like LINQPad) or viewed as a data grid or plotted to a chart. ...

 
    • Interactiveな実行
    • インテリセンスも効く
  • 6.0の新機能

.NET Compiler Platform ("Roslyn") - Home

 
  • Primary Constructor
  • Auto-property initializer
    • イミュータブルなクラスを作れる
  • Using Static Members
    • 例:「using System.Console」と書いておくと、WriteLineを直接書ける
  • Roslyn Syntax Visualizers

Roslyn Syntax Visualizers - The Visual Studio Blog - Site Home - MSDN Blogs

 
  • Exception Handling
    • catchの中でawaitできるようになった
    • catchにif節が書けるようになった

RyuJIT

  • 開発の契機
    • 64ビットでも高速なJITコンパイルを
    • かつてはサーバー側で動作する想定だったので、起動時は多少遅くてもよかった
    • 最近のWebアプリは立ち上がりから速くなってほしい
  • RyuJIT
    • SIMD(並列演算の一種)サポート
  • .NET Native
    • C++並の速度をC#に
    • Runtime Directive
  • ASP.NET vNext
    • MVC、Web API、Web Pagesの統一
    • Web Formsも改善される
      • スキャフォールディングが使えるように
      • System.Webからの脱却
  • Cloud最適化モード
    • 同一サーバー上に複数のアプリが独立して動かせる
      • 1つのIIS上で異なる.NET Frameworkのバージョンで動かすことが可能
    • セッションやキャッシュのAPIもCloudとオンプレ問わず使える
      • DIによる切り替え
    • ブラウザで更新するだけで最新のコードが反映
      • Roslynによるビルド
  • RoslynによるRuntimeコンパイル
    • ASP.NETには2つのコンパイルがある
      • ビルド
      • 実行時に行うRuntimeコンパイル
    • Roslynはその両方を置き換える
      • 初回起動時の遅さから解放される
  • RedisがSession State Providerに
    • C#クライアントもかなり使われている

StackExchange/StackExchange.Redis · GitHub
General purpose redis client

 

booksleeve - pipelined .NET bindings for redis - Google Project Hosting
BookSleeve has been succeeded by StackExchange.Redis, which takes the same concept and performance goals, but which much-better supports things like clusters and fallback. The full reasons for this decision are here. ...

 
  • 今後はMSもRedis推し?

その他の話題

  • Mobile Services .NET Backend
    • SignalRによるRealtimeサポート
  • Applicaiton Insight
    • お手軽なアプリメトリック集計
  • ストアアプリのサイドローディングのライセンスが緩和

セッション資料

#めとべや東京 #4 で The Next Generation for C# Developers  というセッションをしました - 銀の光と碧い空

関連エントリー

「めとべや東京 #4」に行ってきた(その1「ユニバーサルWindowsアプリ開発入門」 by Microsoft MVP大田一希さん) - プログラマーな日々

 

「めとべや東京 #4」に行ってきた(その2「Modern WPF」by Microsoft MVPぐらばくさん) - プログラマーな日々

 

「めとべや東京 #4」に行ってきた(その4「コーディング面接」by Microsoft MVP 岩永信之さん) - プログラマーな日々

 

「めとべや東京 #4」に行ってきた(その5 LT) - プログラマーな日々