結局テキストベースのプログラミング言語習得を勧める理由
2020年から必修!小学校プログラミング教育についてエンジニアの視点から
以前の記事に小学校プログラミング必修化のことを書きましたが、プログラミングの初期ではビジュアルプログラミング言語を使うと導入がスムーズです。
実際そーなんですが、実は私はビジュアルプログラミング言語でプログラミングを覚えても最終的にはテキストベースの言語を身につけるべき!と思っています。
以前に自分の前の担当者が作ったビジュアルプログラミング言語のソースコードを書き足す仕事をしましたが、大変つらい思いをしたのでそこから得た経験を紹介したいと思います。
1 ビジュアルプログラミング言語は他人が読めない
テキストベースのプログラミング言語は多くの場合上から下に向かって処理が進みます。しかし、ビジュアルブログラミング言語はしばしばそれに逆らって処理が進む場合があり、コードが大規模になってくると書いている本人しか分からなくなってしまいます。
また、コードを書いている最中は本人は処理を理解して書いていますが、コードを書き終わってしばらくするとどのように処理が進むか本人も忘れてしまいます。
これは処理の進行順以外にもコード内にコメントが入れにくいことにも原因があります。コメントが入れられなければ検索することも不便になるでしょう。
2 コードが資産にならない
私は今まで書いたコード開いて一部だけコピーして新しいプログラムに追加したり、すでに作った関数を持ってきて使ったりと、過去に書いたコードの貯金が今の仕事を助けてくれることがあります。
しかし、ビジュアルプログラミング言語ではそれが難しいです。
1にも書きましたが、処理の手順が分からなくなってしまうのでどこの部分が自分の欲しい処理かは後から見てパッとわかりません。自分で作った関数については、私が知らないだけでいい方法があるのかもしれないですが、自分が使っていたときは「使いにくいなー」という印象しか残りませんでした。
テキストベースのプログラミング言語であれば、「あのアルゴリズムはどうだったっけ?」と思ったときに、少しだけ覚えている部分をキーワードにしてWEBから全体を検索できます。
しかしビジュアルプログラミング言語では検索から答えを見つけることができないので、処理の全部を覚えていなければなりません。
経験値とともにプログラミングやバグフィックスのスピードが上がりにくいんじゃないかなと思います。
3 デバックってどうやるの?
デバッグは一番の疑問でした。多分ビジュアルプログラミング言語でもデバッグするためのデバッガがあるんだと思うんですが、使い方が全然わからなかった。これは私の経験不足なのですが、ビジュアルプログラミング言語のデバッグがテキストベースのデバックより簡単なんてことはないと思います。たぶん。
4 世間では圧倒的にシェアが低い
結局ビジュアルプログラミング言語を進めない一番の理由はシェアの低さです。どの業界を見てもテキストでプログラミングしています。
使用している人口が少なければそれに対する情報も減ります。検索して得られる回答も少なくなってしまいます。やはりプログラミング言語は流行に乗っていくべきです。
プログラミング学習の初期ではビジュアルプログラミング言語を習得しても最終的にはテキストベースの言語を習得するべきです。
現時点で一番流行っている言語はやはりPythonだと思います。記述の簡単さやライブラリの豊富さが人気の要因でしょう。
しかし、私は初心者がビジュアルプログラミングの次にやるのはC#がいいんじゃないかなと思っています。これは私がPCに計測装置の制御をやらせたときに強く思いました。
今後、少しずつC#による計測器の制御を記事にしていく予定です。ちゃんとまとまっているサイトが無いので、皆さんの役に立てればよいなと思っています。