一蹴入魂!人生を楽しみ生きがいを見つけよう!

せっかくの人生、全力で楽しまなければ損損!色々感じたことを書き綴っていきます。

時代はコンピュータサイエンス?まずはNANDを理解しようと思った話

このブログはAmazon アフィリエイトを使用しています


友人がコンピュータサイエンスを楽しみたい!コンピュータの深淵を知りたいとかでコンピュータの勉強をして、ついにはVMコンパイラなどの低レイヤーにも手を出し始めているようだ。まさかここまで「マニアック」なところまで踏み込むとは。尊敬と畏怖の念を抱かざるを得ない。


そんな彼から「お前も読んでみないか?」と紹介された本が「コンピュータシステムの理論と実装」というオライリーの書籍だった。



電車の中や会社の休み時間に少しずつ読む。まだ1章だが、読みごたえがありなかなか面白い。(読みごたえがあるゆえに、読むスピードが遅いのだが。)ここからコンピュータを作り上げるよう進んでいくらしい。理解するまで時間がかかりそうだが、手ごたえは間違いなくあるだろう。理解できれば、できることの幅が広がるに違いない。
オライリーの本には章の最後に練習問題があるのだが、答えが載ってないのがいささか不満ではある。自分の考えが間違っているのかどうか確認がしたいと思っているので。


さて、そのコンピュータサイエンスの勉強に触れ、「NANDについてもっと理解したい」と思ったので、その学習の一環として「nandgame」というものに手を出してみた。

nandgame.com


前述の友人も、この「nandgame」をやっており、だいぶ先のレベルまで進んでいるようだ。彼曰く「(nandgameは)どんどん難しくなるので気が抜けない」と言っていた。
どんなものなのか進めてみると、最初はNANDの作成から始まり、基本回路を作っていくようだ。操作としては用意された部品を組み合わせ、課題に出ている入力と出力を満たすというものだ。
私は勝手がわからず苦戦したのだが、理解したときには達成感があり気持ちよかった。
これまで当たり前に演算子として出てくるORやANDが、NANDを使うとこういう図になると理解するいい機会になった。単純にORとか書いていたけど、中身は結構複雑だった。(もしかしたらもっと簡単にできたかもしれないが。)
XORとかはもっと複雑であった。まだ基本の「き」なのに、凄く勉強になった気がする。いい刺激になった。


ここからはもっと難しくなる。答えが一つではないので、気長に取り組んでいきたい。


↓ランキングに参加しています。よろしければクリックをお願いします。↓

にほんブログ村 サラリーマン日記ブログへにほんブログ村 サラリーマン日記ブログ 戦うサラリーマンへ