1時間作文

文体診断ロゴーンなるものを見つけたのですが、
『自分で書いた文章』というものがPC上に多分無いので、
先人(http://t33f.tumblr.com/post/553632433)にだらだらと、何か書いてみましょう。
とりあえず、1000文字くらい。


・・・と、言ってもネタが浮かばないので、とりあえず自己紹介。


ハンドルネームdoloop(または、doloopwhile)。
2010年4月現在、大学院修士課程1年生です。


理学研究科、数学専攻、数学基礎論教室
専門は、まだ決まっていませんが、Reverse Mathという物になりそうな雰囲気です。
教授の専門がReverse Mathで、セミナーのテキストもReverse Mathですので。
どこの大学かは秘密です。でも、”Reverse Math”を研究してる大学院なんて、日本に何箇所も無いでしょうから、分かる人にはすぐ分かるでしょう。


このブログでは、プログラミングについてのTips的な何かをメモっています。単なる自分用メモの延長ですので、人様の参考になるかは分かりません。言語は主にPythonです。

しかしハンドルネームの”doloop”はPythonからではなく、高校生の頃やっていた十進BASICという言語から取りました。do〜loop文です。


実家が『日本のチベット』と呼ばれる県のさらに端の地域にあるので、高校までインターネットというものとほとんど断絶した生活を送っていました。高校の図書館にあるコンピュータ関係の本は、講談社ブルーバックスの文庫本が10冊あるかないか。そのうち、プログラミングは十進BASICの本とC++入門の本で2冊だけでした。


C++はちょっと見ただけで止めました。
C++には、標準ではGUIはついてきません。
高校生の私は、GUIが無い言語の存在意義そのものを知りませんでした。
また、本自体も『DogクラスとCatクラスを作ってbarkメソッドを呼ぶとdogは"ワン"と出力し・・・』といった、意味不明なオブジェクト指向から入る、良くある駄本でした。
ブルーバックスは高校時代よく読んだ(それ以外読むのが無かった)のですが、
今になって振り返ると、大したシリーズではなかった気がします。


一方、十進BASICは教育言語として設計されたらしく、グラフを表示する機能が標準でついています。しかも、できるだけ高校数学とのギャップ少ないように作られています。
たとえば、普通コンピュータで画面座標は、左上を原点としY軸は下方向に伸びていきますが、十進BASICでは学校で習う数学と同じく、左下を原点としY軸は上に伸びていきます。『LogoのBASIC版・高校教育版』とでも言えば良いでしょうか?


今思えば、構造体が無く、配列は3次元までに制限され、サブルーチンの使うにはファイルの先頭に「Declare External Function Spam」と書かねばならないなど、非常にプアな言語です。

しかし、当時の私は、グラフ機能を使って、太陽系の惑星の運行を表示してみたり、波動が線を伝わっていく様子のCGを書いてみたり、4次元立方体の断面図を描いてみたり、それなりに楽しむことができました。


十進BASICとの出会いは非常に幸運だったと思います。プログラミングを続けるきっかけになりましたし、コンピュータの起源はと密接に関わっていますから、プログラミングの経験が、自分の勉強(数学基礎論)に役立っているのです。


ところで、『プログラミング』を出来る人は、世の中のほんの一握りです。私がPythonでソフトを作る事を、何か特別なことのような目で見られる事があります。


しかし、私は特別な才能を持っている人間ではありません。世の中の人はプログラミングの面白さとイメージを分かっていないだけなのです。私は偶々十進BASICに出会えただけなのです。


私の大学では、学部1年か2年にC言語を使ってプログラミングを学ぶ授業があります。しかし、C言語でプログラミングを教えようとすれば、GUIを表示するのに1学期丸まるかかります。最後の授業までは、延々とコンソールだけの授業が続くのです。面白いわけがありません。実際、学期が終わってからもプログラミングを続ける人はほとんどいません。

入門者にC言語を教えても、ポインタの前で挫折するだけです。抽象的な操作に長けた、私の同級生たち(数学科の人間)ですらすらそうなのですから、世の99%の人間はポインタで躓くと考えていいでしょう。


言語機能を順番に、天下り的に教えてもダメなのです。


入門者には、まずGUIでプログラミングの楽しさを教えるべきです。初めに、何か目に見えるものを用意することです。詳細な説明は飛ばしても良い。グラフを書くだけなら、式とfor文さえあれば十分です。そして、動きがあるグラフを書こうとすれば、ループが必要になり。複数のグラフを書こうとすれば、配列が必要になり、・・・と、自然に必要な概念を習得していけるでしょう。必要にならなかったら、それは重要では無いのです、多分。


2000年代前半の私は十進BASICで、プログラムを学びましたが、今なら何でしょう?


・・・と、ダラダラ書いていたら、もう1時間も経過してしまいました。

文字数はもう4000字に達しようとしています。いい加減終わりにします。