くまちゃんのiOS/Androidゲームプログラミング

マイペースでゲームつくってます。

プログラミング言語のはなし18

プログラミング言語のはなし18】
FacebookTwitterなど、WEBサービスをつくるのに使われるプログラミング言語がイロイロ登場しました。


では、そもそもなぜこれらの言語が使われるようになったのでしょう?

前回書いたように、プログラムが「ブラウザの上で」走るので、プログラマーのしなければならない仕事-コードを書くーが少なくてすむ、ということは最大の要因です。

重要なのは、それがゆえに、プログラムの「完成がはやい」ということです。

とにかく、アイディアが浮かんだらチャッチャとWEBサービスをつくってしまって、世に出して、多くのユーザーを獲得する、そのユーザー数を根拠に資金を集めて、改良は後でいーじゃん、という起業スタイルが流行したんですね。FacebookTwitterなんかはその代表例です。

この世界では「デファクトスタンダード」になったものが唯一無二の勝者で、2番はあり得ませんから、他者に先駆けるためスピードが何よりも重要視されます。

そのスピードレースの最中に、仕様書書いてC言語でチンタラプログラミングなんぞやっておられんワケなんですよ。

パッとアイディアが閃いたら、バッとノートPCを手に取り、ガッとキーを打ち出す、これぐらいの勢いが求められます。

書いたプログラムはすぐにトライ&エラーで修正、改良を繰り返していきます。

プログラミングの世界でも、「ラピッド・プロトタイピング」(手っ取り早く試作品をつくる)が重要視されてきたんですね。

実は、これらのプログラミング言語は実行時に逐語翻訳する「インタプリタ型」がほとんどです。それでも、現代の爆速CPUとチョー巨大なメモリのおかげで、「アレ?これインタプリタ型だったっけ?」とわからないほど素早く翻訳してくれています。いわば速度を確保しつつ、BASICのお手軽さを兼ね備えているので、そりゃこっちの方が人気でるよね、というワケです。

...じゃあ、これでカンペキだね良かったね、というワケにもいかなくて、やっぱりインタプリタ型ではどうしても速度が遅いので、結局、FacebookTwitterも後で「書き直して」いる、というのも事実です。まあ、何億人ものユーザーを抱えることはまずないのでフツーの人は気にしなくていいんですけど、だからコンパイルするC言語C++は無くなることはないんです。

え?Javaは?うーん、バーチャルマシンのはなしはややこしいな...と悩みつつ、(続く)

https://itunes.apple.com/jp/app/doragondanku/id866740873?mt=8&uo=4&at=10l8JW&ct=hatenablog