Skip to content

Instantly share code, notes, and snippets.

@kuenishi
Forked from repeatedly/d_risk.md
Last active December 14, 2015 09:09
Show Gist options
  • Save kuenishi/5062740 to your computer and use it in GitHub Desktop.
Save kuenishi/5062740 to your computer and use it in GitHub Desktop.

ついに顕在化し始めてもいない「Erlang/OTPリスク」

英語圏ではかなり前からErlang/OTPを開発し続けることのリスクについて語られていたが,具体的な弊害が出て来たので,単なるメモ.日本では起こり得ない未来だと思う.

若手エンジニアの不足

COBOLのように需要が逼迫しているのに人材の供給が増えず需給ミスマッチが起っているわけでは無く,需要も供給も増えないという状況下でわずかながら需要が上回っている質の悪い状況がErlang/OTPに起きている.特に深刻なのは高価な若手エンジニアの採用が絶望的に難しいという現実だ.Haskellが台頭して数年経ちScalaがメインストリームの先頭を突っ走る2013年において全く別の関数型言語もどきを勉強しようとする若者はよほどの物好きしかいない.20~30歳のErlang/OTPエンジニアを雇うのはそれほど難しい上にコストがかかる.優秀な30代前半の若手エンジニアを雇いたいという企業の思いとは裏腹にErlang/OTP新たに学ぶ若者は絶滅寸前だ.

とても優秀な若手を雇用できるチャンスが巡って来た.採用担当者はこう尋ねる.「Erlang/OTPは習得していますか?」「もちろんRuby/Scalaはお手の物です.Haskellもある程度可能です」「もう一度伺いますがErlang/OTPまたはCは習得していますか?」「申し訳ございません 未習得です」

愚問だ.

そこそこイノベーション

もう何年もErlang/OTP界隈で新しいモノが生まれたと言う話しか聞かない.こんな事を言えばErlang/OTPハッカーは激怒するかもしれないが,しかし現実にGHCやPyPyやJVMに比べればこの10年の間にErlang/OTPから生まれたものは錚々たるものだが無名だ.何かしらの最適化にしても型システムにしても,ハッカーが新しいモノを試す土俵にはいつもGHCやPyPyやJVMが選ばれて来た(そして苦労する).

もはや彼らがErlang/OTPを選ぶ理由はただ一つ「今Erlang/OTPで開発しないと後で苦労するから仕方なく」

最高の理由ではないだろうか.

10年前にErlang/OTPを開発していた人たちはわりといた.実際にシステムがデプロイされてから苦労しないために、Erlang/OTPは最適だった.そして今はどうだろう.自分たちが夜中にアラートで起こされることがないという理由「のみ」でErlang/OTPで開発し続けている.他に理由など無い.Erlang/OTPで開発する理由は自分たちの過去の不安定なシステムを維持しなくてもいいという理由のみだ.

控えめに言っても,そういう言語は楽でいいと思う.LLやJavaとは決別し,真夜中の自分たちにとって最適な選択をする.今すぐにだ.広まりすぎた言語のように手遅れになる前に.

元ネタ

ついに顕在化しはじめた「Perlリスク」 ついに顕在化しはじめてもいない「D言語リスク」

@jj1bdx
Copy link

jj1bdx commented Mar 1, 2013

Remember scientific computation are mostly based on FORTRAN libraries.

@jj1bdx
Copy link

jj1bdx commented Mar 1, 2013

And also remember kernel programmers do not write in C++; they almost always only write code in C and the assembly languages.

@vsov
Copy link

vsov commented Mar 1, 2013

Honestly, it takes only a short time to train Erlang programmer inside a team. The one, learnt functional programming before, could start write production code after 2-4 weeks of training. Fortunately, Erlang is the language with very small esoteric part, and it has very attractive learning curve. In-team training also pays off quickly because of efficiency, and you, probably wouldn't pay the full developer's salaries during training period. There is typical problem with being afraid of "exotic" language, but it's the mental problem which can be overcame quite easily by following simple and ever-working principle "don't try, just do or do not".

@jj1bdx
Copy link

jj1bdx commented Mar 1, 2013

The meme of this gist was from a Japanese article about Perl, which I don't take much. I believe no one dumps old language just because it's old.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment