Visual Studio .NET 2005 でCの開発
うちの会社には、知らない人が多いので、文章化して整理してみる。
VBやC#と多彩な言語もさることながら、VC++でもいろいろな開発スタイルがある。
C++
関連をインクルードしない - オブジェクト指向を使うこと
後述のVC++との違いは、
インクルードしないコードは、C++準拠と言える、、、かもしれない。
このコードは、UNIX系OSでも(比較的)通しやすい。
プレーンCとの違いは、クラスを扱うこと。
、、、というか、C++を名乗るなら、クラスを使うべき。
プレーンC
拡張子を「.c」にすることで、自ずとC++の記法は使えなくなる。
なお、
メリットは今となってはほとんどない。
Cで書いた方がC++で書くより早いコードになるのは、技術力が高い人のみ。
.NET C++
- .NET Frameworkを使う
- オブジェクト指向を使うこと
.NETフレームワークを使った、マネージコード。
個人的には、一番オブジェクト指向にそえる気がする。
.NET Frameworkを使うなら、C#が良いと思う。
が、コンパイラの性能が.NET C++の方が良いらしい(ウワサ)
他
ATLやSTLというのもある。
それぞれ独特な匂いがする。
速いのは?
やりたいことによって違うので、単純評価はできない。
イメージとしては、「他」を除くと
プレーンVC > プレーンC > VC++ > C++ > MFC > .NET C++
と考えている(あくまで、私のイメージ)
ただ、プレーンVC 〜 C++ までは、それほどの差はないと思っている。
なので私は、VC++で開発することが多い。
クラスを使いたいし、リンクするDLLは少ない方が良い。
、、、まあ、DLLはむやみに少なくすれば良い話ではないが。
匂い
コーディングスタイルは、宗教に似ている。
他人のスタイルが気に入らん、と拒否するのは良くない。
信仰の自由は認めましょう。
ただ、MFCなり.NETなりを使うなら、その流儀に従うこと。
いろんな匂いが混ざると、異臭になるものです。
後からメンテすることを考えて、この意識は常に持って欲しい。
どのスタイルで開発するか。