というわけで、5人の精鋭で何かを作るための言語と、100人のエンジニアで何かを作る言語と、10000人のエンジニアで何かを作るための言語は当然違っていて然るべきなのだ。どの規模の開発においても自分の使っている言語がベストだ、と思うならあなたは宗教法人設立すべきで、職業としてエンジニアをやることは諦めた方がいいだろう。いや、諦めなくてもいいけど振り返ってもいい気がする。

以上のような考察から、僕個人としてはScalaはいい言語だと思うけれども今のJavaを押しのけてエンタープライズ開発?のメインストリームに成ることはないと思っている。理由は簡単で、ScalaJavaより色々なことが出来るからだ。

非常に極端な見解を述べさせてもらうならば、全ての言語は「いちユーザに無限の権限を許す言語」と「いちユーザの権限を可能な限り制限するように設計された言語」のスペクトルの間に存在する。左側の究極はマクロを持つLispで、それは元の言語仕様すら拡張可能な尖ったナイフだけども、20人の中に一人でもサイコパスが居たらチーム全員のはらわたを引きずり出すようなハメになるだろう。右側の究極は僕の狭い見識によればJavaで、自由度が少ない代わりにそこから生まれるのは全員おそ松くんで、その中からジャック・ザ・リパーが産声を上げる可能性を極力無くすことが出来る。

posted 3ヶ月前