4 ms·
I understand the reasoning behind why XUL and XPCOM had to go, but I learned about this technology when I was in college, just starting to become really passion
by InfiniteRand 6y ago
I understand the reasoning behind why XUL and XPCOM had to go, but I learned about this technology when I was in college, just starting to become really passionate about technology, and Mozilla sold these things as "important" ideas, technological paradigms that were not just the best way forward but would make the world a better place by making development easier, exposing more things to power users, allowing better sharing of common components, etc.
Except in the end these were not the best way forward (well, at least for now, old technological paradigms do come back periodically, making the whole idea of an obvious unified "best way forward" questionable), and so Mozilla had to ditch them, and I understand that.
But that means when Mozilla is preaching that WebAsm or Rust or whatever is a truly revolutionary technology that will save the world, well, I don't ignore Mozilla, I just don't trust in their technological foresight like I used to.
In the bigger scheme of things, I tend to be more skeptical that programming paradigms like this really are revolutionary in general. Programming paradigms are interesting ideas, but I no longer see them as some forward march of progress that is paving the way to a golden age of technology.
I feel a little silly that I once thought this way, and a little silly for once being as passionate as I was for Mozilla.
- jen20 6y agoRust - noted by a wide cross-section the industry as a huge step forward in memory safe languages - and XUL seem like an unfortunate equivalence to draw.
- jonchang 6y agoI think you're confusing the implementation with the idea. XUL wasn't the right path forward for bringing web technologies into the desktop as we can see with the failure of XULRunner but a ton of apps are written today with Electron and HTML5. E4X was an interesting idea bringing XML into Javascript as native objects, but the ultimate implementation lives on as JSX with React.
- sfink 6y agoAs someone who had to maintain E4X within SpiderMonkey: sadly, that's another great example of the wrong technological path. JavaScript is too dynamic, it gives you too much rope to hang yourself, and E4X was apparently not designed with that in mind. It was so nice when we removed E4X and didn't have to worry about `x` being an object during a lookup `obj[x]`. To give an example of the flavor of issue: when building an array (even from a literal), you couldn't push a series of values to the stack and then construct an array out of them, because with E4X between elements 2 and 3 you might end up invoking arbitrary code with access to the array so that it establishes a setter on element 4 and adds a `valueOf` hook to what you're passing as element 5, but oh wait that's the same object you already inserted as element 0, and anyway the array might be frozen now and... (I'm making this up; I know the issues were similar to this but I probably don't have the details quite right.) E4X was a rich, rich source of security bugs. I'm sure a simplified form of it is possible and would be quite cool, but that niche is already filled now with JSX for better or worse.
- sfink 6y agoI relate to a lot of this post. There was a time when it was totally obvious to me that XUL was going to take over the computing world. And whenever someone came up with a new technological paradigm, promising it would solve All The Problems, I either believed them or strenuously objected, feeling threatened by the idea that everything I knew was going to be invalidated. Now that I'm old and jaded, it all seems silly. There are no silver bullets, everything is at best an approximation of a great idea that would solve at most a small fraction of all the real problems out there, etc. I'm still pretty invested in Mozilla (ok, I work here now), but more for the good of human advancement and discourse, and an actually useful portable runtime that is kept free from being captured by entities that would inevitably use it as a weapon for lock-in and monopolization. Things aren't looking all that great on the latter front right now, and indirectly though it might be, Firefox's market share is one of the most potent defenses against that. Even if Mozilla has a trail of missteps and lost opportunities. (To be honest, I actually think Mozilla has done far better than is commonly portrayed on this site. It's amazing how many people could obviously done vastly better than the idiotic monkeys running Mozilla into the ground for their own small-minded amusement.)