ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

Visual Studio 2015きたああああ ~ Roslyn ~

なんか超久しぶりにプログラミング的な記事ですね。

Visual Studioの待望の新バージョン、Visual Studio 2015の正式版が7月20日(日本時間7月21日)にリリースされました!

私は今年はgccでC言語を学ぶつもりなので、しばらくはインストールしませんが…。

まあ、Windowsタブレットのほうには入れてみようかなと思っています。

ただし、周辺のコンポーネント(?)に一部、来月にならないと正式版が出ないものがあるようなので、そのときまでは待ちますけどね。

あと、ちょくちょく言っていますがgccが上手いことインストールできないままですので、あきらめてVSでC言語をやるかもしれません。
そのときはこれをインストールしようと思います。


たしか、Visual Studio 2012からVisual Studio 2013になったときは、微妙な違いだけでしたが、今回はそれなりに変わったようです。

まず、なんとExpressエディションは2013版で終わりだそうで、これからは無料のVSはVisual Studio Communityエディションだけになります。

Communityエディションは2013版からありましたね。
2013版っていうか、リリースは2014年でしたが。

登場時は当ブログでも取り上げました。
(記事「Visual Studio Communityとかとか!!!」を参照)


このCommunityエディション、なんと実質的にはProfessionalエディションと同等で、しかも無料という、なんとも素晴らしいMSは狂ったのかというエディションです。

ただし、個人使用ならいいんですが、企業や団体で使用するとなったときに制限があります。

公式サイトによると、団体が使用する際は、

・学習、学術調査目的の開発者
・オープン ソース開発者
・中小規模の企業や団体

でないといけないそうです。


上記に該当しない団体が無料でVSを使いたい場合は、Expressエディションを使えということだったのですが、今回Expressエディションが廃止になって、この人達はどうするんですかね…。

まあ上記に該当しない団体っていうと大企業でしょうから、別に有料版を買っても困らない財力だとは思いますけどね。

Expressエディションではこの大企業でさえも無料で使用できました。



CommunityエディションはProfessionalエディションと実質同等と言いましたが、これの最大の恩恵はアドインを入れられることですね。

私も昔、VSのテーマカラーを変えるアドインを入れたかったのですが、Expressエディションなので無理でした。

Communityならそういうのも入れ放題ですし、サードパーティの開発キットとかも入れられるということになりますね。

この差はなかなか大きいと思います。


さて、エディションの話はこのくらいにして、VS2015ではどんな新機能が追加されたのでしょうか。

まず、Microsoftが最近はマルチプラットフォーム化を進めていて、とうとうVisual Studioで、しかもC#でAndroidやiOS向けの開発ができるようになりました。

たぶんMonoと提携しているんじゃないでしょうか。
今までMonoのほうでMonoDevelopとかを使って、C#で作ることができましたが、Visual Studioにも正式に取り込まれた感じです。

画面デザイナもちゃんとしたのがあるみたいですね。

これが凄まじい変化なので、ニュースサイトではこれを一番に取り上げていることが多いです。


そして、次に大きく取り上げられるのがRoslynですが、私はこっちのRoslynのほうが興味あります。

Roslynというのは、簡単にいえばC#やVB.NETのコンパイラを新しく作りなおしたものです。

そしてそのプロジェクトです。ちなみにオープンソースです。

あと、今知りましたが、Roslynというのはコードネームで、正式名称は.NET Compiler Platformだそうです。


Roslynが一番興味ありますので、ここからはRoslynの概要を書いていきます。
そもそも概要しか知りませんが…。

今までのcscやvbcといったコンパイラをVS2013までは使用していたわけですが、これはソースコードを食わせたらアセンブリを吐き出すだけという、ブラックボックスなコンパイラでした。

もちろんこのブラックボックスの中では構文解析や最適化などの色々な工程を踏んでアセンブリを吐いているわけですが、それぞれの機能を個別に呼び出して使用することは出来ませんでした。

一方でVisual Studioでは、コンパイルにはcscやvbcを使うものの、エディタの機能として構文ミスのチェックなどを行わなければならず、そこはVisual Studio独自に実装していました。

cscやvbcにも同じチェック機構があって、Visual Studioと二重にそういう機構があったわけです。

そのため、保守とかがMicrosoft的にも面倒臭かったようです。


Roslynは、C#やVB.NETのコンパイラを作りなおして、コンパイラの各工程に個別にアクセスできるAPIを提供しようということで開発されたのです。

これによって、Visual Studioは独自に構文チェックなどを実装せずとも、Roslynを呼び出せばいいし、コンパイルするときも使用するのはRoslynなので、機構が統一されて保守が楽になります。

VS2013まではRoslynは開発中でしたが、とうとうこのVS2015からVisual StudioはRoslynを使用するようになったというわけです。

cscとかvbcとかは、.NET Frameworkに同梱されていますが、これはもう、全く使われないんですかね。


そして、私がRoslynが出て嬉しかったのは、Visual StudioしかRoslynを使ってはいけないわけではなく、我々も使っていいからです。
まあ、オープンソースですしね。

もちろん、コンパイラの各工程に個別にアクセスできる機能というのは、.NET式のインターフェースになっています。


私は昔、.NETのCodeDOMという機能で色々と実験したことがありまして、そのときはDOMをC#やVB.NETのコードに変換することは出来たのですが、
逆にコードをDOMに変換、つまりパースをしようとすると機能が未実装というエラーが出てきて出来ませんでした。

なんで未実装のメソッド搭載してんだと思いましたね。

当時はRoslynプロジェクトも生まれたてで、あんまり情報がなかったのですが、サードパーティのパーサーで熟したものがありました。

ただ、それもよくわからなかったので、結局パースは出来ず終いだったんですよね。

しかし、今回MicrosoftがRoslynを整備してくれたので、CodeDOMではないかもしれませんが、パースもできるようになります。


ところで、Roslynってどこに同梱されるんですかね。

Visual Studio 2015と共に.NET Frameworkのバージョン4.6が出たので、そこに入っていたらいいのですが、まだ情報が少なくてわかりません。

.NET Frameworkは去年、オープンソースとか色々な大変革があって、多数の新機能が生まれたので、これらを調べて記事にしてもいいかもしれませんね。


というわけで、しばらくはC#をいじるつもりもないのですが、新しい機能が魅力的すぎて非常にC#には興味がわきます。

旧バージョンのVisual Studioを使っている方は、とりあえずアップデートしてみたらいいと思います。

最近のMicrosoftは本当にいい感じになりましたね~。

tag: VisualStudio Roslyn Microsoft .NET コンパイラ

コメント

コメントの投稿

トラックバック

トラックバック URL
http://cyberboy6.blog.fc2.com/tb.php/418-b703877b
この記事にトラックバックする(FC2ブログユーザー)

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。