読者です 読者をやめる 読者になる 読者になる

Microsoft Visual Studio Community 2015でC#の学習

C#

C#を学習するのには、Visual Studioという統合開発環境 = IDE(Integrated Development Environment)を使うのがイケてるようです。

⇩  C#C#.NETの違いについては下記サイトへ

C#とC#.NETでは何が違うのでしょうか?教えて下さい。 - C#は、標準言語の内... - Yahoo!知恵袋

.NET Frameworkのバージョンが様々で互換性の問題があるようです。

⇩  詳しくは下記サイトへ

.NET Framework のバージョン対応表 - Qiita

.NETとは?

もともとは、『Microsoft .NET』のことで、マイクロソフトが2000~2005年ごろまでに目指していた「構想」「ビジョン」らしいです。

Microsoft .NET構想とは、デスクトップPCやサーバ・システム、生活関連の電子機器(腕時計や冷蔵庫など)、携帯電話およびスマートフォンタブレットなどあらゆる情報システム&情報機器を、いつでもどこでも、プライベートかビジネスかにかかわらず、インターネット経由で連携させようという考えのようです。

IoTに近い考えっすかね? 

SOAP(Simple Object Access Protocol)とREST(Representational State Transfer)

XML Webサービス」という通信(=Communication)技術を重要視していたマイクロソフトは、SOAPをベースとするXML Webサービスと、それを手軽に作成できる「ASP.NET Webサービス」を打ち出して、2002年当時は多くの技術者がXML Webサービスの時代が来るんじゃない?と思っていたようです。

ところが、「Amazon Webサービス」(AWS)が各種データをWeb API経由で提供し始め、XML WebサービスSOAP形式のAPI)以外にサポートしていたREST形式のAPIが普及し、2005年ごろから流行したブログ(Blog)がRSSAtomなどのXML形式のフィード出力機能を搭載していたことが、さらに拍車をかけたようです。

HTTPベースの通信プロトコルで、RESTのアーキテクチャスタイルに準拠したAtomPubという通信技術の登場も、RESTブームに火をつけたとか。

マイクロソフトRESTに方向転換?

2007年ごろから、マイクロソフトは、.NET Framework 3.5のWCFWindows Communication Foundation)にREST APIを作成できる機能を追加したり、WCF Data Servicesという、データベースのデータをRESTスタイルのWeb APIで公開できる機能を追加したりいろいろ頑張ったようです。

Microsoft Azure(旧称:Windows Azure)の通信技術にもREST APIが用いられているようです。 

改めて、.NETとは?

紆余曲折を経て、.NETから当初掲げていたビジョンは消えたといっても過言ではなく思われ、「Microsoft .NET」を具体化するための実装技術であるライブラリ兼フレームワークの「.NET Framework」だけが残ったらしいです。

つまり、2010年ごろから『.NET=.NET framework』 と解釈していいような感じらしいっす。

.NETもとい.NET frameworkとは?

最も重要な概念は共通言語基盤 (CLI = Common Language Infrastructure)に含まれ、CLIの目的は言語に依存しない開発環境および実行環境を提供することらしいです。

  • 「共通言語ランタイム(CLR:Common Language Runtime)」と呼ばれるプログラム実行エンジン
    • 共通型システム (CTS: Common Type System)
    • 共通言語仕様 (CLS: Common Language Specification)
    • 共通中間言語 (CIL: Common Intermediate Language)
    • ジャストインタイムコンパイラ (JIT: Just-in-time compiler)
    • 仮想実行システム (VES: Virtual Execution System)
  • 基本クラス・ライブラリ(BCL:Base Class Library)
  • 各種ライブラリ/フレームワーク

 などで構成されたもののようです。

.NET Frameworkにおけるコードの流れ(.NET Framework - Wikipedia) 

f:id:ts0818:20161204181608p:plain

PHPならCakePHPや、Laravel、RubyならRuby on RailsJavaならSpring Frameworkなど、言語ごとにフレームワークは用意されていますが、マイクロソフトは異なる言語でも実行できるフレームワーク.NET framework)を目指している?ようです。 

C#.NET frameworkVisual Studioの関係

C#は、.NET Framework で動作する幅広いアプリケーションを構築するようにデザインされたプログラミング言語です。(C# - MicroSoft Developer NetWork

Visual Studioは、統合開発環境IDE)と呼ばれるものの1つで、コンパイラテキストエディタデバッガ などをひとまとめにしてくれているもののようです。

つまり、C#は言語の設計仕様上、.NET frameworkは必須のようですが、Visual Studioは必須というわけではないようですが、最近のVisual Studioには、標準で.NET frameworkが搭載されているらしく、Visual StudioをインストールすればC#ですぐに開発できるようです。

 

Visual Studio Community 2015のインストール

https://www.visualstudio.com/ja/downloads/Visual Studio Communityを選択します。

f:id:ts0818:20161204194314p:plain

ダウンロードした.exeファイルを実行すると、Visual Studioインストーラーが立ち上がります。特に変更せず、『次へ(N)』ボタンを選択クリックします。f:id:ts0818:20161204194129j:plain

『次へ(N)』ボタンを選択クリックします。

f:id:ts0818:20161204194130j:plain

『インストール(I)』ボタンをクリックします。f:id:ts0818:20161204194131j:plain

インストールが始まります。

f:id:ts0818:20161204194132j:plain

インストールが完了したので、『起動(L)』をクリックします。

f:id:ts0818:20161204194133j:plain

『後で行う』をクリックします。

f:id:ts0818:20161204194134j:plain

 『Visual Studioを起動』をクリックします。

f:id:ts0818:20161204194135j:plain

 Vsiual Studioが起動しました。

f:id:ts0818:20161204194137j:plain

開発環境が整いました。次回から実際にVisual Studioを使っていきたいと思います。