C# メモ

## C#について
### C#
- 2000年にMicrosoftが開発したプログラミング言語です。 
- C言語、C++、Java、Delphi の影響を受けています。
- [公式サイト](https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/)
- [GitHub](https://github.com/dotnet/csharplang)

## 開発ツールについて
### Unity
- Unityは、IDEを内蔵するゲームエンジンである。
- 2005年にMac OS Xに対応したゲーム開発ツールとして誕生した。 
- 100万人以上の開発者が利用していて、開発はユニティ・テクノロジーズ。日本法人は ユニティテクノロジーズジャパン合同会社。 
- クロスプラットフォームに対応しており、モバイルゲームやパソコンゲーム、ブラウザ ゲームなどの製作に用いる。
- ゲームエンジン自体はC言語/C++で書かれており、開発者はC#を用いたプログラミン グが可能である。
- [公式サイト](https://unity.com/ja)
- [公式マニュアル](https://docs.unity3d.com/ja/current/Manual/index.html)

### Unityアセットストア
- Unityのゲームの中に取り入れられる素材（アセット）をダウンロードできるオンラインストアです。 
- アセットストアを使えば、自作が難しいアニメーションや3Dモデルも簡単にゲームに取り入れることができます。
- 動画制作の幅も広がります。
- [公式アセットストア](https://assetstore.unity.com/tools/game-toolkits?locale=ja-JP)

### .NET
- .NET Frameworkは、2000年6月に開発元であるマイクロソフトが打ち出した「Microsoft .NET（マイクロソフト・ドットネット）」という構想が元となって作られています。
- このビジョンは、大規模なネットワークサービスを構築するため、腕時計やカーナビといった家電からパソコンや携帯電話に至るまで、あらゆる電子機器をインターネットに接続させるというマイクロソフトの経営戦略です。
- 上記の構想を実現させるため、マイクロソフトから「Visual Studio .NET」と呼ばれる開発ツールがリリースされました。
- 現在、Windows系アプリケーションの開発環境として使われ続けている.NET Frameworkは、このVisual Studio .NETがベースとなって作られています。
- しかし、マイクロソフトが発表したMicrosoft .NETは、構想の主軸となるはずだった通信仕様（XML Webサービス）が世間に普及せず、実現することはありませんでした。
- 結果的に、開発ツールとしてリリースされたVisual Studio .NETだけが形として残り、「.NET」という言葉も.NET Frameworkを指す言葉として使われるようになリました。
- .NET Frameworkは、Windowsとの相性の良さから、Windows系のシステム開発で用いられることが多くなっています。
- 特に、業務の効率化や自動化をするシステム開発においては.NET Frameworkが使用されるケースも少なくありません。
- 勤怠管理システム、在庫管理システムといった、業務の根幹を担う開発作業においては.NET Framework、または.NET Frameworkに対応した言語を扱えるエンジニアが重宝されるでしょう。
- [公式サイト](https://learn.microsoft.com/ja-jp/dotnet/)

### VB.NET
- VBとは、「Visual Basic」と呼ばれるプログラミング言語のことです。
- ほかの言語と比較して文法がシンプルで、簡単なプログラムを組みたいときに重宝しますが、高度な技術を要する分野においては不向きという特徴があります。
- C#と似た文法を使っているため、VBはWebやスマートフォン向けのアプリケーション、ゲーム開発などに適した言語です。
- Visual Basicの開発当初は.NETに対応しておらず、単に「VB」と呼ばれていました。
- しかし、2002年に行われたバージョンアップで.NET Frameworkの環境下で使用できるようになり、「VB.NET」という名称が使われるようになりました。

### ASP.NET
- ASP.NETとは、マイクロソフトが提供するフレームワークで、主にWebアプリケーションやWebサービスの開発に特化した機能を備えています。
- ASPとは「Active Server Pages」の略で、サーバー上で Web ページの生成や、対話型のWebアプリケーションの作成することができます。
- この技術をフレームワークに応用したのがASP.NETで、Web技術に精通していなくても、高機能な Web アプリケーションを開発できるのが特徴です。
- Visual Studioと組み合わせて使用することで、簡単に効率よく高機能なWebアプリケーションを開発することが出来ます。
- [公式サイト](https://dotnet.microsoft.com/apps/aspnet)

### Nu.Get
- NuGetとは.NET Frameworkに対応するフリー・アンド・オープンソースのパッケージマネージャである。 
- かつてはNuPackと言う名で知られていたが既にあるソフトウェアパッケージの NUPACKとの混乱を避けるため変更された。
- [公式サイト](https://www.nuget.org/)

### Universal Windows Platform(UWP)
- UWP は、Windows 用クライアント アプリケーションを作成するさまざまな方法の 1つです。
- UWP アプリは、WinRT API を使用して、インターネットに接続されたデバイスに適し た、強力な UI と高度な非同期機能を提供します。
- [公式サイト](https://docs.microsoft.com/ja-jp/windows/uwp/get-started/universal-application-platform-guide)

### Windows Presentation Foundation
- WPF アプリ(Windows Presentation Foundation) ・解像度に依存せず、ベクターベースのレンダリング エンジンを使用し、最新のグラフィ ックス ハードウェアを活用するために構築された UI フレームワークです。
- [公式サイト](https://docs.microsoft.com/ja-jp/dotnet/desktop/wpf/overview/?view=netdesktop-5.0)

## 関連言語について
### Visual Basic
- VB(Visual Basic)とはマイクロソフト社が開発・提供するプログラミング言語。 
- 『BASIC』というプログラミング言語から派生したマイクロソフト社のQuickBASICを 拡張したものです。
- [公式サイト](https://docs.microsoft.com/ja-jp/dotnet/visual-basic/)

### F# 
- マイクロソフトが開発した.NET Framework向けのマルチパラダイムプログラミング言 語である。
- [公式サイト](https://fsharp.org/)
- [公式ドキュメント](https://docs.microsoft.com/ja-jp/dotnet/fsharp/)