今までに使ったプログラミング言語
仕事でまともに使っている言語
Ruby
Ruby on Rails のために使っている。 汎用言語としてはRubyが一番完成度が高いと思っている。 「標準ライブラリのメソッドが豊富」といったレベルだけではなく、 周辺ツールが充実している。依存関係したければBundler、カバレッジにはSimplecov、スタイルチェックしたければRubocopと、定番がありそれらを使っていれば100%困らない。
Scala
Playのために使っている。
静的型なのに、Rubyに近い自然な書き方ができるのだが・・・いま一つ「これじゃない感」がある。 必要だと思う機能はあるが、それを上手くアレンジできていない感じ。 例えば、「case classの "case" は形容詞ですか?」といった所。
また、Rubyに比べて周辺ツールが未成熟な感じがある。 sbt で依存関係をダウンロードするのに2時間も3時間もかかるのは辛い。
Java
レガシープロジェクトの触ることがある。
不具合修正しかしないせいか、Javaのコア言語は世間で言われているほどひどいとは思わない。
ただ、DIとかアノテーションとかビルドツール等が、ブラックボックスになっている感じがある。 機能も落とし穴もいっぱいありすぎて理解できない。 Javaに習熟したオジサンたちには分かるんだろうが・・・。
JavaScript
WEBアプリを開発するのに当然書くのだが、オマケ程度であり、 ガッツリ書くことは無い。 また、半分は純正のJavaScriptではなく、JSX (Reactの方。DeNAのではない)を書いている。
嫌いと言うほどではないが、Arrayを配列に使えなかったりするのがタマに辛い。 また、1年おきにパッケージマネージャが変わるのも辛い。
CoffeeScript
既存のRailsプロジェクトの不具合修正で触れる。
昔は「スゴい!画期的だ!JSはいずれCSに置き換わるに違いない!」と 思ったのだが、そうはならなかった。まあ、JSの機能が充実してきてるのだから、仕方がない。
でも、「.coffee を .js で書き直した」というコミットを見ると悲しい。
シェルスクリプト(Bash)
ちょっとしたコマンドを書くのに使っている。リリースやCIのスクリプトとか。
エラー処理等をちゃんとするなら、Rubyなどの高級言語で書くべきなのだが、 Bashで書く方が圧倒的に楽。
最近使わない言語
Python
かつては(今も?)Windowsでまともに使えるLLはPythonしか無かったので、 Windows PCしか持っていなかった学生時代にフリーウェアを書くのに使っていた。 仕事では何故かPythonプロジェクトを担当する機会が無い。
言語としての機能は、RubyやJavaと同等と言うか好みのレベルだと思う。
ただ、パッケージマネージャが長年中途半端な状態が続いているのがタマにキズ。 例えば、pip をインストールするのに easy_install が必要だったり、 setup.py を正しく書くのが難しかったり。 最近は pip が(ようやく)インタープリタに同梱されるようになったりしたようだけど。
また、近頃は統計や機械学習の分野で人気のようだが、これも仕事では縁がない。
Elm
Haskell ベースのAltJS。すごく未来的な感じがしたが、実際にはELMを使う未来は訪れなさそうだ・・・。
しかし、しれっとRailsが5.1からElmをサポートしていたりする。
十進BASIC
教育用言語。高校レベルのグラフを書くのには最高だと思うが、高校は卒業してしまった。