【プログラミング言語】C#

当ページのリンクには広告が含まれています。

こんにちは、KiYOです。

システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。

新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。

KiYO
KiYO

今回はC#について紹介します。

C#は、仕事でバリバリ使っている言語です。 C#の特徴や歴史、利用シーンを解説していきます。

この記事でわかる事
  • C#の特徴
  • C#の歴史
  • C#の利用シーン

今回はこの本を参考に、私の独断と偏見で記事を書いています。

言語を5点中評価

容易性容易に言語習得できるか?4
将来性将来性があるか?4
普及度普及しているか?4
保守性保守性が高いか?4
中毒性ハマるか?3
19
目次

C#の特徴

Windowsの定番言語 UnityやXamarinで人気がさらに加速

Microsoftが「.NET Framework」のために開発した生産性の高い言語です。

言語の特徴
  • C#はMicrosoftが最も力を入れている言語
  • 名前の由来はC++に++を下に追加した形からC#と付けられ、C++の次世代言語という思いで付けられた
  • Windowsだけでなく、macOS,Linux,Android,iPhoneなどでも動く
  • 共通中間言語(CIL)にコンパイルされて実行される点や文法的な類似点からJavaと比較される

C#の歴史

開発者Microsoft,Anders Heilsberg(アンダース・ヘルスバーグ)
誕生2002年4月 C#1.0リリース
公式サイトhttps://docs.microsoft.com/ja-jp/dotnet/csharp/
分類動的型付け、オブジェクト指向
影響を受けた言語C
C++
Delphi
Eiffel
Java
影響を与えた言語D
F#
Java
TypeScript
Dart
Kotlin
Swift

言語の歴史

2004年MicrosoftからC#1.0がリリース
2004年以降ジェネリクス、コルーチン、型推論、ラムダ式、クエリ式LINQなどをサポート
2016年Mamarinを買収。クロスプラットフォームの.NET Coreを公開。これによりmacOS,AndoroidなどでC#を動かせる
.NET Framework
  • Windows向けのアプリ実行環境とライブラリ
  • C#は共通中間言語(CIL)にコンパイルされ、.Net FrameworkではCILをネイティブコードに変換して実行
  • JavaのJVMに近い考え
.NET Core
  • 2016年に.NET CoreはMicrosoftとコミュニティによるオープンソースの.NET実装
  • Windows,macOS,Linuxをサポート
  • .NET Core3以降ではWindowsのWPFやデスクトップアプリ作成もサポート
  • Microsoftが公式にクロスプラットフォーム対応の実行環境を提供
Xamarin/Mono
  • Monoは、2001年にリリースされたオープンソース、クロスプラットフォームの.NET実装
  • XamarinはMonoの技術と関連が深い
  • XamarinとMonoはモバイルOS向けの.NET実装に位置づけ
コラム

C#は名前の通りC/C++の影響を受けています。ただし、Turbo PascalやObject Pascal/Delphi、Javaなどの言語の影響も強く感じられます。

.NET Frameworkは標準の充実したライブラリを持ち、様々な処理を手軽に記述できます。

C#の利用シーン

Windowsサーバ向けを中心に、Javaと似たような使い方が多い。C#によるWeb開発ではASP.NETが人気です。WebのUIを開発できるBlazorも注目されてます。

Windowsアプリの開発ではC#が最も手厚くサポートされている言語の一つです。

ゲーム開発環境UnityではC#を公式な開発言語としてサポートしており、C#で開発されたゲームが世界中で遊ばれています。クロスプラットフォームツールのXamarinでスマフォアプリ作成もできます。

C#の標準化

C#の仕様は、ECMA-334、IOS/IEC23270:2003、JIS X 3015などで標準化されています。オープンソースのMonoが誕生し、Windowsだけでなく他のOSでもC#が動作可能になりました。

Visual Studioで高い生産性
  • IDEのVisualStudioを使うことで生産性は飛躍的に向上
  • C#の設計時に、コードの補完機能の動作を考慮に入れて総合的に言語仕様が決められた背景がある
  • VisualStudioを使うと、サクサクとC#のプログラムを書くことができる
Xamarinでスマホアプリの開発
  • Xamarin(ザマリン)とは、Microsoftが提供するクロスプラットフォームなアプリ開発環境の名称
  • Windows,macOS,LinuxといったデスクトップOSはもちろんのとこ、スマホOSのiOS,Android上でも動作するプログラムを作成できる
C#発のプログラミングテクニック
  • C#は言語機能を意欲的に進化させてきたため、ファンが多い
  • リアクティブプログラミングなど多言語に影響を与えた機能を多くある
  • C#発祥のプログラミングテクニックのうち、特にLINQは使いやすい機能としてファンが多い
ゲーム開発のUnity
  • ゲームは高速な動作が求められることからC++などが人気
  • ゲームエンジンUnityがC#を公式サポートしている
  • UnityはVRコンテンツ制作などにも使えるため、C#の適用領域を広げることに大きく貢献

まとめ:業務アプリからゲームまでカバーするC#

今回はC#について解説しました。

仕事で業務アプリを作るときにC#を採用していましたが、ゲーム業界でも使われているとは驚きでした。過去の歴史から見ていくと、Microsoftの主要言語として位置づけられているのがよくわかります。

C#の必要性
  • 業務アプリやゲーム開発で使われている実績が多い。(処理速度が高い)
  • .NET CoreによるクロスプラットフォームでOSの垣根なくC#が組める
  • MamarinによりモバイルOSの開発も可能

これからも引き続き勉強していきたいと思います。

やりたいことを実現するために、C#の使い方をマスタしましょう。

何事も覚えることに遅いことはありません。今日が一番若い日です。行動していきましょう!

以上です。KiYOでした!

今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になりました。

Udemyというオンライン講座でもプログラミング学習はできます。 再生速度を早めてみたり、何度も見返すことができるのでおすすめです! 私も色々なプログラムをここで学習しています。

[affi id=2]

まとめページで、他のプログラミングも紹介していますので、ご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITの事や自分の経験談など綴っていきたいと思っています。

コメント

コメントする

CAPTCHA


目次