DXRuby や Ruby 自体は大変便利な命令・機能を持っているので、「ブロック崩し」をわずか60行足らずで作れてしまいました。
しかし、プログラミングの学習としては、便利機能に頼りすぎるのもどうなんだろうか?と思っていたら、こんな言葉を見つけてドキッとしました。
以前、この平山尚さんの著書『プログラムはこうして作られる―プログラマの頭の中をのぞいてみよう』を読んで甚く感銘を受けました。
(過去記事;→・プログラミング言語 Sunaba で「ブロック崩し」を作ってみた)
今回、"ライブラリを剥ぎ取った(自分)自身の力" を養うためには、コンピュータの世界の下側(低レイヤー層)を見てみるのも面白いのではないかと思いました。
ソフトウェア開発の歴史
(UMLは組み込み開発を成功させる救世主 - MONOist より引用)
こんにちは世界の下側
(『コンピュータシステムの理論と実装 〜モダンなコンピュータの作り方』NANDからテトリスへ (Noam Nisan著、オライリー・ジャパン刊、2015年) より引用)
ちょうど上記の図の下方向に下がっていく感じです。
Ruby を始めとする高水準言語から、C などの低水準言語、アセンブラ、OS、ハードウェアへと掘り下げて学んでいくのもコンピュータの理解という上ではとても面白いことだと思います。
このような学習をするのに必要な資料も、探してみると結構 書籍やネットにありました。
その一部を挙げてみます。
○書籍;
では、「ブロック崩し」の追加課題としてはどのようなものが考えられるでしょう?
次のような課題を考えました。
○追加課題1
衝突判定を自作してみよう
しかし、プログラミングの学習としては、便利機能に頼りすぎるのもどうなんだろうか?と思っていたら、こんな言葉を見つけてドキッとしました。
平山 尚@hirasho「なんか動くもん作れていい気になってんだろうが、ライブラリを剥ぎ取ったおまえ自身の力はその程度だ。よく鏡を見ておけ」というのが主旨の授業だったが、おおよそ伝わったようで良かった。
2015/07/08 22:36:18
平山 尚@hirashoまあ、今時そんなのは流行らんが。「巨人の肩に乗れ」とか言うのかね、そういう「すでにあるものを利用して自分は価値を産む所に集中しろ」みたいな考え方。それは正しいと思うが、未熟者は多少広めに勉強しておいた方がいいと私は思うな。
2015/07/08 22:38:28
以前、この平山尚さんの著書『プログラムはこうして作られる―プログラマの頭の中をのぞいてみよう』を読んで甚く感銘を受けました。
(過去記事;→・プログラミング言語 Sunaba で「ブロック崩し」を作ってみた)
今回、"ライブラリを剥ぎ取った(自分)自身の力" を養うためには、コンピュータの世界の下側(低レイヤー層)を見てみるのも面白いのではないかと思いました。
ソフトウェア開発の歴史
(UMLは組み込み開発を成功させる救世主 - MONOist より引用)
こんにちは世界の下側
(『コンピュータシステムの理論と実装 〜モダンなコンピュータの作り方』NANDからテトリスへ (Noam Nisan著、オライリー・ジャパン刊、2015年) より引用)
ちょうど上記の図の下方向に下がっていく感じです。
Ruby を始めとする高水準言語から、C などの低水準言語、アセンブラ、OS、ハードウェアへと掘り下げて学んでいくのもコンピュータの理解という上ではとても面白いことだと思います。
このような学習をするのに必要な資料も、探してみると結構 書籍やネットにありました。
その一部を挙げてみます。
○書籍;
(東大の情報科学科の名物授業のようです。面白そう)
では、「ブロック崩し」の追加課題としてはどのようなものが考えられるでしょう?
次のような課題を考えました。
○追加課題1
衝突判定を自作してみよう
○追加課題2