ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Microsoft TechEd 2010 レポート – Day 1 – 4 – T6-309「詳説!Visual Basic 10、C# 4.0の新機能~Visual Studio 2010で進化したコーディング環境~」

leave a comment »

マイクロソフトのエバンジェリスト新村剛史氏によるセッションである。まず「開発言語の今とこれまで」として、1957年のFortranから約50年の間にあらわれた様々な開発言語についてざっくりまとめられた。数多くの開発言語には「オブジェクト指向」などプログラミング概念の変遷がある。そしてC#はJava、Visual Basic、C++のそれぞれの特徴を取り入れて作られた開発言語だ。Visual Basicは2002年の.NETフレームワークによりVB7として大きく変化し、同時にC#1.0が公開された。そしてVB8とC#2.0でジェネリクス、VB9とC#3.0でLINQの技術を取り入れながら、両者は互いに歩み寄りながら進化している。そしてVB10、C#4.0でさらに近くなったのが現在である。

ここでVB10とC#4.0を取り上げて開発言語の新機能について、これまでC#でできたこと、できなかったこと、VBでできたこと、できなかったことを表の形でまとめながら説明される。

C#の新機能として、まず「オプション引数」と「名前付き引数」が紹介された。「オプション引数」は引数にデフォルト値を設定し、記述されなかった引数はデフォルト値が渡されたものとして処理する、というものである。「名前付き引数」は引数に名前を付けて記述し、引数の順番を入れ替えることができるというものだ。

「遅延バインディング」は実行時に型を確定して実行するもので、コンパイル時には静的型チェックをバイパスしてエラーを出さずにコンパイルする。型としては異なっていても、同様の機能を利用する場合に使い、ダックタイピングと言われる。これはCOM相互運用を簡単にするために実装された。

VBの新機能としては、自動実装プロパティ、コレクション初期化子、アンダーバーなしの改行が可能になる暗黙の行連結、複数行のラムダ式とラムダ式によるサブルーチンなどがある。

VB、C#共通の新機能としては、PythonやRubyなど動的言語との連携サポート共変性と反変性が紹介された。特に共変性と反変性については、図で示しながらコードサンプルも例示し、かなりの時間を割いて説明がなされた。実際に自分でコーディングしながら理解しなければならない概念である。

Visual Studio 2010のエディターとしての新機能は、強化された検索機能、参照の強調表示、C#だけではあるが呼び出し階層のツリー表示、コードの自動生成がある。コードの自動生成は、定義されないクラスや型を書いたとき、エディタが自動生成してくれる機能であり、とても便利だと感じた。またヒントチップで追跡したい値をコードの近くにピン止めできる機能が追加され、地味ではあるが便利な機能である。またブレークポイントにラベルを付けることができる機能、ブレークポイントのインポートとエクスポートの機能が追加された。これなどは実際に開発者の意見を取り入れた機能強化だという印象を受けた。

このセッションを終えて思ったことだが、C#1.0が2002年、C#2.0が2005年、C#3.0が2006年、そしてC#4.0が2010年と言語仕様が拡充している。このような言語仕様の拡充は開発者が煩雑に思うコーディングの負荷を減らすために行われるので、新しい仕様を知らなければ、いつまでも手間のかかるコーディングをそれと気づかずにしてしまうことになるだろう。また逆に、あまりないケースかもしれないが、最新の言語仕様でコーディングに慣れたプログラマーが、古い言語仕様でしか開発できない環境に出会ったとき、思わぬトラブルに遭遇する可能性もあるということだ。いずれにせよ開発者は、言語仕様の拡充に注意を払いながらプログラミングスキルを磨き続けなければならない時代である、ということだろう。

それにしてもクラウド技術が中心のTehcEd2010だが、このようなプログラミング技術のセッションも大人気である。このセッションはルームCで行われたが、びっしりと並べられた椅子のほぼ全席が参加者で満員となり、熱気で会場の空調も力不足に感じられるほどだった。

Microsoft TechEd 2010 Japan 公式サイト
http://www.microsoft.com/japan/teched/2010/

Written by Yoshio Matsumoto

2010年8月26日 @ 9:01 AM

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。