1. 11
  1.  

  2. 7

    To stretch the metaphor a bit, the Javascript ecosystem is basically a favela.

    Consider Brendan Eich visiting the ES2016 ratification meeting.

    Or the average ReactJS bundle.

    There is even a metaphor for users trying to pick the correct library on npm!

    Overall I think it’s a robust comparison.

    1. 4

      It’s a thought-provoking comparison. I find it interesting that he writes “sawfish was still too configurable” and then goes on to say (I paraphrase, I hope not unfairly) “we replaced it with something opinionated, then we turned that from an application into a library”, because if you’re a C programmer[] then the net result of that evolution is something that’s more* configurable, not less configurable. It’s only the end user who is no longer able to make changes to it.

      Which in my brain doesn’t really fit with the whole Christopher Alexander “habitability” thing. I grant you that users may not want to change the Skin and are probably not skilled to mess with the Structure, but if you move into an apartment where they’ve bolted the furniture to the floor, sealed the windows shut, and poured the walls from concrete then your opportunities to change even the Stuff are basically limited to putting Billy bookcases against the walls and sticking posters up with Blu-tack. Contrast your friend in the 300 year old farmhouse ten miles away who may not have structured cabling ducts preinstalled when he moves in but has carte blanche to drill holes anywhere he likes, can build outhouses anywhere on his land - which of you is more likely to acquire the DIY skills and interests that might later be upgraded into full-on expertise?

      The article doesn’t say, but from my memory of events there was a sizeable group in early GNOME who were going to write everything in Guile Scheme such that the entire system would be programmable in a high level language, and this was one of the things that originally attracted me to the project. It was only later that the “but end users won’t want to do that” camp won the argument. I ranted a little about this at more or less the time it was happening - http://ww.telent.net/2003/8/25/make_your_end_users_into_peers

      [*] more precisely, a C programmer able to invest the necessary time into grokking the GNOME build process, which I don’t doubt has changed changed since I last looked at it 15 years ago but am prepared to bet has not become less complicated