こんにちは。明月です。
この投稿はC#とはに関する説明です。
プログラム言語はC、C++、Java、C#など様々な言語があります。
言語の誕生時期はC言語が一番早いし、次はMicrosoftからウィンドウ開発をしやすくするC++(MFC)、プログラムについて少し知ってる方なら一回ごろは聞いたことがある言語のJava、これから説明しようと思うC#の順になります。
誕生時期を見るとC#は上の4つの言語の中で最後になりますが、最後に誕生したから一番いい言語だと思いますが、そうではありません。プログラム言語は各特徴があり、開発状況のたびに使う方法が違います。
各言語について簡単に説明するとC言語の場合はハードウェア系とOS系(カーネル)、ドライバー系で主に開発するし、C++(MFC)はグラフィック系またはC#で実装が大変な部分、C#よりメモリ管理が厳しい環境で使います。
Javaの場合はネットワークのウェブ系、アンドロイドモバイル系で使うし、C#はネットワークサーバクライアントウィンドウ(CS)系でよく使います。機能として使うところはそのとおりですが、プロジェクトの予算、環境などの影響でウィンドウプログラムをJavaで開発するし、C++とC#を混在して使う時もあります。
でもその特徴で必ずJavaはウェブ、C#はウィンドウフォームで開発することではありません。ただ、仕様の状況、環境の設定により影響がたくさんあるので、何がよいか悪いかを決めることではありません。
C#というプログラムは.Net Frameworkの上で動いています。.NetFrameworkはウィンドウOSしかないのでLinuxやウィンドウ以外の環境では開発ができません。(最近はコアー(Core)というLinuxライブラリもありますが、一般的な状況じゃありません。)
フレームワークとはC言語みたいに開発の環境によりすべてを開発することではなく、基本的なライブラリや基盤に関してはフレームワークにすべて開発しているので、C#にはAPIとして取得して使う形で開発します。それをCLR(Common Language Runtime)といいます。
CLR(Common Language Runtime)とは.Net系の言語(VB.Net、C#.Net、C++.Netなど)の仮想マシンの構成要素です。
仮想マシンとはプログラムのメモリ管理(インスタンス生成及び解除)するし、様々なコンポーネントを提供して開発をしやすくするフレームワークです。
なのでプログラムの開発の勉強をCとC++よりしやすいし、開発生産性を上げる特徴を持っています。
現在(2016年5月).NetFrameworkのバージョンは4.6まで発表してC#のバージョンは6.0まで発表しています。
C#のバージョン別で説明すると下記のとおりになります。
C# バージョン | 重要機能 |
---|---|
C# 2.0 |
|
C# 3.0 |
|
C# 4.0 |
|
C# 5.0 |
|
C# 6.0 |
|
C#バージョン別でできることがあるしできないことがありますが、特にバージョン別に開発することではないなら最新バージョンを使うことが良いです。
これからC#の基本文法とライブラリを使う方法、ウィンドウ開発やウェブ環境で開発する方法に関して説明します。
ここまでC#とはに関する説明でした。
ご不明なところや間違いところがあればコメントしてください。
- [C#] 15. インタフェース(interface)2019/07/10 00:06:17
- [C#] 14. 抽象クラス(abstract)と抽象メソッド(abstract)、そして仮想関数(virtual)2019/07/08 23:04:09
- [C#] 13. クラスの継承と再定義(override)する方法、overrideとnewの差異2019/07/08 22:55:00
- [C#] 12. Staticとアクセス修飾子、そしてカプセル化2019/07/07 23:12:30
- [C#] 11. インスタンスう生成(new)とメモリ割り当て(StackメモリとHeapメモリ)そしてヌル(null)2019/07/07 22:54:13
- [C#] 10. クラスを作成する方法(コンストラクタ、デストラクタ)2019/07/06 00:53:17
- [C#] 9. 関数(Method)とオーバーロード、再帰呼び出し2019/07/06 00:38:29
- [C#] 8. 配列とリスト2019/07/05 00:12:42
- [C#] 7. 制御文2019/07/05 00:05:30
- [C#] 6. 演算子2019/07/04 00:09:43
- [C#] 5. データタイプ変換(キャスト:Cast)とコメント(Comment)2019/07/04 00:01:12
- [C#] 4. データタイプとリテラル(literal)、 Nullable2019/07/02 23:58:43
- [C#] 3. プログラミングの始めと変数と定数を使う方法2019/07/02 23:46:49
- [C#] 2. Visual Studioをインストールする方法2019/07/01 23:58:20
- [C#] 1. C#とは?2019/07/01 23:32:22
- check2024/04/10 19:03:53
- [Java] 64.Spring bootとReactを連結する方法(Buildする方法)2022/03/25 21:02:18
- [Javascript] Node.jsをインストールしてReactを使う方法2022/03/23 18:01:34
- [Java] 63. Spring bootでcronスケジューラとComponentアノテーション2022/03/16 18:57:30
- [Java] 62. Spring bootでWeb-Filterを設定する方法(Spring Security)2022/03/15 22:16:37
- [Java] JWT(Json Web Token)を発行、確認する方法2022/03/14 19:12:58
- [Java] 61. Spring bootでRedisデータベースを利用してセッションクラスタリング設定する方法2022/03/01 18:20:52
- [Java] 60. Spring bootでApacheの連結とロードバランシングを設定する方法2022/02/28 18:45:48
- [Java] 59. Spring bootのJPAでEntityManagerを使い方2022/02/25 18:27:48
- [Java] 58. EclipseでSpring bootのJPAを設定する方法2022/02/23 18:11:10
- [Java] 57. EclipseでSpring bootを設定する方法2022/02/22 19:04:49
- [Python] Redisデータベースに接続して使い方2022/02/21 18:23:49
- [Java] Redisデータベースを接続して使い方(Jedisライブラリ)2022/02/16 18:13:17
- [C#] Redisのデータベースを接続して使い方2022/02/15 18:46:09
- [CentOS] Redisデータベースをインストールする方法とコマンドを使い方2022/02/14 18:33:07