7 ms·
The Winchester House was continuously added onto by a huge construction crew for many years after the death of Mrs. Winchester’s husband. She believed her psych
by user3939382 5y ago
The Winchester House was continuously added onto by a huge construction crew for many years after the death of Mrs. Winchester’s husband. She believed her psychic who told her she had to continuously add onto the house to repent for the people killed by her family’s rifles during the civil war.
The result is a sprawling, very crazy looking house that no one would have sat down and designed upfront. I think of JavaScript as the programming language equivalent of this house.
- nsonha 5y agoMost programing languages old enough have that problem: C#, php, C++. And modern js does not look crazy, it's the es5 and bellow that was a bit wacky. Typescript is much cleaner than the 3 languages I mentioned, my opinion.
- TchoBeer 5y agoPython is pretty old and (imo) doesn't have that problem
- finiteseries 5y agoThat’s probably why they said most, not all.
- dehrmann 5y agoOh, yes it does. Built-in method and class naming is wildly inconsistent. OO is bolted on, typing is bolted on. While not "the language," the GIL and what it means for parallelism (multiprocessing is a shit show) was a mistake.
- nsonha 5y agoI know about these things. The reason I did not use python as an example is that syntax is kind of neat. I dont think it's something to be too proud of if the only thing nice about your language is the syntax.
- Rapzid 5y ago> And modern js does not look crazy Heh, read the VueJS 3 code base. I haven't done much at the level of optimization I think is going on there, and this is Evan's third iteration so I'm guessing there is a lot of insights baked into it, but dang if it's not hard to wrap your head around. Even if you check it out and use VSCode to try to figure it out. Individual sections of code make sense. But it's like a deconstructed hamburger and you've never seen a hamburger in your life.
- kaba0 5y agoThat’s on the library, not the language itself. I’m not particularly fond of JS, but I think it has become a very acceptable language over the years.
- nsonha 5y agothis is my opinion but you pick a library that clings onto an outdated programming model (markup-centric, or string-based programming as I'd like to call it), to judge modern javascript.
- hajile 5y agoES5 syntax itself has nothing particularly strange. It’s bog standard C/Java syntax. If there’s any complaints to be had, they would be the semantics of using the syntax (though maybe that’s actually what you mean). The worst feature (type coercion) was an intentional addition because many developers asked for it and Eich (to his later regret) went along. The only other truly weird features came from twisting prototypal inheritance into something vaguely Java-ish. These actually became more convoluted with a whole extra layer of weirdness while once again trying to force traditional classes on top. Unfortunately, devs from other languages think they’re the same and they mostly work as expected right up into things fall apart (usually when the hole they’ve dug is massive). In truth, the biggest mistake was not going with scheme. If they had, the rest would be easy from language extension to adding lower level abstractions to compiling various languages to it would all be easier.
- rikroots 5y agoTo pick up on your tangent with a tangent, I think Tim Powers's take of the Winchester House mythology, in his book Earthquake Weather, is my favourite re-interpretation of the story. As to Javascript - I like the language because it a language that fits best with my way of thinking about code. I'm not sure if that's a good thing to admit.
- goodoldneon 5y agoJS has a unique challenge: it has to always be backward compatible so that old websites still work. Other languages don’t have that burden
- gmiller123456 5y agoThe very fact that your example uses a house shows this is not limited to JavaScript, or even software for that matter. A relatively famous paper "Big Ball of Mud" by Brian Foote and Joseph Yoder discusses the effect.