As an experiment, I am announcing new blog posts on my twitter feed @jonathoda. I am also going to try tweeting pearls of programming wisdom that I find. Feedback welcome.
Why we shouldn’t number
The discussion on my previous post (Why numbering should start at one) suggests a new approach. Maybe these blogging tubes are good for something after all.
Continue reading “Why we shouldn’t number”
Why numbering should start at one
Should collection/sequence/array indices start with zero or one? Most current languages choose zero. ForĀ flux, I am choosing one. This choice is orthogonal, meaning that I can easily change it if it turns out to be wrong. The reason to discuss such a trivial issue is that it is an example of how choices that made sense in the early days of programming need to be reexamined. It also frames some principles of language design: Abstract Datatypes, and Conservatism.
Continue reading “Why numbering should start at one”
Still Alive
Hey, long time. Having a snow day here, which is a good day to catch up. My son got sick this summer, which knocked me out of commission for a while, but I am back to work now. As promised last June, I have defined the formal semantics of a core language that captures the key ideas of side-effects in a tree-structured heap without sequential programming. I have formulated confluence and soundness theorems that seem plausible (though I haven’t tried to prove them). So I don’t think it will collapse under me like Coherence did. One of the next steps is to build a reasonably usable textual syntax that can be compiled into the core language. By reasonably usable, I mean usable for expressing small examples up to a hundred lines of code, which is the minimum I need to communicate the idea to others. The working title of the language is flux.
Continue reading “Still Alive”
Pay no attention to that strange old man on Channel 9
Here. I actually haven’t watched it yet because it is just too freaky to see myself on video. I’ll wait till Edward Norton plays me in the movie version.