AMMDI is an open-notebook hypertext writing experiment, authored by Mike Travers aka mtraven. It's a work in progress and some parts are more polished than others. Comments welcome! More.
Easy: adjacent, ready-to-hand (I like that spatial metaphor)
familiar, near to our current skill set
He is kind of anti-easy. "If you want everything to be familiar you will never learn anything new"
Easy is relative, simple is objective
Construct vs artifact (code vs delivered product)
programmer convenience is a bad thing to worry about
I think I violently disagree with this...
programmer replacement (glad to hear this mentioned, although not sure how it relates)
why on earth does he say that ability to be changed is a function of the artifact, not construct? Makes no sense!
Guardrail programming, he poo-poos tests
again seems misguided,
also poo-poos sprints, that I can agree with a bit more
Huh, there is a family resemblence between his thesis and Worse Is Better
Knitted castle vs Lego castle
Getting irritated with this talk, underneath the very pretentious delivery is a crushingly trite point.
Also – real life has knitted castles, some problems require them, and it is an interesting question as to how to make software that way. He's right that you should probably avoid it if possible, but what if you can't?
Overloading of parens a form of complexity
pretty trivial if you ask me.
I would argue with a lot of these. And I find it irritating that there is not much argument given. Some of them don't even make sense, data vs syntax? And what exactly is "declarative data manipulation"? (oh it means SQL or Datalog).
Introduces "complect", which is bad (again, no argument)
Yes I think I am really reacting against this. Obviously you want to avoid unnecessary complexity, obviously modularity and composability are good, but they aren't the only goods.
State complects value and time. But it is simple, in the sense of readily available
Then he goes on and praises Clojure refs for doing exactly that!
He thinks we should stick to generic data structures (maps, arrays, sets etc), implication, no domain object classes. It's such a weird point of view from someone trained in objectness. It's not even wrong, because doing a domain object model is hard and problematic. Hm. I guess I disagree hard and now want to build a CLOS-like system on top of his fucking pristine language.
He makes fun of Unix pipes but his stuff is just the same thing at a higher level.