我が社の社内公用語は? 言語!
「社内公用語を英語にするくらいならC言語にしてやる!!」とスクウェア・エニックス和田社長がTwitterで発言したことが話題になった。
実際、スクウェア・エニックスの開発言語がC言語のみで、C++やJavaでの開発はないのかどうかは、ゲーム業界に疎いわたしには定かではない。
「情報共有や仕事の引継ぎといった面から、社内の開発言語は統一したほうがいい」という主張はもっともなことである。しかし、わたしは言語を使い分けている。数百行で済むバッチ処理はVBScript、イントラネットはC#で書く。スクリプト言語はインストールという行為がないので、OSや他のアプリケーションに悪影響を与えないという意味で、お手軽である。
特に、システム管理を合理化したい場合などは、WMIなども実行できてしまうから便利なのだ。社内SEならば、開発もやるしシステム管理もやる。その局面に合わせて言語や開発手法を変えざるを得ない。習得にやっかいなのは言語そのものではなく、クラスライブラリの使い方だと思うが……。
ところで、Visual Studioでは、C#を開発標準にするかVBを開発標準にするかという選択肢がある。
- ASP.NETのサンプルコードをググっていたら、米国のコードはほとんどC#であった
- JavaやJavaScriptのような、C言語の影響を受けた言語が標準的な印象を受ける
日本ではVisual StudioをVB.NETで始めるという若い人がいるが、VBの時代からVisual Studioを使っている人ならばともかく、若い人があえてVB.NETをやる必要はないと思うのだが……。クラスライブラリがC#と同じ.NET Frameworkなのだから。VBはスクリプトとして、簡易バッチ処理言語、あるいはExcel VBAとしては残るだろう。
結局、いままでエンジニアをやっていて何が言いたいのかというと、言語なんて何か主流になるか分からないから、特にこだわりをもっていない、「その時代になれば、適材適所に合った言語を使う」ということだ。強引な統一とか統制とかしても、不利な方向に進んでしまった場合、発言の撤回をするのがやっかいだ。自然な統制、社内の了解が容易に得られるような統制が望ましいのではないかということだ。
そもそもこの社内公用語の件、社長が開発言語ではなく実際に話す言語を英語にすると発言したことから始まったが、仕様書やプログラムのコメントも英語にしてしまった方がグローバルシステムの構築にはいいかもしれない。 日本人にとって、最初はきついかも。でもそのくらいのことしなくては、真のグローバル化は推進されないのでは……。