DXRuby や Ruby 自体は大変便利な命令・機能を持っているので、「ブロック崩し」をわずか60行足らずで作れてしまいました。


しかし、プログラミングの学習としては、便利機能に頼りすぎるのもどうなんだろうか?と思っていたら、こんな言葉を見つけてドキッとしました。


以前、この平山尚さんの著書『プログラムはこうして作られる―プログラマの頭の中をのぞいてみよう』を読んで甚く感銘を受けました。
(過去記事;→・プログラミング言語 Sunaba で「ブロック崩し」を作ってみた



今回、"ライブラリを剥ぎ取った(自分)自身の力" を養うためには、コンピュータの世界の下側(低レイヤー層)を見てみるのも面白いのではないかと思いました。

ソフトウェア開発の歴史

     ソフトウェア開発の歴史
UMLは組み込み開発を成功させる救世主 - MONOist より引用)


NAND2TETRIS_intro
   こんにちは世界の下側
『コンピュータシステムの理論と実装 〜モダンなコンピュータの作り方』NANDからテトリスへ (Noam Nisan著、オライリー・ジャパン刊、2015年) より引用)


ちょうど上記の図の下方向に下がっていく感じです。

Ruby を始めとする高水準言語から、C などの低水準言語、アセンブラ、OS、ハードウェアへと掘り下げて学んでいくのもコンピュータの理解という上ではとても面白いことだと思います。


このような学習をするのに必要な資料も、探してみると結構 書籍やネットにありました。
その一部を挙げてみます。


○書籍;


30日でできる! OS自作入門
川合 秀実
毎日コミュニケーションズ
2006-03-01


12ステップで作る組込みOS自作入門
坂井 弘亮
カットシステム
2010-05




(過去記事;→・Macで環境構築;『12ステップで作る 組込みOS自作入門』) 

CPUの創りかた
渡波 郁
毎日コミュニケーションズ
2003-10-01

 



wasabizの日記 CPU実験

東大の情報科学科の名物授業のようです。面白そう



では、「ブロック崩し」の追加課題としてはどのようなものが考えられるでしょう?
次のような課題を考えました。


○追加課題1
衝突判定を自作してみよう

○追加課題2