アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

Actindiの公用プログラミング言語は?

こんにちは、chiba です。

アクトインディ Advent Calendar 2015 の5日目の記事です。

かれこれ10年位前に話題になった古い話ですが、かのGoogleでは社内で利用できる公用プログラミング言語が、JavaC++Pythonと定められていて、これら以外の言語を利用する場合には特別な許可を必要としている(いた?)そうです。
最近ではGoogle発のGoなどもメジャーになってきたので最近はどうなのかは知りませんが、弊社も公用プログラミング言語を定めてみたいですね、ということで、まずは現状の利用状況を調べてみました。

使用言語プロジェクト篇

ざっとですが、現在の弊社のプロジェクトのレポジトリを眺める限りでは、

  1. Ruby
  2. JavaScript
  3. CoffeeScript
  4. Shell
  5. Common Lisp
  6. TeX
  7. Objective-C
  8. Java

辺りの言語が使われています。
弊社ではRailsプロジェクトが多数ということもあり、Rubyが圧倒的な主力と言って良い感じです。

これらのうちプロジェクトのメインになっている言語は、

  1. Ruby
  2. Common Lisp
  3. Objective-C
  4. Java

ですが、Common Lispは、このブログであったり、いこーよ内のリコメンド機能の実現であったり、ログ解析システムで使われています。
Objective-CJavaは、スマホ関連です。
また、JavaScript系、Shell系は大体Railsプロジェクトのお供といった所です。

過去を振り返ってみると、PHP辺りもありました。

使用言語ハウスキーピング篇

ハウスキーピングでは、大体がShell、Common LispRuby大好きな人も多いのでRuby、という感じになっています。
分析などにRもちょっと利用されているようです。
過去には無駄にシェルスクリプトをScsh(Scheme)で書いたりする人もいました(私)

Actindiの公用プログラミング言語は?

上記の結果を眺める限り、Actindiの公用プログラミング言語を決めるとしたら、RubyCommon Lispでしょうか。
とりあえず、そうしておきましょう。

ちなみに、社内では、無類のプログラミング言語オタクも半数位いるため、機能するなら何の言語で書いても全然怒られたりしません。
そんな感じなので私は隙があればCommon Lispをねじ込んでいますが、今後、OCamlHaskellClojureのコードが加わることを期待しています。

なお、Common Lispの開発環境を準備するのがめんどいという声はたまに耳にするので、その辺りの整備は弊社の今後の課題かもしれません。

以上、お粗末でした。