VC++という言語?

割と一般的に誤解されやすいお話なので、簡単に解説しておきたい。
先に結論を書いておくと、VCだのVC++だのという言語は存在しない。以下、その辺をつれづれと。

Visual C++という開発環境

これは、存在する。正確にはこの後ろにバージョン番号などが振られて「Visual C++ 6.0」とかいう感じになるのだが(最近は.NETなどという単語もつくのだが)、存在する。MicrosoftのWeb辺りを検索すれば、たくさん出てくると思われる。

Visual Basicという存在

これが、多分誤解されやすい状況を生んだものだと思う。M$にありがちではあるのだが、用語が氾濫しているので勘違いがおきやすいのだ。
Visual Basicという言語が、これは言語として、存在する。元々はMS-Basicの流れを汲んでいるものだが、まぁずいぶん色々換わったりもして、現在Visual Basicという言語として(正確にはこれの後ろにバージョン番号がつく)存在する。
一方で、Visual Basicという開発環境が、これがまたきちんと存在する。やはり後ろにバージョン番号がついているのだが。
つまり、ここにおいてVisual Basicという言語と開発環境が、それぞれ存在していることになる。

ではVisual C++という言語は?

存在しない。
Windowsアプリケーションを組むために、例えばCであるとかC++であるとかは、これが用いられている。一般的にANSI辺りが現在の標準である(そういえば、最近はPOSIX準拠、っていう単語を見る機会もずいぶん減ったような)。この辺には規約書だのなんだのが、存在する。
で、Winアプリを組む場合、かなり多くの場合でWin32APIという、MSが用意したAPIを使うことが多い。というか、これを使わないと組むのが難しい。で、Win32APIは、これはまたもちろん規約書(というか仕様書)が存在する。
C++でアプリケーションを、特にGUIものを組む場合、多くの人々がMFCと呼ばれるクラスライブラリを使っている(個人的にはバージョンごとの差異の激しさと作りの方向の問題であまり好まないのだが)。このクラスライブラリにも、当然のことながら仕様書が(バージョンごとに)存在する。
しかし、ここに「VC++」だの「VC」だのといった「言語そのもの」は存在しない。

本稿で申し述べたいこと

概ね二つ。というか、一つに集約されるのだが。
一つは「要求スキルVC++」が指す意味が明確でない、という指摘。統合開発環境を操作できるスキルなのか、CないしC++が扱えることなのか、Win32APIがぶん回せることなのか、MFCを熟知していることなのか。この辺りを明確にしないと、きちんとした会話が成り立たない。まぁ、聞くところによると概ね「MFCが扱えること」らしいのだが(ついでに不思議なのがあまりWin32APIのスキルは必要とされないらしい−この辺もまぁ場所によってずいぶん異なるのだが−)。
で、集約される一つは「用語を正しく使おう」というところになる。
思い込みで発言をすると、えてして双方にとって非常に不幸なことがおきやすい。そんな状況にならないためにも、可能な限り、用語は正しく使っていきたい。
ほかにも誤った用法の単語はいくつか耳にするが(かなり多いのがファイアウォール)、最近VC++という単語が目立つので、一筆。

戻る 
Copyright 2002 M-Fr Net All Right Reserved
E-Mail:info@m-fr.net