2020年に小学校でのプログラミング教育義務化は、皆さんご承知かと思います。
恐らく、夏休みの自由研究的な延長線になるかと思いますが…

皆さんがコンピュータに興味を持ち、テクニカルな部分が切磋琢磨され技術の底上げされることは、とても良いことだと思っています。

しかし、危険なことが一つ二つ出て来るのでは?っと危惧しています。
それは、設計書が書けない、読めないという事態が起こりうるということです。
例えば、設計書に「---,--9」と書かれていて、-1000を代入したとします。
すると表示は、「 -1,000」と前に半角スペースが一つ入り、-1,000と表示されます。

これが、「ZZZ,ZZ9」ならば「  1,000」となり、「¥¥¥,¥¥9」ならば「  ¥1,000」となります。

これだけで、ここには整数しか入らないという事が分かります。
しかし、そういう基本を教えるのか?っという疑問が残ります。
っというか、こういう設計書を作っても、マイナスが入るべきじゃないところにマイナスが容赦なく入ってくるので、ひっちゃかめっちゃかです。

それと、コンピューターってどうやって動いてるか基本的な事を知ってる人が少ないです。
CPU、メモリー、ハードディスク…
この3つがどう協力し合って動いているのか、、、
新人の頃は、コンピューターの5大要素は何だ?なんてよく言われていましたが、言える人って今の人たちはいるのかな?っと思います。

私はかれこれ10年くらいプログラムは組んでいないですし、そもそも今の新しい言語は分かりません。
COBOLという大型の汎用機で使われていた言語で、今ではオープンCOBOLなんいうのがありますが、全く組んでません。
4年くらい前に動くんだけどバグってるというのを調査したくらいです。

私は小さい頃からクルマが好きでした。
何でクルマが動くんだろう?っと4歳くらいで、ピストンがクランクシャフトとコンロッドを通じで上下運動して、そこにガソリンが入り、スパークプラグで点火した爆発をエネルギーにしているのは知っていました。

図鑑を見て、漢字が読めないので両親に読めない…っと言い聞きながら理解した記憶があります。

なので、何で動いてるんだろう?っというところから、学校教育では教えてもらいたいです。
そうすると、CPU、メモリーに負荷の掛けないプログラム作りをするようになると思います。

今はそういう勉強をしていないので、難しく行数の多いプログラムが多いです。
コンピューターも人間と同じで、短い文だと理解が早い(メモリーをそこまで使わない)ので、やはり処理スピードが早いです。

なので、なるべく簡単にコンパクトにプログラミングすることも覚えてもらいたいです。

昔は、ハードの資源がないので、1本で多機能なプログラムが好まれてました。
そして、インプット/アウトプットが早くなり、1本1機能で作るように変化しました。
その頃、30分掛かってたプログラムをちゃんとキレイに作り直したら5分で終わったなんてこともありました。

そこからオブジェクト指向というJAVAとかC言語が出てきて、部品部品で作成する。
同じ部品なら、一つ作れば使い回しというように進化してます。

プログラムは進化していますが、基本は何一つ変わっていません。
どの言語もコンパイルという文法チェックをすれば、コンピューターが理解するアセンブラという言語に置き換わり、そこから私たちが理解不能なコンピュータ言語に置き換わる…

そういう基本も何一つ変わっていないので、小学校の義務教育化だけではなく、全体的にそういう基本から教えて頂きたいなと思います。