Mariano Guerra07/06/2022, 7:35 AM
Jimmy Miller07/06/2022, 2:58 PM
Kartik Agaram07/07/2022, 6:51 AM
Jack Rusher07/07/2022, 6:39 PM
Jimmy Miller07/07/2022, 6:53 PM
Jack Rusher07/07/2022, 7:17 PM
Jimmy Miller07/07/2022, 7:26 PM
Jack Rusher07/07/2022, 7:50 PM
rather than that they misunderstood the clojure simplicity doctrine?This suggests to me that you most assuredly did not understand what I was saying, anyway 😹
Jimmy Miller07/07/2022, 7:54 PM
Jack Rusher07/07/2022, 7:55 PM
Jimmy Miller07/07/2022, 8:00 PM
Jack Rusher07/07/2022, 8:01 PM
Jimmy Miller07/07/2022, 8:25 PM
Kartik Agaram07/07/2022, 10:42 PM
what tools effectively help users manage “complexity”, how and why.
The social norms of a community influence the complexity of solutions it comes up with far more than its tools. OP mentions Unix, but Unix wasn't just a tool, it was also a community with its own ethos and philosophy, the "Unix Way". The problem with Unix was not that the tools were simple in implementation (though they were). They worked fine for the social context they were designed for. The problem was that its success caused Unix to overflow out to communities that didn't share its social norms. Leading to lamentations like http://harmful.cat-v.org/cat-v The unsolved problem -- the unsolvable problem, IMO -- is how to keep communities from getting to Eternal September, where they overflow to newcomers and the culture fractures.
Jack Rusher07/08/2022, 7:14 AM
You said that the author misinterpreted Rich.I most assuredly did not. When I say that each person has a particular interpretation, that does not mean that there's a platonic ideal somewhere that they're getting wrong. Does that help clarify what I'm saying? As for Blow's preferences, I doubt very much that Rich would disagree on those points in Blow's context of use. Rich has been quite clear that he designed Clojure for writing the kinds of programs he writes (again, frame/context). Many properties of Clojure that make writing correct programs easier come at a cost, and sometimes one cannot afford to pay those costs in a particular situation. These same concerns are also why the largest share of my own career output (counted in LoC) has been C + asm.
Jimmy Miller07/15/2022, 1:51 PM
Does that help clarify what I'm saying?Yes it does. But might I suggest that the words "misinterpretation" or "misunderstand" don't imply a platonic ideal. We can say that someone who claims "little red riding hood is an analogy about the USSR" has misinterpreted the text, without saying there is a platonic ideal of how to interpret little red riding hood. I don't think we are going to find agreement here. But I will just say, that from my interpretation of your words, you are short changing the author quite a bit. I don't think this is a backlash against a particular interpretation. I don't think it is a backlash of any sort. What I see reflected in the article is a struggle to strike a certain pragmatic balance and a view that the pragmatic balance might actually cause us to fall on the opposite side of the simplicity divide more often than not. In other words, that maybe there are far more cases where simplicity shouldn't be preferred over complexity. That simplicity is perhaps a much smaller part of the pie when making systems decisions. That tools offering simplicity may actual be moving the burden from the author, to the user in a bad way. I heard of a (non-public) system designed by Rich where users had exactly this problem. This system was, by the admissions of the users, incredibly simple, elegant, conceptually pure, etc. But it was way less usable than competing much more complex systems. From my understanding, this fact was not appreciated by Rich, for him the simplicity trumped.
I doubt very much that Rich would disagree on those points in Blow's context of useMy main point was that Blow does disagree with Rich, even given his context of use.
The unsolved problem -- the unsolvable problem, IMO -- is how to keep communities from getting to Eternal September, where they overflow to newcomers and the culture fractures.Don't make something people want to use. I am sure you can find a BSD or other unix derivative that has not (and will not) fall into the Eternal September issue. That isn't to say those things are bad. Just that lots of people are not interested in them. I personally would suggest that the Eternal September issues are not a bad thing and are in fact how we make progress.
Kartik Agaram07/15/2022, 2:50 PM
Other than moderation, how can we better articulate this view point? This distinction isn't quite the same one as worse is better. Are there any good articulations of this middle ground in a more detailed way?Phrased as an answer to your question rather than a new question: to make systems that are as simple as possible but no simpler, first articulate what you want. The language to do that must come from the context of use. Christopher Alexander shows a particularly systematic way of doing that in Notes on the Synthesis of Form. His approach is too heavyweight for most situations, but I still find it enormously clarifying to think in his terms. Above all, what situations do you want to avoid? When we bluntly transplant a tool into a new context of use, we take on a whole lot of interface complexity and UX frustration. Based on those frustrations we try to post-mortem the issues with the tool and its implementation. But we're largely looking in the wrong place. It's like there's a level of source code for the context of use that never made it past transplant. It was in the air pre-transplant, but inevitably left behind during transplant. This is my best attempt so far at a more detailed picture of "complexity in moderation". It's not moderation at all, it's entropy. You lost the basis vectors under which the tool had minimum complexity. To my knowledge there's no way to reconstruct them once lost.
Jack Rusher07/15/2022, 3:53 PM
My main point was that Blow does disagree with Rich, even given his context of use.It would be an indictment of Blow as an extremely immature person to suggest that because he only makes video games, and thus prefers tools optimized for making video games, that he also believes everyone should use video game-making tools to make everything else. Maybe that is what he thinks, but I would not be so uncharitable as to put those words in his mouth. What I'm saying is that I don't think the author of that piece and Rich are actually having the same conversation, so I can't really speak about their differences of opinion. If you don't think Rich makes pragmatic tradeoffs about complexity... well, I can only point out that he built his language on top of ~12M lines of somebody else's extremely gnarly C++ code in a pragmatic tradeoff. 🤷♂️🏻
Jimmy Miller07/15/2022, 9:07 PM
Jack Rusher07/18/2022, 10:46 AM
Jimmy Miller07/18/2022, 1:36 PM
Jack Rusher07/18/2022, 1:56 PM
My main point was that Blow does disagree with Rich, even given his context of use.As long as you're going to use Mr Blow as a sock puppet, can you clarify exactly in what way your imagined version of him disagrees with Hickey in Hickey's context of use?
Jimmy Miller07/18/2022, 1:58 PM
Jack Rusher07/18/2022, 3:08 PM
Jimmy Miller07/18/2022, 3:10 PM
Jack Rusher07/18/2022, 3:15 PM
Jimmy Miller07/18/2022, 3:16 PM
Jack Rusher07/18/2022, 3:18 PM
Jimmy Miller07/18/2022, 3:25 PM
wtaysom07/19/2022, 6:00 AM
Jack Rusher07/19/2022, 7:16 AM