オブジェクト指向で悩んでいる人が居ると聞きます。
私はもう、30年以上もプログラムを組んでいるので、オブジェクト指向なんて概念を考えた事もありません。
自然とそうなっていた・・・そんな感じです。
C++メインでやっていますが、Javaも勉強してみました。
すると参考書に出てきましたよ、
オブジェクト指向の考え方が・・・
えー何々・・・
スタンプがクラスで実際に描画された文字がインスタンス。
オブジェクトとは、物を指す。
プログラムを物として取り扱う・・・
色々な考え方が書かれています。
どれも間違いではありません。
確かにオブジェクト指向の概念を解りやすく比喩しています。
しかし、『だからなに?』って感じではないでしょうか?
一番大切な、なぜオブジェクト指向なのか?
そういったことが抜けているように思えます。
私が学生の頃、高級言語(FORTRAN等)や低級言語(アセンブリ)等を学び、思いつくままプログラムを記述し、楽しんできました。
社会人になって、C言語に出会い、そのシンプルでスマートな言語にシビレました。
夢中でC言語でプログラムを書いたのを覚えています。
当時、アセンブリ言語とC言語を組み合わせて組み込み機器のプログラムを書いていました。
IC等を制御する場合は、アセンブリ言語。
割り込み処理などの高速処理もアセンブリ言語。
メインルーチン的な大きな流れはC言語と、それらの言語の長所だけを引き出し、プログラムを書きまくりました。
とても楽しかったです。
Cとアセンブリの融合・・・
楽しい・快感・・・
マイコンを直接制御するのであれば、今でもこの組み合わせかもしれません。
特に非力なマイコンでは、高級言語は動作できませんし、C++でも重たすぎるくらいです。
そうなると、やはりアセンブリ言語と無駄の無いC言語がぴったりです。
そんなアセンブリとCだけあれば何もいらない・・・
C言語サイコー!
なんて思っていた時にC++に出会います。
感動しました!
なんてすばらしい言語だろう!
これがオブジェクト指向か!
なるほど!
そう!
オブジェクト指向のなんたるかは、すぐに理解できたのです。
今の子供達は、初めからオブジェクト指向です。
アセンブリ言語やC言語のドロドロした部分をほとんど知りません。
そのドロドロした部分を知っているから、オブジェクト指向のすばらしさが理解できるのかもしれません。
エアコンが高価でまだ家になかった時代を思い出すと、今のエアコンのありがたさが特に解ります。
しかし、私の子供達は、エアコンのありがたさや、携帯電話の便利さ等、考えた事もないはずです。
そんな子供達に、『エアコンていうのは・・・』なんて講釈をしても始まらない。
煙たがれるだけだと思います。
オブジェクト指向なんてのは意識する必要なし!
ドロドロを知っている人たちだけが、そのすばらしさを噛み締めれば良いのです。
初めからオブジェクトな子供達には、空気のような物、苦しい比喩など使わず、すっ飛ばしていきなり言語仕様から指導すれば良いのです。
そうは思いませんか?
このサイトは、広告収入により運営しております。