今、週末研究員の立場で、C(C++ですらない)を使って、シミュレータ作っています。
Now I am making a simulation program based on "C" language (still not "C++").
オブジェクト指向という概念を知ってプログラムを書き始めて、20年という永遠に近い悠久の時を経て、今、改めて思っているのですが、
After knowing "Object-oriented programming", more than twenty years, through eternity time, has passed. I re-think again that,
"I wonder if the concept of object-oriented is really needed."
と、思い始めています。
-----
■可読性、すごく悪いですよ。(なんで自分の書いたソースコードの追跡がこんなに大変なんだっけ?)
- Readability is very bad. (Why should I feel hard to track my source codes?)
■インターフェイスが一義的でないので、どのメソッド読んでいるか特定できないし、
- An interface is not unique, so I cannot specify which method I should read.
■オブジェクトの定義が、別のファイルに入っていると絶望的に追跡が面倒になるし、
- If the definition of an n object is in another file, code tracking is terrible complicated.
■知らないところで、継承されたオブジェクトが使われているかと思うと、怖くてメソッド叩けんし。
- If someone made an inherited object, I feel fear to make the method because I don't estimate results.
いや、勿論、クラスを「データのおにぎり」化できるという点では、めちゃくちゃに便利だと思いますよ。
Of course, I know it is very convenience in order to make like a "rice-ball of data", though,
でも、それって、structを使えば足るでしょう?
I think that "struct" is enough.
「おにぎり」の中に「おにぎり」を正方体に変形させるメソッドなんかがいるかなぁ?
Do we really need a method to change the "rice-ball of data" with "rice-square of data”?
「おにぎり」は、外部のファンクションさんに、握り直して貰えばいいと思うのですよ。
I think external functions are good to do the processes if we need them,
-----
いや、勿論、この理屈は不当です。よく分っています。
I know better that this logic is unfair.
しかし、私は、もう誰かと共同でシステム開発をする予定はないし、私の私による私だけのシミュレータなのですから、インターフェイスなんぞ、私の好きなように定義します。
In my case, I have no plans to develop a system with someone in the future. The simulation program is just mine, so I will define the interface as my favorite.
もう、フリーダムです。
It is freedom.
■グローバル変数を使いまくり、
- I am going to use global variables,
■数値を直接ソースコードに書き込み、
- write numeric in source code directly, and,
もう、近い未来には、あの毛虫のように嫌われた" GOTO"さえも復活させるかもしれません。
- reuse the "GOTO" that is hated as a caterpillar, in the near future.
-----
という訳で、私はこれからも、趣味で作ったシミュレータのソースコードを全部開示していく予定ですが、
However I am going to open my entire program I make as a hobby, the goody-goody feeling that
―― そのプログラムコードを、誰かの役に立てたい
"I want to make the program codes open for someone's help."
などという殊勝な気持ちは、欠片もありません。
is not a trace.
私のシミュレータの追試をしたいという人は、それなりの覚悟で取りかかって下さい。
If you want to do additional test of my simulator, you should be working on in its own way of preparedness.