つまるところ、「自分で作ったものであれば、自分で直せる」ということに尽きるのだと思います。

2025年11月10日

3年前に大学へ入学した当初、バスのリアルタイム位置を表示するWebサイトを作りました。
When I first entered university three years ago, I created a website that displayed the real-time locations of buses.

この週末、そのサイトをリメイクしてみました。
This past weekend, I decided to remake that site.

地図上のバスが30秒ごとに位置を更新するだけのシンプルなものです(ちなみに、深夜はバスは動いていません。)
It’s a simple website that updates the positions of buses on a map every 30 seconds. If you’re interested, please take a look.

「Protocol Buffersって何? 」から、「公共交通オープンデータ」を攻略する

最近、少し特殊なWebサイトを作成を依頼されたのですが、うまく作れる自信がなかったため、上記の「バスのリアルタイム位置を表示するWebサイト」のリメイクで、作り方を思い出していました。
Recently, I was asked to develop a rather specialized website, and since I wasn’t entirely confident I could pull it off, I tried remaking the bus-tracking site to refresh my memory of how I’d built it.

暗号鍵の作り直し程度で、3年前のプログラムがほぼそのまま動きだしたことに、少し感動しました。
To my surprise, the three-year-old program ran almost perfectly with only a minor update to the encryption key. I was genuinely impressed.

-----

つまるところ、
In the end,

「自分で作ったものであれば、自分で直せる」
“If you made it yourself, you can fix it yourself.”

ということに尽きるのだと思います。
That’s really what it comes down to.

私は、「世の中には役に立つものが驚くほど多く作られている」が、「最初から他人の役に立つように作られたものは、実は少ない」と思っています。
I feel that while there are astonishingly many valuable things in the world, very few of them were initially made to be useful for others.

正直に言えば、この3年間で博士論文のために作ったプログラムは700を超えています。
Over the past three years, I’ve written more than 700 programs for my doctoral research.

しかし、それを引き継げる人はいません。
But no one can take them over.

というより、引き継ぐことはほぼ不可能でしょう。
Or rather, it would be virtually impossible for anyone to do so.

そもそも自作プログラムとは、他人が使うことを前提に作られていないからです。
After all, personal code is never written with other people’s use in mind.

かつて、「私(江端)のプログラムを、自分で使えるようにする」と豪語した奴がいました。
Once, someone proudly declared, “I’ll make Ebata’s program usable for myself.”

私は「こいつは、多分、『他人のプログラム』という難しさというものを分かっていないんだろうな」と思いながら開示したのですが、まさか「私のプログラムコードが汚い」と批判してくるとは思いませんでした。
I shared my code, thinking, “He clearly doesn’t understand what it means to deal with someone else’s program,” but to my astonishment, he criticized it, calling it ‘messy.’

その時の怒りはいまでも忘れていませんし、もちろん、これからも許すつもりはありません。
I still haven’t forgotten the anger I felt that day—and needless to say, I have no intention of forgiving him, ever.

もちろん、他人のプログラムを理解しなければならない時もあります。
Of course, there are times when one must understand someone else’s program.

それが仕事であるなら否が応もありません。
If it’s part of your job, you have no choice but to do it.

他人が書いたコードというのは、判読不能な古代文字のようなものですが、それを解読するのも、また仕事なのです。
Code written by someone else often feels like an undecipherable ancient script—but deciphering it is also part of the work.

-----

とはいえ、私は「何でも自分で作れ」と言いたいわけではありません。そんなことは不可能です。
That said, I’m not advocating that everyone should make everything themselves. That’s impossible.

重要なのは、自分で作ったものを他人でも使えるようにする「汎用化」です。
What truly matters is “generalization”—making what you’ve built usable by others.

製品の価値や価格は、この汎用化によって決まります。
The value and price of a product are determined by this very ability to generalize.

プログラムを書けること自体には価値はあるのでしょうが、それは市場価値とは別の次元の"価値"です。
Being able to write code certainly has its own worth, but that’s a different kind of value—distinct from its market value.

もし、そのプログラムをお金に換えたいのなら、別の努力や工夫(汎用化)が必要です。
If you want to turn your program into money, you’ll need another kind of effort and ingenuity—namely, generalization.

そして、この「汎用化」に価値を見いだせない人が、この世には驚くほど多いのです。
And yet, there are astonishingly many people in this world who fail to see the value in that.

Web画面に『ここにボタンを一つ追加して』というセリフを言う平気で言う人間 ―― これだけで、その人間のプログラムやシステムに関する見識の無さが露呈しています。

 

2025年11月10日2025,江端さんの忘備録

Posted by ebata