読者です 読者をやめる 読者になる 読者になる

M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Martin Fowler『1つの言語』感想

Java C# Ruby

エンタープライズ・ソフトウェア界の流行はここ10年の間ずっと、ソフトウェア開発努力のための1つの標準言語に集中することだった。 多くの開発組織が、すべての作業をJava(とかC#/VB)でこなそうとしている。

これの理論的根拠は、開発者が1つより多くの言語に熟練するのは困難だということだ。単一の言語にこだわり続ければ学習の負荷は下がる。とりわけ新人を採用するときに効果がある。

まあ真実もちょっとはあるけど、大抵は大外しだ。プログラミング環境ってのは一部は言語だけれど、でも複数の言語やフレームワークについてでもある。大規模フレームワークHibernateStrutsやADOなんかは、単一のホスト言語でプログラミングしていたとしたって、今や1つの言語を学ぶのと同じぐらい難しい。何をしないといけないのかをホスト言語で書き表す難しさが相当やっかいなため、多くのフレームワークが設定ファイルに頼っているなんてこともしょっちゅうだ。そしてその設定ファイルは事実上、XMLで記述される外部ドメイン特化言語であり、プログラミング・カクテルに醜さの火酒を1ショット混ぜることになる。
Martin Fowler『1つの言語』

意図せず読んだけど、ニール・フォードの名前の出てくる記事だった。お説ごもっともで、フレームワークやライブラリの導入に伴う学習コストはばかにならない。だけどだからといって積極的な複数言語導入論には賛成できない。この手の議論に共通のこととして、例によって、集団開発論の観点が抜け落ちている。「プロ意識の欠如」をやり玉に挙げても得るところはすくない。そして「あれがダメならこれだってダメじゃないか? だから〔翻って〕どれもこれもOKなんじゃないか?」というのは詭弁というかただの強弁である。