コンピュータ用のプログラムは、ChatGPTに書いてもらう昨今、今回は、最近ふと感じたことについての記事となります。
ご覧の皆さんは、『プログラミング = Programing』という言葉を聞いて何を想像されますか?
もしかして、プログラミング言語と呼ばれる人工言語でコンピュータ用のプログラムを記述することと思われているかもしれません。
たぶんですが、プログラミング = コーディングなら、間違いではないんでしょうけど、それってプログラミングの極一部の領域のことではないでしょうかね。
まぁ、いろいろ定義や歴史を知っている知らないと自己中な判断で、どぉーでもいいことを言う人も多く、このようなネタは炎上しがちですが、最近知育系の玩具で見た衝撃的光景を紹介します。
知育パッドのメニューに『プログラミング』という項目がありました。
おおお!どんなことできるの?
とワクワクしながら選択してみると、パズルのような迷路にキャラクターが居て、スタート地点からゴールまでの順路を正確に進めるように、↑↓→←の進む、右回り、左回りetc…を指示して、キャラクターがその指示通りに進んでゴールまでたどり着けるかという内容だった。
( ̄▽ ̄;ガーン
そうですか、、。これをプログラミングと称し知育パッドに入れているんですね。
何かとても複雑な気持ちになりました。
そーいえば、ムカデのような生き物形態のおもちゃで同じようなものがありましたね。
昔、よくやったファミコンのパズルゲームか迷路に小さな金属球を転がしスタートからゴールまで転がす様まんまです。
そういえば、コロナ前に地元自治体で夏休みプログラミング教室というの広報で見かけました。
ドローンをプログラムしてスタート地点から飛び上がりゴール地点まで着地できるかという内容でした。マウスで何かピコピコやっていそうです。
フローベースのGUIのようでした。
特に児童期にプログラミングを教える場合は、大変重要な点に、難しいことを難しく教えて嫌いになることがないようにすべきでしょうかね。
皆さんもご経験があるかもしれません。
そこら辺のプログラミング教室に大金支払って通い出し、数日で辞めてしまった苦い経験だったりしますよね。こんな記事もあります。
さて、知育パッドのパズルゲームは楽しいのですが、これはパズルゲームと呼ぶことにしましょう。
児童期のプログラミングを教えるのなら、もう少しなんぞやという内容も含めないと、『マウスでテキトーに動かす』というようなイメージに終始しそうです。まぁ、楽しいのでOK牧場です。
パソコンの画面でいろいろピコピコやって、実機で動かしてみたりすると、楽しいのですが、心配な点も多いです。
- 手で動かすプログラミング以前に設計は、ちゃんとできていますか?
- 何をするのか?もしくはしたいのか?
- どのような手段でするのか?
- どのような制約はあるのか?
- どうやって動作確認するのですか?
- どう動くことを確認できたら問題なしとしていいのですか?
でないと、え!パソコンで何か打ち込むのがプログラミングなんでしょ?というおかしなことになります。
設計段階の仕様書を準備しろってことです。
仕様書を基にコードを吐いてもいいです。等価検証が完全であればですが、、、。
この仕様策定という段階をすっとばし言語やGUIでモニターをみながら操作するようなことになっちゃうと、トライ&エラーの繰り返しで、プログラミングの重要な考える思考作業がおろそかになります。
エンジニアに仕様書を書かせるのが管理のお仕事になっていて、外資系会社新卒の時に本社アメリカのお偉いさんのコメントで、エンジニアに仕様書を書かせるぐらい大変なことはないって言っていました。仕様書を書かずにいきなりコーディングを始めちゃう新人さんが居て困るというのです。分かります。。。
お仕事の8割は、仕様策定で、ここで致命的な問題などを振るい落とします。
プログラミングは、仕様書に沿ってコーディングするのだから、得意な人にやってもらえればいいのです。