A37 理想的なシステムの作り方を知るべきだ

A.システム開発のウラ側

Scratchで遊んだ感想

大阪へ仕事に行った時、子供達へのScratch教室みたいなポスターがとても気になりました、IT教材として優れた何かがあるのだろう、そこで、自宅に戻ってさっそくScratchをやってみました「なるほど、確かに面白い」子供達に適した教材であると理解できました、機能はブロックと言われ、ブロックを積み重ねるだけでプログラミングが可能で、とても楽しい動画を楽しむことができます

理にかなっている

Scratchの正体、それは、全てを機能単位として提供する、機能をつなぎ合わせるだけで動画を提供できるツールであることだ、例えば、5回ループする処理は、5回ループするブロック内にループさせたいブロックを埋め込む、これで同じ動作を5回実行できる、ゆえに、1加算する代入文、5になったら終了するif文、このような文はScratchには存在しません

「コーディングをしないで下さい」と言われた衝撃

ある担当者から「コーディングをしないで下さい」と言われた仕事がありました、続いて「機能は全て関数?として用意してあるので、必ず、関数の組み合わせでプログラムを作ってください」と、ここでは、コーディングとプログラムミングは意味が異なると初めて知りました、この仕事を受けたのは昭和57年です、今思うと貴重な体験でした、しかし、当時の私には感動が薄く、不思議な感覚だけが残っていました、このシステムの素晴らしさを実感できるまで、恥ずかしながら、かなりの時間を要してしまいました

現状利用可能なライブラリの把握は重要

それから、何年経ったでしょう、あるプロジェクトでの私の状況です、既存関数は必ず再利用する、新規関数なんて作るもんか・・・と、誰かが既に作っているはず、ですが、どこにあるのかわかりません、後日「やっぱり存在した」と気が付いたのはかなり経ってからでした、私の大きなミスです、一言、言い訳言わせて「どこにあるのと聞いた時、誰か教えてよ」と正直思いましたが、不満は口にせず自らの口の中に押し込めました、自分の開発環境内のどこに何があるのかを調査する能力が足りなかったのだと反省が残りました

理想を知らなければ、正しさ優先だけの悲しいシステムになる

プログラムは常に再利用できる作りをする、これ、鉄則ですね、しかし、本当にそうなっているでしょうか、改造に改造を重ねたシステムは、時間を経過するごとにテストOKなら、どんな修正でも構わない、そんな作りへと変貌を遂げていきます、これ、危険な前兆です、この辺の話は後の投稿でする予定です

コメント