いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

さて次に何を勉強しようか……(2)

 Pythonインタプリタを作る、ということで頑張っていました。仕事もあったし結構時間はかかりましたがようやく完成。関数機能はもちろん、1次元ですが配列も装備! インタプリタ作成は1回目にはC++で、2回目にはC#で、今回は3回目です。C++からC#のときにはあまりなかった言語の違いによる違和感が、Pythonではかなりありました。定数がないとか(A = 2 など、変数に値をセットしてそれを定数として使う、ならできますが)、switch文がないとか(elifの繰り返しで同じ動作が実現できるが、分岐までの時間は一定にならない)、インデントが文法上の意味を持つとか(インデントした部分がブロックになる)、それなりに慣れた今でも違和感は拭いきれていませんが、慣れれば手軽な感じで使いやすい気はしています。

 しかし……やはりいろいろ忘れていますね。せっかくインタプリタを作って理解したつもりでも、1年も経つと細かいことはきれいに忘れています。分かったことをまとめておくことの大事さが身にしみます。大学生のとき、先生が「友だちでやはり大学で教員をやっているやつがいるんだけれど、見習いたい」と言っていました。その友だちは勉強したことはノートにしっかりまとめるのだそう。ぼくも見習わなければ。というわけで備忘録、と思って解説を書いています。本屋さんに行けばプログラミングの本はそれこそ無数に出ています。でもそれらはほとんど「インタプリタでゲームなどのアプリケーションを作る」という本で、「インタプリタを作る」という本は数えるほどしかありません。何かの形できちんとまとめておけば、備忘録になることはもちろん、それなりに需要はあるはずです。

 あとは気楽なので並行してまた何か勉強しながら……というつもりです。時間には制限がありますから、何かいいことを見つけて集中してやらないといけません。いくつか考えています。
●C#でunityを使ってゲームプログラミング。取り組んでみたいテーマがあります。
●ネットワークプログラミング。この機会にTCP/IPとか勉強し直して。Pythonでいろいろ実験したら面白そうです。
●力学。知識が高校生までです。物理学科の2年生くらいまでの勉強ができればいいかな、と思います。数学がある程度分かっていれば本も読みやすいです。物理学の華……ってことでもないとは思いますが、これぞ物理!という感じでよいものです。ぼくとしてはこちら方面から攻めると数学の理解も変わるかな、という印象です。
 
 楽しみです!!