How do you zip with Visual Basic? Heck, in Java there are conveince classes for un/zipping that *must* be in every virtual machine, by definition. Why would I want to spent $50+ for a wacky zip library, when there are free zip utils out there? The code's gotta be somewhere?

Welp, looks like it is. At least it's there for VB 4 from 1997.
Here and here and here.

Was thinking a little about Java driving back from lunch today. What if Sun had let Java become a true standard (Java the language) and hadn't fought Microsoft? Would Java be in a better position? I believe -- don't quote me -- that Ballmer said something like, "Java wanted to leverage Windows and we said, 'Get on our backs and let's ride!'" What would the Java-world look like if Sun had?

Simply put, Java might very well be in a better position. Now you can't count on a Windows box having even MS's version of a Java 1.1.4 VM installed, and even that iffy possibility will be gone in a year or so. Even if MS pulled an embrace and extend, you'd still be able to run true 100% Java code in their VM, making it the only truly xplat language. Mono's working on making .NET xplat, but it's a long long ways. REALbasic is close, but is still an immature language and doesn't play well (read: "at all") with Linux. There's simply no way to make code that's write once, distribute to PC desktops everywhere.

And before we all label Microsoft as the only bad guy here, let's see about when Sun stopped their 100% Java Pure program. I don't know if it was before or after, but it was danged close to when Sun and Microsoft settled if I remember correctly (and hopefully I dont'). Makes me suspicious how much of a good-faith motivation was behind the program. Look at Apple's VM -- it's easy to write a Java program that doesn't work on another OS as Apple gives programmers all sorts of tools to hook into OS-specific widgets. Then look at portables. Often there's custom interfaces to Java code there too. You can't write once, run everywhere. Sun knew it, but kept [in my opinion, etc] the 100% program up as a sham anyhow just to help highlight how MS wasn't living up to what's turned out to be an unattainable, or at least unattained, ideal.

In the end it's a shame there was the fighting. Java could have been what C# is today, and been it years ago. Most importantly, if it had, instead of having MS jerk the world around with its standards (C#), Microsoft would have had another standard they had to support well (like html in IE) before they could reasonably extend.