89.コロナ禍で突然の夏休み

電子書籍を書いています。楠田文人です。
 >>電子書籍はこちら
コロナが流行ってからと言うもの、皆さんと同じですが仕事が激減しました。時間だけはたっぷりある。なので普段はできないことをしようと思い、プログラムの勉強を始めました。BASIC、PASCAL、辺りはある程度理解していたので(C もなんとなく理解)、新たに C++ を始めることにしました。動作環境は、今では FREE の環境が多く用意されています。BORLAND(現 ENVACADERO)の古いコンパイラが FREE でダウンロードできるようになっており、環境はすぐに構築できます(ほとんど英語版ですが)。
そのままになっていた 600 ページもある分厚い教則本を頭から読んで行くことにしました。分厚いので、普段は途中で仕事が入ったり何かと邪魔が入ってしおりを挟んだままになって仕舞い、こんな時期にしか読めない。C++ は C の延長かと思っていたら全然別の言語だった。
言わば独学ですが、躓かなかった訳ではなく、何度も読み返して初めて理解できることが多く、Web にも言語を解説するサイトがあるので、こちらも利用させていただきました。同じ単元(と言うか同じ部分)でもサイトによって説明の仕方が違っていて、参考になるサイトと読み物でしかなかったサイトと色々でした。プログラミングの説明なので、簡単なサンプルから少し手の込んだサンプルがあると助かる。気になったサンプルは数字などを少し変えて見て試す。飽きてくると他の言語でも同じ単元、例えば「関数」とかを探して読んでみる。Visual BasicPASCAL などとは関数の呼び出しが違ってたりするので、いい勉強になりました。
色々な言語を勉強すると、それぞれの特徴が見えて来て、同時に真似たらしいところも見えて来ます。関数の値渡しと参照渡しなどは、取り入れた理由は理解するものの、結果として混乱の元になっているので何とかならないものか。コンピュータの仕組みに関わることだと思うので仕方なさそうですが。
困ったのが開発環境です。IDE(Integrated Development Environment)が増えて使い方を覚えなくちゃいけないし、どの言語でも terminal(UNIX)や command prompt(MS-DOS)でコードを書くと言う、純粋に文法だけで終わる訳ではありません。もちろんコードだけ書く環境もありますが、それぞれの IDE の使い方を覚えながら書かなければならん。これが結構面倒です。GUI ともなると、例えばボタンの動作もそれぞれ違う。今はフリーのヴァージョンで試せるけど、その昔は 10 万とかで買わないとだめでしたからね。いい時代になったものだ。

f:id:kusuda_fumihito:20200919110251j:plain

PC だけじゃなくてスマホを入れると選択肢が増える。android の場合は turmex と言う linux 環境もあるので、IDE で試すよりは普通にコードレベルで開発して遊びたい。そうなると C はコードだけなら環境を選ばない。ひとつコードを書けば MS-DOSWindowsandroidLinux とどの環境でも動作は同じです。中でテキスト表示をさせる場合は文字コードを気にしておかないと文字化けします。android 上で動く MS-DOS ってのがよさそうな感じがしてきた。