Help us understand the problem. What is going on with this article?

C#のことを自分なりにまとめてみた

More than 1 year has passed since last update.

コンパイル言語
パラダイム:オブジェクト指向
型付け:強い静的型付け

アプリケーションが実行される仕組み

Javaの実行環境とよく似ている

  1. C#のソースコードをC#コンパイラが共通中間言語(Javaでいうバイトコード)へとコンパイルする
  2. コンパイルされたアプリケーションは共通言語ランタイム上で動作する仮想マシン(JavaでいうJVM)で実行される
  3. 仮想マシンでは共通中間言語をネイティブコードに翻訳し、OSを通してCPUで実行される

特徴

Windowsアプリにつよい

  • Microsoft謹製
  • 豊富なWindowsAPI
  • nugetというパッケージ管理システムでライブラリもたくさんある
  • 同じくWIndowsアプリに強いVB.netよりもサンプルが多い
  • Windows向けデスクトップアプリ作るならほぼ一択

Linqという強力な配列処理機能がある

  • メソッド記法によって可読性の高い配列処理ができる

Web開発

  • ASP.netを使用することでWeb開発、MVC開発が可能

MVVM開発

  • WPFによる強力なBinding機構でMVVM開発が可能

クロスプラットフォーム開発

  • Unity
    • ゲーム開発もできる!
  • Xamarin
    • iOSも作れる!(ただしビルドにはOSX環境が必要)
  • Mono
    • Linux環境の開発もできる!

高機能なIDEによる補助で開発スピードが速い

  • VisualStudioの高度な入力補完機能によって、基本的な.Netの名前空間のフレーズだけ入力すればある程度の開発ができる
  • プロジェクト全体に対する変数名、クラス名一括変更等ができる
    • 変更漏れによる手戻りが起こりにくい

共通言語基盤上の仮想環境で実行される

  • 同じ仕組みで実行されるVB.Netで書かれたライブラリも参照できる
  • プラットフォーム非依存で実行できる環境が構築されつつある
    • Monoとか

まとめてみた感想

  • Runtimeの対義語がCompiletimeということを知れた。
    Runtimeで一つの単語だと勘違いしていて意味がよくわからないな~とか思ってたけどただ「実行時」と直訳すればよかったのですね。

  • 2年ほど.netの環境に触れていたけどいざまとめてみるとなかなか難しい。他言語を実務で使えれば比較できてわかりやすいのかも

  • 技術選定をするためにはもっと深くまで掘り下げないといけないのだろうという感覚

2ndponpu
全オタクのQuality of Otaku Life(QOOL)向上を目指して活動するエンジニア見習い 実務は主にWindows+.NetFrameworkでのシステム構築全工程 趣味では興味本位にまんべんなく
http://2ndrelaypumpstation.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした