サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
ようやくSICPが終わった。念願の夢の1つを叶えた。「ポインタを理解する」「コンパイラをつくる」とかから始まり 今年に入って 技術者として個人的にやりたかった事を3つ実現できた。良い調子。 サムネは記念にマッカーシー先生(再使用が許可された画像)。 完了までの期間 3.5ヵ月程度。平日は帰社後に2~3時間ほど、毎週土日はSICPに費やした。 学んだこと・できるようになったこと 1. より抽象的に物事の仕組みが考えられるようになった。 (「言語」という制約されたドメインを取っ払って純粋に実装について考えられるようになった) 2. 再帰のコードは悩まなくてもスンナリ頭に入るようになった。 3. Eval & Apply の陰陽によるプログラムの成り立ちを理解した。 4. 数学・コンピュータ科学に関する以下のことが人に説明できる程度には身についた。 - Newton法 - エラトステネスの篩 -
また1年振りの更新となりかけました。 Andres Raba氏により2011年から開発が続けられている、非公式PDF版SICPを全訳しました。 ファイル 恒例のgithubです。 https://github.com/minghai/sicp-pdf jsicp.pdfが日本語版の本体です。 ejsicp.pdfはデバッグ用の日本語・英語併記となります。 ライセンスはCC BY-NC-SA 3.0です。商業使用は認められないことにご注意下さい。 SICPとは何か? SICPとはMITが作成した何も知らない新入生向けのプログラミングの教科書です。 プログラミングと強調したことには理由があります。この本は良くあるプログラミング言語の教科書ではなく、あくまでもプログラミングを勉強するための教科書だからです。このことはこの本の中でも、最初の前書き、序文にて何度でも繰り返し強調されています。筆者達が
プログラミングが出来る人間からみると、プログラミングが出来ない人の理由は単純に「ちゃんと勉強しないからだ」ということになる。 たしかに、自分達が歩んできた過程は、SDKやIDEの設定を行ってコンピュータの開発環境を整え、全く意味不明なアルファベットを打ち込んで、ウェブサイトや本で言われたとおりの表示が出ることを確認して、また次のステップをやってみて、という「地味で地道な(そして性格まで暗くなりそうな)」ことを繰り返して出来るようになったものなので、その過程から逃れているからプログラミングが出来ないんだろ、というのはごく自然に思う。 このため、プログラミングを教えようというときに、地味で地道で性格が暗くなってハゲて死にそうな学習過程の苦しみを、いかに和らげられるかという試みは数多くなされている。codecademyやRails for zombiles: code schoolなど、ゲーミフ
fork() can fail: this is important あー、fork()のことね。プロセスがもっとプロセス作るためのやつな。いや、他にもプロセス作る方法はあるけどな。ま、面白い話がもうひとつあるから聞かせてやるよ。 forkは失敗するんだぜ。分かってるか? マジで分かってるか? マジだぜ。forkは失敗するもんだ。mallocと同じさ。失敗することもある。そんなに頻繁にってわけじゃないけどさ、でも失敗したら、無視できっこないぜ。ちっとは脳みそ働かせなきゃならん。 forkが0を返したら、そいつは子プロセスで、親なら正数を返すってことは、みんな知ってるよな。その値は子のpidだ。こいつを保存しといて、あとで使うってわけだ。 失敗を確認しない場合どうなるか知ってるか? そうだよ。お前多分、"-1"(forkのエラー通知)をpidとして扱ってるんだろ。 さて、問題の始まりだ。本当
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く