エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

言葉に左右される思考

思考は言葉に左右されるという話を聞きます。語学や文化の話は専門の方々にお任せするとして、ソフトウェア開発から見えたことについて。
今までC言語で開発をしてきた人は、C言語でソフトウェアを考える、ようです。ようです、というのは、きちんと確かめた訳でないから、なですが。そうすると、時々問題が起こります。たとえば、言語の特徴をもとに設計してしまう。
本来、ソフトウェアの設計がまずあって、その表現としてプログラミング言語で書かれたプログラムがあるはずです。ですが、一つの言語での経験が長い人ほど、先にプログラムの姿が浮かんでしまい、それに合うように設計してしまったりしている、ようです。万人ではないと思いますが、想像するようりは多いような気がします。そうすると何が起こるかというと、要求仕様に合わせたプログラムを作ることが難しくなります。要求仕様にあわせるために設計で無理をする、という不思議なことが起こります。無理な設計は、メンテナンスが大変です。要求仕様が変更になるたびに、大変な思いをしている原因の一つが、そんなところから出てきているとは、あまり感じていないようです。
特定のプログラミング言語で考えると危険だとすると、どうしたらいいのでしょうか。たぶん、日本語で考えるのがいいのでしょう。今度は、日本語に縛られる、という問題が出てきそうですが…。