← Back to context

Comment by brianwawok

18 hours ago

Like try to break the internet and the java programming language? The former being most successful for years

IE was not just used to break the internet. It also had advantages. It supported features other browsers didn't.

Without IE, we wouldn't have had XMLHttpRequest, which means we wouldn't have had Gmail, which means we wouldn't have seen the bloom of "web 2.0" websites.

As for Java, Microsoft's C# is way ahead of Java in terms of language features. No idea how the runtime performance compares these days (both are very fast), but I'd rather have Microsoft Java than Oracle Java.

Microsoft's intent was always to break the competition, but they did it by offering features others wouldn't or couldn't. Evil Microsoft's Windows was the most feature-packed operating system out there because they threw every possible feature at the wall, kept what sticked front and center, and bothered to maintain what didn't stick. Microsoft Agents, the shitty Clippy things, were supported well into the Windows 7 era despite dying out the moment Bonzi Buddy was found out to be malicious. But Microsoft dared to break backwards compatibility with .NET 1 to fix the typing problem with generics that Java has to this very day; they just ended up supporting both, side by side.

  • >IE was not just used to break the internet.

    It still did. Did you ever have to write specific code for ie6? <shudder>

I have a theory that they've actually succeeded with the latter too. I mean, look at Java now, and look how many mini-Javas (all those JIT-compiled languages and their runtimes) have emerged since. The point of Java was to unify, we've got more division than ever instead.

  • The point of Java was write-once, run everywhere, and that is perfectly viable these days. I don't want to live in a world where everyone is a Java programmer, and I don't think there is really any reason to suppose that unifying on a single programming language would be desirable for developers. IMO, Javascript already shows the dangers of over-unification; you get an ecosystem so full of packages that a significant portion of the language's developers are only capable of developing by stacking 1000 packages on top of each other, with no ability to write their own code and accordingly no ability to optimize or secure their programs according to the bespoke needs of the project rather than using general purpose off-the-shelf libraries.

    • I can quickly think of problems we have to deal with trying to make a real cross-platform application, or worse, a cross-language interface to a system/library, but not many that would stem from having a single dominant (non-stagnant or proprietary) language.

      The overuse of dependencies is a problem, sure, but it's completely unrelated to "over-unification". Every ecosystem with a built-in package manager suffers from this, be it Node.js, Python, or Rust, to name a few. In fact, it's not even the package manager, it's the ease in adding new dependencies. Go demonstrates that pretty well.

    • > a significant portion of the language's developers are only capable of developing by stacking 1000 packages on top of each other, with no ability to write their own code

      That's because those devs are incompetent, not because there are a ton of packages.

      1 reply →

If you mention Java, I think you may only incite more nostalgia for the monopolies of yesteryear. Was Microsoft's approach to Java evil and ill-intentioned, yes, absolutely. But it eventually resulted in .NET and C#, so I'd say that particular battle was a net benefit to humanity in the end. .NET is even truly cross-platform now, and open-source. Meanwhile Apple achieves interesting technical advances with their new hardware but I will never benefit from the existence of it because I will not use hardware that is locked to a prison OS.

You mean the web right? Or did Microsoft ever roll its own BGP code?

  • For some reason I am assuming that they are talking about dot net web servers with the servers running windows (though I can be wrong and I am a little confused by what they mean break the internet as well in this context as well)