今までに使ったプログラミング言語

仕事でまともに使っている言語

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プロジェクトを担当する機会が無い。

言語としての機能は、RubyJavaと同等と言うか好みのレベルだと思う。

ただ、パッケージマネージャが長年中途半端な状態が続いているのがタマにキズ。 例えば、pip をインストールするのに easy_install が必要だったり、 setup.py を正しく書くのが難しかったり。 最近は pip が(ようやく)インタープリタに同梱されるようになったりしたようだけど。

また、近頃は統計や機械学習の分野で人気のようだが、これも仕事では縁がない。

Elm

Haskell ベースのAltJS。すごく未来的な感じがしたが、実際にはELMを使う未来は訪れなさそうだ・・・。

しかし、しれっとRailsが5.1からElmをサポートしていたりする。

十進BASIC

教育用言語。高校レベルのグラフを書くのには最高だと思うが、高校は卒業してしまった。

http://hp.vector.co.jp/authors/VA008683/