Subscribed unsubscribe Subscribe Subscribe

SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

SICP2章, 公認インターフェース.

演算は手続きのリストとして表現することが出来る。要は信号処理のフィルタのように数珠繋ぎで演算が表現可能になるのだが、この時各リストの中の各種部品に類似性を見つけてあげると、それを"公認インターフェース"として柔軟かつ強力な設計が実現する。下…

SICP2章、データによる抽象の構築 - 抽象の壁.

SICP2章の途中だが、一度、"抽象の壁"までをまとめようと思う。 1章は手続きの抽象の話だったが、2章からはデータ構造の抽象の話。2章の導入部分から使われている例として、有理数を一個の思考単位とするためのデータの糊付けの仕組みを学ぶ。これは単純な数…

SICP一章、終了した。

SICPの一章である、「手続きによる抽象の構築」の問題を解き終わった。問題以外は過去に既に一読しているのでサクサク進むかと思いきや、なかなか手こずった。再帰プロセスはサクッと理解して書けるのだが、反復プロセスに慣れるのに時間がかかった感じ。解…

適した抽象化.

SICPで良い言葉があった。コードを書くときは常に意識しないといけないな、という言葉。 「われわれはプログラマとしてプログラムの根底にある抽象を見つけ、より強力な抽象化ができるよう、その上に構成し一般化するよう努めなければならない。これはプログ…

両替の話.

本当にこれ動くのかと思いつつ動かしてみたら動いた。SICPの再帰手続きを使った両替の話。 50セント、25セント、10セント、5セント、1セントがあるとして、1ドルの両替にはどのくらいの場合があるか、という問い。再帰的手続きを用いて、下記のようなベース…

Linear Recursion and Iteration.

I learned linear recursion and iteration, these are fundamental of programming. I'm gonna compare with these processes. You can see that both processes aren't difference at all because these calculates same mathematical function on the sam…

コンピュータサイエンスの基礎、SICPを読む.

MITのコンピュータサイエンス専攻で1年目の最初に読ませると言われている(最近は読ませてないらしいけど)、言わずと知れた名著のSICPをちょっと前から読んでいる。コンパイラを書きたいなぁと思っていろいろと調べていたら、著名なエンジニアは大抵SICPを…