吉岡直人です。今回はプログラマーの大半が大好きな「プログラミング言語談義」をしようと思います。

 プログラマーは「プログラミング言語」の話をするのが大好きです。ITproの読者ならプログラミング言語のなんたるかくらいは既にご存じかと思います。けれどもプログラマーじゃない人には、「C」とか「C++」とか「Objective-C」とか「Swift」とか「Java」とか「JavaScript」みたいないろんな種類の言語がなぜあるのか。どういう風に使い分けているのか(あるいは分けてないのか)、さっぱり分からないと思います。

提供=123RF
提供=123RF

 携帯電話の世界で始まったソーシャルゲーム(ソシャゲ)でもいろんなプログラミング言語が使われています。その大きな理由の一つは、ソシャゲが家庭用や業務用のいわゆる「ゲーム開発」からかけ離れたところから始まっているからです。

 当初、開発や配信に参入したのは「IT系」、というか正確には「Web系」の企業でした。彼らのソシャゲは彼らが使い慣れたスクリプト言語で開発されました。例えば、アドビのFlashとか、JavaScriptとか。プログラム的にも「サクっと」作られてました。

 一方で、業務用や家庭用のゲーム開発でプログラマーが使っていたのは当時、C言語やC++言語が主流でした。アセンブラやマイクロコードを使う場合すらありました。ものすごく作りにくいけど「クオリティ」重視。「ハードの性能を限界まで引き出した」は最高の褒め言葉でした。それが良いことだったのかどうかは正直よくわからないけど、特徴的な職人芸が生きる世界だったのです。

 とはいえその後の隆盛に伴い、ソシャゲのクオリティも上がってきました。そのうち、「家庭用・業務用ゲームの方がクオリティは上」とは必ずしも言えなくなってきました。

 例えるとフィルム撮影とビデオ撮りのような関係でしょうか。撮影した結果は現像してみるまでわからないから緊張感が半端ないフィルムの世界と、何度でも撮り直しができるビデオの世界。当初は画質で差別化できていたけど、そのうちビデオの画質も上がって、そこでは区別はできなくなった。いまでは放送も高画質化して、映画もビデオで撮るようになっています。