Okay so I made the mistake of posting about #emacs and got a dozen variations of the joke "a great operating system, lacking only a decent text editor"[1]. I just want to set the record straight on this one: Emacs is a really good text editor bolted on to the side of a pretty terrible operating system. It's a cooperatively-multitasking mess where one small bug crashes the whole thing, powered by an undulating pulp of interconnected shared state where everything is global by default
don't get me wrong, this comically slapdash approach to factoring everything — itself an inevitable consequence of GNU's pervasive "surely nobody would write a program with *bugs* in it, everything should be programmable all the time" ideological perspective — is *great fun*, you can change the behavior just about everything in hilariously dangerous ways. kind of like a web browser, but even more so.
> surely nobody would write a program with *bugs* in it, everything should be programmable all the time
I don't see the reasoning. I would agree that everything would be better off being more programmable, but don't see how average(?) bugginess of programs can be part of an argument for/against that. Could you elaborate?
> So does (let ((whatever …))), albeit temporarily.
Ouch. Yes, this explains the terribleness about Emacs.
However, I still don't see how this is caused by assuming that nothing is buggy. Even if all code is bugless, this environment makes for a terrible interface; did you mean to say that they are assuming all code is bugless, regardless of how complicated the boundary conditions are made (and thus they don't make them simple)?
@robryk If all code is bugless, then everything works and everyone is happy; all architectures are equivalent if nothing ever fails. The question is, what happens when things *do* fail?