標高+1m

Make, Hack, Think

OOP

VOC.js作った。 視覚と見た目に基づいた非同期コミュニケーションができるよ

昨日の記事で書いたVOC (Vision Oriented Communication) の実装を支援するライブラリを作った。 https://github.com/ympbyc/VOC READMEを英語で書いたのでここに日本語版を書いとく。 VOCのコンセプト オブジェクト指向やアクターはpushベースだけど、実世…

Vision Oriented Programming or OO Without Messages

OO paradigms that are built on top of messaging concept don't correctly model the world we live in. We dont send messages addressed to receivers. Communication Without Messages Consider a situation where you are driving your car (A) behind…

宇宙API Part2

Part 1からずいぶんと時間を置いてしまった。みんな覚えてるかな。前回はごたまぜだったけど、今日はとくに時空についてに絞って書いてみる。前半は2013年の12月にSmalltalk忘年会で話した事の焼き直しだけど、文章にしたことがなかったからもう一度やってみ…

宇宙API Part1

僕は今頭がhyperactiveになってるからとっておきの考えを書く。これは僕が暇なときにいつも考えてることで、これからも何回か書くことになると思う。 宇宙というソフトウェアのコードを、なるべく簡潔に記述するとしたらどんな風になるのか考えてみる。この…

CLOSオブジェクトのシリアライズ

これ便利。 (define-class <serializable> () ()) (define-method write-object [(x <serializable>) out] (let* ([class (class-of x)] [serializable-slots (filter (^s (get-keyword :init-keyword (cdr s) #f)) (class-slots class))] [slot-names (map car serializable-slots)] [in</serializable></serializable>…

クラスの使い時

TL;DR だいたいみんな知ってることだと思います。On Lispの「いつオブジェクトを使うのか」に言いたいことだいたい書いてあります。 背景 前にサーバーサイドMVCって記事で、クラスはせっかくモジュラーな関数をそうじゃなくするから基本的に悪だってちろっ…

Smalltalkビアバッシュで現実世界の物体のデジタル表現について発表してきました

あとでもうちょい詳しく書きます。

ミスを減らす

毎日書く普通のコードでなるべくミスを減らし、デバッグを簡単にして、より多くの時間を楽しい事(キーボード叩いたり汎用関数作ったりリファクタしたり)に費やしたくて最近実践していることをメモします。一つ前の燃えてるエントリの補足(不変指向の利点の説…

オブジェクト指向をちゃんと知った上でオブジェクト指向はクソだと声高に主張する人があと100人は必要

OOP

Joe Armstrong (Erlangの作者) Why OO SucksRich Hickey (Clojureの作者) The Value of Values Simple Made Easy Are We There Yet寝不足で調子悪いので毒を吐きます。あとあらかじめ言っておくとWeb業界のことを念頭において書いています。去年はSmalltalk…