【公開講座受講】C言語

大学の公開講座でC言語によるWindowsプログラミングという講座があったので受講してきました。全4回、各回2時間半というボリューム。

初回を受講してきたわけですが、とにかくもう受講者のレベルが低い。確かに初心者向けではあるものの、さすがにフォルダのコピーもままならないような人が何人もいるような状態だとほとんど進まないわけですね。

初日2時間半もやって、結局かなり駆け足でもforループどまり。おそらく本来は分岐までやる予定だったと思うのだけれど、コンソールに文字を吐き出すプログラムを書いて、ループさせるところで終了。前途多難な感じです。

市民向けの公開講座ということで、定員は設けられているものの受講資格のようなものはありません。今回は「高校生以上」とだけ書いてありました。しかしわずか4日で、最終的にはWin32APIでWindowsアプリを作る、って話なので、最低でも「最低限のPC操作ができる」程度の条件はあっても良かったのではないかと思います。なにしろ配られたIDの_(アンダースコア)の入力方法がわからないようなレベルですので。

定員12名に対して7名しか集まっておらず、およそその半分がファイル操作もままならないレベル。そこでCのソースを書いてコンパイルしてリンクする、というような話をしているわけですが、けっこう無謀です。

しかし先生はいまどき珍しい原理主義者みたいな人で面白いです。いきなり開口一番、「最近はPythonとかJavaScriptとか簡単な言語があるけれど、結局全部Cに変換されて機械語になるわけで、Cをやっておけば良い」みたいなものすごいことを言います。

「Cで書いたものはあらゆるところで動くし、一番速い」ともおっしゃっていて、間違ってはいないけれどCも万能じゃないからPythonのような言語が出て来たわけで・・・というような話で、こういう原理主義みたいな人は最近珍しいので面白いです。

僕としては、何か一つでも新しいことを知ることができればそれで満足なので良いのでありました。

初回では、forループのカウンタ変数の型に、intではなくcharを使うという点が新鮮でした。極力無駄なメモリは使わないという発想で、さらにintを使うよりcharのほうが加算が速いとも言っていました。確かに厳密にはそうでしょうが、おそらくいまどきのPCで、forのカウンタ変数をintで取るかcharで取るかで実行速度の差はほとんど無いんじゃないでしょうか。

とはいえそういう時代の人の話は新鮮です。unsignedを使えば倍のカウントができる、みたいなことで、unsigned charを使って200回ループさせるようなものを書いて終わりました。

途中、wsprintfで文字列変数を作成するという話の際に、きわめてあっさりとwindows.hをインクルードする(先生は「ひっかける」とおっしゃっていました)という話が登場するなど、フォルダのコピーに手こずる人にはさっぱり理解不能だと思われる内容も飛び出していました。誰向けなのかよくわからない講座ですが楽しく受講しております。