第3回 では、Javaをどうやって覚える?

いつのまにやら記事がでてました。
前回を踏まえてみると、
今回のはなんだかそそくさとまとめてある感がしました。
とはいえ。


腐ったソースを元に説明するこの苦しさよ(゚∀゚)


モデラー達は自分たちの使う用語については
初心者への遠慮のかけらもなくバシバシ使う傾向がある。
それでいて、肝心のモデリングとコーディングの間にある
常人には超えられないほどそびえ立つ壁については気づいてもいない。
専門用語を連発する輩が必ずしも本質に近い存在ではないということを示していそうだ。


どのくらい苦しいのか。
実行ソースを見、動作を考えればすぐ想像できること。

setPaymentメソッド(支払設定機能)

何度支払っても、最終支払の値にしかならないこの機能。
130円払うのに100円玉と10円玉3個を入れることを考えるとソース的にはこうなる。
   setPayment(100);
   setPayment(10);
   setPayment(10);
   setPayment(10);
しかしてこのクラスでは10円払ったことにしかならない恐るべき仕様。
500円玉か1000円札でしか130円のものが買えない自販機なんてだれが利用するのだろう。わくわく。

getGoodsメソッド(商品取得機能)

別に支払っていなくても何回でも商品を取得できるこの機能。
getGoodsするたびに商品が得られる自販機ってすぐつぶれるぞw
ソースで語ると
   Vending drink = new Vending("Coffee", 130);
   String item01 = drink.getGoods();
   String item02 = drink.getGoods();
   String item03 = drink.getGoods();
   String item04 = drink.getGoods();
   String item05 = drink.getGoods();
このitem01〜05まで全部に「"Coffee"」が返ってくる。
まだ金払ってないよ!!

getChangeメソッド(おつり取得機能)

払っていないとマイナス値が返ってくるし、
払っていたらいたで差分が何度でも返ってくる。
ソースで語ると
   Vending drink = new Vending("Coffee", 130);
   drink.setPayment(500);
   int item01 = drink.getChange();
   int item02 = drink.getChange();
   int item03 = drink.getChange();
   int item04 = drink.getChange();
   int item05 = drink.getChange();
このitem01〜05まで全部に「370」が返ってくる。
500円払って商品も買わずにお釣りを何度もゲット。
1回当たり370円儲かるよ!!!


っとまぁ現実に即して考えたときに明らかにおかしいこれ。
モデリングとはいったいなんぞやともっぺん考え直してこいってソースになっている。
そんなのをえんえんと解説し、最後にたった1回の実行のみうまくいく結果を得て

いかがですか。自動販売機を組み立て、商品を購入することができたでしょうか。

買わなくても商品得られるやん。

 分析からコーディングまでの流れは、自然言語(例えば日本語)を「Java語」に置き換える翻訳作業を行っているようにも見えますね。
(中略)
モデリングがしっかりしていればコーディングは単純化し、作業時間自体が短くなります。これが理想形です。

モデリングがある程度しっかりしていても、
単純にコーディングするとどうなるか身をもって示している例のつもりかこいつ。
それともコーディングをサボるとどれだけアホなものが出来上がるか示したのかこいつ。


そんなアンチテーゼを織り込んだようには感じられないから違うなきっと。


モデリングはあくまでイメージを形作るための作業。
イメージを現実にするためには単純にはいかないのが常。
コーディングってかプログラミングする時には
もっと細かいとこまで考えなさいっ!!

英語が世界中でコミュニケーション手段として利用されるように、
Java言語も、効率よくシステムを具現化するためのコンピュータとのコミュニケーション手段なのです。

コンピュータとのコミュニケーションは
これほどまでに大変なものなのね・゜・(ノД`)・゜・


以降は最初に述べた用語をいっぱいだしてまとめた風な記事でした。
もーつっこむ気もおこりませんヽ(´ー`)ノ


こんなのでも講演できるんだから世の中平和だ。