VC#/Visual C#とは、Microsoft社が開発した.NET Frameworkベースのオブジェクト指向言語でUNIX/Linux C/C++をベースとした同社製GUI用VC/VC++に、これまで以上にウェブ開発を意識したCベースのGUI用プログラミング言語VC#が加わり、その過程でVCはVC++に包含されています。
.NET Frameworkという技術は、JavaのJVMとほぼ同じで、移植性を高める為の共通基盤であり、あらゆるプラットフォームで利用することを想定した規格です。
C#とは、.NET Frameworkの根幹をなす技術を世界標準とすべく同社によって技術公開されたCLIと共に標準間団体Ecma、ISOにより世界標準規格として標準化されたプログラミング言語で日本ではその翻訳版がJISとして公開されています。
CLIやC#はオープンな仕様なのでOSを選ばないと同時に同社製はもとより他の言語間でも相互にクラスの利用などができることになります。
但し、同社のプログラミング言語を語る上でもVB/C#/VC++などのようにVC#については、(同社はVC#としていますが、どちらも同社が開発したという意識が働くからか)なぜか単にC#と呼ばれるのが一般的なようです。
更に同社のプログラミング言語にはVB/Visual Basicというものもあります。
.NET Frameworkが浸透する以前のVB6.0までの時代は、VBはクライアントサイドプログラムという位置づけでしたが、システム構成としてクライアントサーバシステムからウェブシステムへの移行という背景があっての.NET Framework技術という中でクライアントがブラウザに移行してしまった後のVBの存在は微妙と言わざるを得ません。
もちろん、当時としてはそのとっつきやすさからIT技術者を含むVBを知っている、使える、いわゆるVB人口はとても多いと云われており、VBを存続させることで同社ラインナップによるウェブシステム開発人口が増えることはシェア拡大につながるという思いもあるでしょうし、他方、開発者側も新たな言語を覚えなくても知識を追加する程度で開発でき、ユーザーも開発者が豊富で安心感があると言う点で利害が一致することにはなります。
でも、そう考えるとVB/C#/VC++の位置づけは微妙ということになり、UI開発機能も持ちつつ他の2つ以上に万能でありながらUI開発はVB/C#に譲っている感のあるVC++は別としても、その明確な違いを見出しにくいVB/C#の関係は、今のところ、かなり微妙な位置づけとなっている感は否めません。
とはいえ、C#はオープン仕様であることに意味があり、要するに捨てがたいVBの存在が微妙ということですが、これはもうC#でもVBでも好きな方を選べるということをメリットと捉えてとりあえず解決ということで。
また、同社製OSであるWindows上のC/C++やその開発環境としては統合開発環境VC/VC++の他にMac OS Xが標準とするObjective C/C++、Borland C/C++(現C/C++ Builder)がありましたし、現にあります。
その中でBorland C/C++は、元々Borland社が提供していた開発環境で同社は著名なところではDelphiの開発元でもありますが、そのメンバーがMicrosoft社に移籍し、C#の開発に携わっている為、Cをベースとは云うもののまだリリースされて日の浅い現段階では、むしろDelphi色が色濃く反映されたプログラミング言語となっているようです。
この点も焦燥感からかこれまでのMS社とは異質な気はしますが、従来のVB/VC#/VC++/ASPなどの製品を.NET Framework上に移植、VB .NET/VC# .NET/VC++ .NET/ASP .NETに加え、XML、Ajaxにも対応、F#(同社継続開発中の関数型プログラム言語)など更なる拡張が続けられています。
昨今のIT業界はウェブ中心となっており、Webサーバが利用され、その親和性からUNIX/Linuxの存在がクローズアップされ、他方、商用ソフトウェアの間でも多くのUNIX/Linuxオープンソースプロジェクトの実績を受けて広くフィードバックを受けることによるバグの早期発見等々、商用製品充実のためのオープン化に取り組む営利企業も出てきました。
そんな中、UNIXの世界から独自色を打ち出して名をはせた企業の1つであるApple社のMacintosh標準OSとなったMac OS Xも2007年UNIXとして認定されました。
また、同じくUNIXの世界からXENIX、MS-DOSなどを経て商用化した歴史を持つMicrosoft社もMS-DOSからWindowsとは別の流れの中でコマンドプロンプト、WSH/Windows Script Host、Microsoft Shell、そして昨今.NET FrameworkベースのWindows PowerShellをリリースしました。
これらは、UNIXへの回帰とも言えますが、WindowsやMacといったGUIを入り口としてコンピュータに親しみ、堪能した人々も多いからこそ、CUIへの抵抗も小さくなったことや時代をリードしてきた企業の代表格ともいえる両社の進化のスピードが時代の進化と共に一層高速化したことによって皮肉にもGUIでできることに限界を感じた、もしくはGUIの開発スピードが追いつかないと感じる人が増えた為、自ずと、より緻密に制御したいという欲求に駆られる人々が増えたからこそのUNIXへの回帰、Linuxの利用といえるほどの時代に入ったのかもしれません。