『C# 言語でアプリを作る』は正しくないかも

Web

今までさんざん、C#とか.net core って分かったように言ってきたのですが、
急に『あれ?やっぱなんか違うな』と感じたので書いてみました。

そもそも

スポンサードサーチ

C#言語で開発するって間違っているかも

ということです。

いや、ベテランの方からしたら当たり前だよ!なんで今まで気づかなかったんだよって言われそうですが、
そもそも、『C#言語でアプリを作る』っていうのは実は間違っているような気がして。
正しくは、

.net core で動作するアプリをC#言語で作る
というイメージなんじゃないかなと。

なので、ビルドされる時はC#の言語としてもちろん対応しているんだけど、
正確にはそういう意味じゃないということ。

じゃあ何なのっていうと、
コーディングのときにC#で書いたとしたら、たしかにC#で書かれているんだけれども、

ビルドした後は『.net coreという環境で動作するアプリになる』ってことです。
気づいてほしいのは、『C#という環境で動作するアプリになる』ではないという事。

あくまでも、
記述方法にC#があるというだけで、実行される時は.net coreの環境なのでは?と。

この、動作環境という部分は、他にも『asp.net』 の場合もあります。
ですが、こちらも記述言語はC#です(正確には、『C#も』対応してる)。
また、.net core とasp .netのちがいについてはこちら
 >> いい加減、【ASP~】 とか【.Net~】の違いを見極める
 

同じC#で記述するけども、動作環境は異なることがあるってなんか不思議な気分ですね。

じゃあ、C# はそもそも何よ

では、C#は何なのかというと、
動作環境が.net core だとしたら、
あくまでも、『.net core を動かすための一つの手段』
ということです。

なぜなら、.net core 対応できる言語は

  • C#
  • F#
  • Visual Basic

の三つ。

このうちの一つの手法であるC#を使って、アプリを作ったとすると、

『C#でアプリを作った』という真意は、
『C#で.net core を動かせるアプリを作った』って意味になるのかと。

まぁ、でも、そんな細かいことは抜きにして、
『C#でアプリ作った』といえば、大体の人は『.net系で作った』ということになり、
通じない訳ではないでしょうけど。
ただ、動作環境は何なのかという部分は注意しないといけないですね。

スポンサードサーチ

まとめ

動作環境が.net coreならば、
.net core で動作するアプリをC#言語で作る』が正しい。

『.net core の動作環境を操作するには、C#, F#, Visual Basic があり、C#は操作できる一つの言語に過ぎない』

そして注意すべきは、
C#でアプリを作ったからと言っても、動作環境(.net core or asp .net)は違う時があるということ。

つまり、
C# ⇒ .net core の時もあるし、
C# ⇒ asp .net の時もある。
という事ですね。

もう少し例を挙げるなら、
C#  ⇒ .net core の時もあるし、
F#  ⇒ .net core の時もあるし、
Visual Basic ⇒ .net core の時もあるし、
というイメージです。

ちなみに本当にそうかは調べてないです。
というか、断言している記事はなかったので。
しかし、動作環境は違うのに、言語は同じというのが妙にピンとこないな、と思ったので勝手に推察してみました。

ですが、、今回のように考えた方が
しっくりくるような気がします。

教えて有識者。