IBM Cloud 開発環境を整えるその２

IBM Cloud 開発環境を整えるその２

■Basic？

パーソナルコンピューターが誕生した頃、初心者が扱えるプログラム開発言語はBasicぐらいしかありませんでした。（fortran,cobol,cもありました）Basic言語がどういうもかさておき、私たちを取り巻く開発環境は、当時から劇的に進化したハードウェアとソフトウェア、そしてWebシステム開発からCloudという仮想コンピューティング技術、数多の開発言語が渦巻いています。Java、Python、Ruby、C#・・・・。
一から学ぶ者にとって、これらの言語を習得するには膨大な時間がかかります。

直感的に、容易に理解できる言語としてBasicを取り上げる理由はただ一つ、Microsoft Office製品にいまだにバンドルされているBasicを勧めたいと思います。
コンピューティングの世界の扉を開けるために、ぜひその一歩はBasicで「Hallo World!」をアウトプットしましょう。

■.NET Core 2.0

Microsoftはクロスプラットフォーム技術への展開として、複数のプラットフォームでMicrosoft製品を稼働させるという野望の元にオープンな.NET標準を.NET Coreとして昇華させました。Linux、FreeBSD、Windows、およびMac OS XなどターゲットOSを指定するだけで、それぞれの環境で稼働するアプリケーションを作るというCoreな技術です。そしてなんとオープン ソース (MIT ライセンス) です。

・.NET Coreのガイドはここ（https://docs.microsoft.com/ja-jp/dotnet/core/）
・.NET Coreの取得はここ(https://www.microsoft.com/net/learn/get-started/windows)

※1 monoがやっていたオープン.NET 標準をMicrosoft自身がぱっくた。
※2 Visual studio communityがインストール済みの場合は、.NET Coreはインストール済み

.NET CoreをWindowsにインストールします。

![Ex-10.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/be468877-ff63-e102-47ec-75269ae5fb83.jpeg)

.NET SDKダウンロード後、インストールします。

![Ex-11.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/315925c5-225e-1ab6-a715-c9a44d2e6341.jpeg)

私の場合、すでにインストール済みなのでModify Setupです。
Installを選択してデフォルトでインストールします。

■ 「Hollo World!」プロジェクトを作成しましょう

１．Hello Worldのディレクトリを作成する

![Ex-12.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/2cd04003-c808-954c-160c-2ccd1541aba2.jpeg)

２．Hello World プロジェクトを作成する

Visual Studio Codeを起動
[ターミナル] cd C:\1.で作成したディレクトリ指定\Hello World
[ターミナル] dotnet new console -lang vb
[ターミナル] dir

![Ex-13.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/031aee7c-116f-6c55-146c-a515a59c1aa9.jpeg)

Hello Worldのプロジェクトファイルが自動で作成されます
１．で作成したディレクトリ名がプロジェクト名になるところがポイント！

中身を見てみましょう。
[ターミナル] type "Hello World.vbproj"

![Ex-14.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/7a56153a-fcde-3030-b84d-0e117b221809.jpeg)

OutputTypeがExeに、TargetFrameworkがnetcoreapp2.0に設定されているのがわかります。

■Visual Studio CodeでHello Worldプロジェクトの編集

Hollo Worldプロジェクトの指定。
Visual Studio Code　ファイル(F)→フォルダーを開く(Ctl+k)
![Ex-16.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/25fc925a-63e8-ddb3-44da-3d5f7b96356d.jpeg)
２番目のキーを入力 Ctl+o
エクスプローラーが表示されるので、Hollo Worldディレクトリを選択。
下記にHello Worldディレクトリ選択後が表示。

![Ex-18.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/a72442ef-bdb9-c796-a61a-34d4ab70fa66.jpeg)

左側のファイルリストからProgram.vbファイルを選択→右側のエディターにProgram.vbのコードを表示。

なんとすでに”Hollo World!"がコードされているではないか！
これはおしゃれ。
完成、これでいいのだ。

ビルドと実行は以下を打鍵するだけ。
[ターミナル]dotnet run

あれれ、ビルドが失敗した！
![Ex-19.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/679333c6-92ae-ea2f-917e-85106616f8be.jpeg)

これは、作成されるプログラムファイル名、この場合「hello world」がだめと言っています。
プログラムファイル名の間にスペースが入ったらだめなんです。（お約束）
じゃあ最初に作成したディレクトリ「Hello World」がだめ？
いいえ、今できている「Hello World.vbproj」のファイル名を「HelloWorld.vbproj」とスペースを取った名前に変えればいいだけ。
エクスプローラーでファイル名を「HelloWorld.vbproj」に変更して、

ビルドと実行。
[ターミナル]dotnet run

![Ex-20jpg.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/45103243-0b92-6554-1e40-794aa8886c30.jpeg)

やった、「Hello World!」が出力されている。

ビルド後のディレクトリを確認しましょう。
[ターミナル]dir

![Ex-21jpg.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/824839ec-23c0-75b4-51f0-dd217b6cd3a1.jpeg)

binディレクトリが作成されています。
binディレクトリの中にHelloWorld.runtimeconfig.jsonファイルが作成されています。

![Ex-22jpg.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/43513793-9a2d-7b5e-e1cb-694a0f97a24a.jpeg)

![Ex-23jpg.jpg](https://qiita-image-store.s3.amazonaws.com/0/239597/32f115b7-1a32-e590-3feb-1636bdaf6d23.jpeg)

HelloWorld.runtimeconfig.jsonにframework{name:"Microsoft.NETCore.App"と設定があるところがポイント、
つまりこのビルドしてできたプログラム（この場合、HelloWorld.dllとHelloWorld.pdb)はこのframeworkを必要としてますよと意味になります。これがクロスプラットフォーム対応のみそかな。

とりあえず、Hello World!は卒業！

以上、おそまつ