2013年3月6日水曜日

C#に興味がある?

近頃どうやらでしがC#に興味を持って試したがっているらしい。それはまあ良いのだが、Visual Studioがなんとなく気に入らないのだそうで、OSXかGNU/Linuxでどうにかしたいとか。

つまり、Monoという事になる。

Monoとは何かについては、

日本語のWikipedia記事があるので概要を掴んだ上で、先に示したMonoオフィシャルサイトを覗くと良いだろう。ちなみにECMAに聞き覚えがあるかもしれない、きっとJavaScriptを学習した際にECMAScriptと言語規格を参照した際の覚えだろう。ECMAとは、
  • ECMAはIEEEやJISの様な標準化組織の1つ。
    • 例1: ECMAScript(≈JavaScript) の標準仕様の策定 → ECMA-262
    • 例2: C#の標準仕様の策定 → ECMA-334
ある言語仕様の実装が複数存在する事はC++について少しは勉強して知っているところだと思います。C#(.net Framework)もWindowsユーザー一般ではMicrosoftによる実装を使いますが、Windows以外の環境ではMonoという実装を使います。

MonoはMicrosoftの実装に比べると、やや深い機能を使うと挙動にバグがあったり、最新の言語機能の実装が遅れたりする事はありますが、差し当たり言語の基礎的な機能等について試しに学習してみるという程度であれば、現在はMonoの実装は十分に期待に答えられるほど安定し、新機能も取り入れられるようになって来ました。ASP.NETアプリケーションの一部が細工しないと動かないとかはきっとまだあるだろうけど…。

そういうわけで、どうもWindowsやVisualStudioは好きではないとか、OSXやGNU/LinuxでC#を試したいと言うのならばMonoを使うと良いでしょう。ちなみにLinuxの場合は多くのディストリビューションでmonoでパッケージを検索すればあれこれ出てくるはずです(debian系ならmono-develパッケージを導入すれば開発に必要なアレコレがだいたい入るでしょう)。OSXについてはよー知らんので上記リンクから情報を確認して導入すれば良いだろう。

それと、差し当たり、C#や関連した入門書なども書いている方でプログラミングを中心に品質が良く、安定して参考にできると考える先人のウェブサイトを2つ紹介する。
もしこれらのサイトを見ながら、C#について本格的に入門する気になったなら、できるだけ言語基礎や.net Frameworkの仕組みも解説した本を購入してしっかりと勉強しても良いでしょう。

もちろん、Microsoftのmsdnも一次的な参考情報がたくさんあります。当然Monoではなく自社製品向けのエントリーですが、基本的にMonoでもmsdnを頼れるリファレンスとして活用できます。
なお、Monoの使い方(主にコマンド)については、概要は`mono --help`、バージョン情報は`mono --version`、取扱説明は`man mono`で確認すれば良いと思いますよ。

最後に、少々蛇足となりますが参考に、
こんなIDE(統合開発環境)もありますよ。vimとシェルだけで不十分でIDEが欲しいのならば検討してみるのも良いかもしれません。

0 件のコメント:

コメントを投稿