企業として何のプログラミング言語にコミットするか

さまざまな用途向けに、さまざまなプログラミング言語が考案され、日々使われています。コンピュータの能力が低かった時代は、機械語に対応したアセンブリ言語に始まり、ALGOL 系の Pascal, C などに続き、コンピュータの能力や資源に余裕が出始めると、オブジェクト指向言語C++, Java などに続き、さらに文法を簡易化したスクリプト系の言語に続いています。

現在のウェブプログラミングでは、生産性の高いフレームワークと組み合わせて PHP, Perl, Python, Ruby などがよく用いられています。また、同様にフレームワークと組み合わせて Java, C# などが用いられています。

業種、業界によってスタンダードもさまざまですが、特にウェブに関わる業界にいると、新しいものに目を奪われ勝ちになってしまいます。新しいものは試してみたくなるもので、RoRSymfony といったフレームワークも試していたりします。

企業として何のプログラミング言語にコミットするか?ということは、

  • 確保する人材
  • 教育プログラム
  • ソフトウェアのライフサイクル
に大きく関わるため、とても重要な要素となります。

個人の場合は、何で作ろうが構いませんが、企業としては、コストを掛けて生産、保守していくことになるので、あまり特殊なものは使えません。また、マーフィーの法則に従い、悪いタイミングで深刻な問題が発生しますので、

  • メーカーによるサポートが充実している(作った人に聞ける。)。
  • メーカーによるドキュメントが充実している(そこを見れば解決できる可能性が高い。)。
  • メーカーによるコミュニティーが充実している(同じものを使っている人に聞ける。)。
  • 社内に問題を解決できるエキスパートが居る(深部まで分かっている人に聞ける。)。
  • ユーザーによるコミュニティーが充実している(同じものを使っている人に聞ける。)。
  • 人材の確保のしやすさ。
といったことが選択の基準になります。

SBI Robo では Java を選択していますが、上の基準では、ドキュメントの質と量が高い Microsoft も選択肢となり得ました。が、人のつながりで Java 系の人材の確保を進めました。

上のリストで、人に聞ける という箇所を強調しましたが、ググって出てくる古い誤った情報ではなく、人に聞ける という点が、実は重要なのかなと思います。

森田::