Bill Gates: I'm literally losing sleep over Java (1996)
techemails.com
techemails.com
Interesting that the reply mostly implied that there wasn't much reason to worry, and that the future and dominance of web apps was still uncertain. But we are reading this email exchange now I think largely because of how well placed Bill Gates's worries were. I wonder how many technologies he and other executives lost sleep over that did not amount to anything in the long run.
> Pundits always say that this is going to kill the old businesses - eventually that happens but not anywhere near as soon as they say.
So to me maybe he was implying that he did think that web apps would eventually take over, just not at a rapid speed.
Gates's fears were tremendously prescient: They completely lost the mobile OS market to Android.
In a World Without Fences, Who Needs Gates?Shows you how much he and windows was loved. Today’s microsoft is forced to play nice.
it's been replaced with instructions for using their own gh cli tool (which, however, is also free software)
for example on any github project page, https://github.com/username/projectname, click on the "code ↓" button in the top right; the "local" tab on the left has a "clone" tab with 'https' and 'github cli' subtabs. the git@github.com: url you can use with standard git has been removed
i think this is a change within the last month
embrace, extend, and extinguish is alive and well
Git can push over HTTPS, too.
whether i'm logged in in my browser has nothing to do with whether my ssh client has access to an authorized private key
Clearly, more people were confused by the original than outraged about the current implementation... I don't even recall the change being made.
Long ago they used to push SSH as the "right" way to pull repositories (I still almost exclusively use SSH), but their change to recommending HTTPS instead by default is by now quite old: it's been the case for many years.
Other related things have changed more recently: Github doesn't allow git:// urls anymore (but HTTPS still allows anonymous checkouts), and when doing authenticated HTTPS, you now need to provide a token instead of your password.
The git:// protocol, to my recollection, doesn't support authentication at all. If you've ever been able to push to git:// URLs on Github, it's news to me.
but it seems like my original comment was incorrect in a couple of different important ways, and i appreciate people having pointed that out
https://web.archive.org/web/20180115003453/https://github.co...
???
you can clone Github projects and move them on every other git repository you want
if Github removed the support for git, Github would be dead in a week.
Not only because git is literally in their name, but because every programmer tool that deals with code (editors, IDEs, etc.) has embedded support for git, the protocol, not git the Github version of the protocol.
Remove interoperability and you killed the golden goose.
At MS are not that stupid.
but because they waited until last year, removing that interoperability did not significantly affect their dominance as a way of accessing the internet
FTP died long ago as a protocol, it wasn't killed by some corporations trying to embrace and extend, but by better protocols (SFTP, SCP, HTTP(S) etc.)
also FTP created a lot of issues behind NAT
wrt nat i would say that nat created a lot of issues with ftp
let me rephrase it.
FTP behind NAT had a lot of issues.
But the protocol was never designed to be accessed by a WEB browser, that were limited to read only access.
The best way to access FTP is through an FTP client.
I don't necessarily agree with the new wave of browser security at all costs, like HTTPS everywhere, but FTP clients are far from being hard to find.
> there is still a substantial information that is only accessible through ftp
can you point me to an example?
I haven't encountered that problem since the end of the 90s. The only instance I can recall is upgrading the firmware of home routers/modems using TFTP.
The good thing about Larry is as shitty as his bag of tricks is, it doesn't change much. What people hated about Microsoft is that they innovated on fucking other companies over and putting them out of business.
There would not have been 'a different Microsoft'. It was Gates and Ballmer and friends that did that. Paul Allen got sick and then split with Microsoft to do pretty much completely different things for the rest of his life. Not that people have good things to say in Seattle about his behavior as landlord.
And looking at the success of Visual Studio Code and GitHub, people actually fall for it.
It turns out that playing good citizen and profiting off an easy to use cloud is better business today than desktop is.
Despite this and more importantly despite his reputation in business and the often laughable products MS produced, his tremendous philanthropy really changed my perspective on him.
In a world where there are mega-billionaires, he's my least unfavourite. He's doing good things with his money like eradicating malaria and funding bleeding edge climate tech. He's pretty outstanding wrt how he spends his money.
Speaking of malaria, after googling for 3 minutes it seems he spent around 2B$ on it. Does it really matter? Yes and no. Maybe it had impact on people's lives, but given Gates' net value is 100B$+, giving away a billion or two does not matter. It will not affect his quality of life in any significant way. He could give away a few dozen billions more and still will spend rest of his life living in luxury that I could only dream off. Sure, better to fight malaria than buy another yacht, but still, it's easy decision to make when you have that much money.
My 2 mins of googling came up with more like 3.6B$ on malaria, but even 2B$ is a shit-ton of money. I certainly haven't donated 2% of my net value to malaria (and it's only on the order of 1/10000 of his!).
Malaria rates are down around 30% since 2010, thanks in part to Gates. He's likely saved thousands to hundreds of thousands of lives.
Malaria is just one part of his philanthropy. I'd love to see the numbers for Jeff Bezos or Elon Musk. It would be great to all billionaires follow suit with this kind of "easy decision".
I'm not saying he shouldn't outsource his videos. What I'm saying is that this looks more like a professionally made commercial (advertising his personal brand). I'm pretty sure it cost O(hours) of his time (consider even getting to the set - you can see this is a professional set, so probably in some studio; I also doubt this was done in one take given how there are other actors around including the skating Santa Clauses). All in all, it really feels artificial and dishonest. What kind of person would even come up with idea of creating such a video in the first place?
There are somewhat diminishing returns spending money on philanthropic causes: if he were to spend 30 rather than 3 billion the result wouldn't be ten times better. I'm happy he's trying to make the world a better place while still keeping an eye on the money being used efficiently.
Why does the 100k matter if the 3 billion don't?
Is it not enough for you that he went out of his way to improve other people's lives? Would it only satisfy you if his lifestyle suffered?
> it's easy decision to make when you have that much money
How do you know? Have you ever been in that position?
How did he went out of his way?
> How do you know? Have you ever been in that position?
I don't think snark is necessary here; probably there are no 100B$+ users on HN.
But it's not hard to extrapolate from where am I. I have comfortable tech job, I could easily give away few thousands bucks to some charitable cause just to show off (and my quality of life wouldn't change). Would that automatically make me a good and trustworthy person? I think the answer here is no. I also guess if for some reason my net worth went up a few orders of magnitude, I could also give few orders of magnitude more. Would then I be a good and trustworthy person?
He spent a considerable amount of his free time.
> I have comfortable tech job, I could easily give away few thousands bucks to some charitable cause just to show off (and my quality of life wouldn't change).
Yes, you could. Do you?
> Would that automatically make me a good and trustworthy person? I think the answer here is no.
It wouldn't. But also because there are no good and bad people. There are good and bad actions. I use Linux and absolutely hate what Bill Gates was doing wrt the whole free software ecosystem. I still commend him for his charity work.
> I also guess if for some reason my net worth went up a few orders of magnitude, I could also give few orders of magnitude more.
Yes, you could. Would you though?
We have a pretty open internet today, or at least MS is no longer the biggest threat to it so maybe this was just another MS-bungled project lol.
Jokes aside, utmost respect to the people who have fought for an open internet over the years.
Sun tried to be "cool" but was really just a money loss machine and now Java and MySQL is the property of we-will-audit-you-Oracle and Mr I-will-sue-people-when-I-need-another-yacht-Ellison.
G had a motto of "do no evil", that motto is long gone. I've always disliked their handling of the Android platform (the handset manufucaturer/carrier dominance over application stores back in the J2ME days was horrible, Google's quest for marketshare let that go on for a few more years and allowed for some bad fragmentation for developers).
And this was just the start, their "AI-handles-support-so-we-don't-need-to-talk-to-humans" combined with accounts being suspended willy-nilly just leaves people stranded (anybody remember how an indie guy making an Stadia exclusive game was shut out of his Google account?) and speaking of stadia, what's Googles cancelled product body-count up to now?
Apple has had some pros on the privacy side but they've stumbled even there, and apart from that they've been quite a heavy-handed player with a clear my-way-or-the-highway attitude (vs Epic,Spotify,etc).
Amazon busting unions, fleecing people on AWS and copying popular products on the marketplace needs no more mentions.
The Ubers, Spotifys,etc of the world might've made things cheaper and more streamlined but there's been at a cost of distinct monetary pressure on drivers,musicians,etc.
Facebook facilitating genocides (Rohynga), election fraud (US/UK) and general lax privacy (Cambridge Analytica).
MS might have gotten worse in terms of privacy and ads(start menu ads,wtf?), but in general they've mostly kept to making money and actually supporting developers and opensource. NPM/Github costs might be fractional for MS but would've probably landed the rest of us another SourceForge (remember the spyware they added to make money? That was probably what got GH off the ground more than anything) because we've not yet sorted a way for developers and distribution to get paid for our "free" contributions.
In a world without walls, who needs Gates?
> As you and know very well, this sort of widespread interest can become a self fullfilling phenomenon, because programmer attention creates programs. Some of these will be successful and that only fuels more participation in the phenomenon.
I hope this is what's happening with Rust. :)
I also thought this paragraph just afterwards had an interesting point:
> In the limit, they can make the web totally OS agnostic - but there will still be other things that motivate one platform versus another.
This looks like it happened; but did/do people actually credit Sun for this? On the client side it was Netscape that broke MS' monopoly with Internet Explorer, but on the server side Java was and is still very popular with the business folks, so... does Nathan have a point here?
What do you mean by this? We used Netscape Navigator for quite a while before trying a version of IE.
What? Microsoft completely obliterated Netscape, which was dominant before IE. In the early 2000s IE had like ~95% market share. Later Mozilla Firefox turned that around, but only after they made the steaming pile of shit that was Netscape vaguely decent, which took a few years.
Mozilla helped with the downfall of IE but it was really Google that put the final nail in the coffin.
As for backend, Microsoft had some systems running IIS and Apache can run on Windows Server too, but UNIX and Linux was always the dominant platform for web hosting. Java didn’t change anything there.
Javas impact on Windows can be felt more with .NET, which started life as a direct competitor to Java, after Microsoft was taken to court for their own proprietary implementation of Java (if I recall that part correctly). There was a time when you’d have to select which Java engine you wanted your browser to use and Microsoft Java (or whatever it was called) and Sun Java weren’t fully compatible with each other.
It was called JScript. It was released after JavaScript.
I am a peaceful man; never been in a fight with anybody, and oppose the death penalty. The exception is that I think all the people responsible for this clusterfuck of names should be shot.
J++ was a 'clone' of Java https://en.wikipedia.org/wiki/Visual_J%2B%2B . Sun sued Microsoft, https://www.cnet.com/tech/tech-industry/sun-microsoft-settle...
and that's how .Net was born ( with https://en.wikipedia.org/wiki/Visual_J_Sharp to ensure transition)
It was a stressful time to be a non-MS user back then, so I blame Post-Microsoft-Stress-Disorder.
Javascript came out in 1995, JScript in 1996, the ECMAScript standardization began in 1997 and the first release is from 1998
They reverse engineered the language and named it differently because they had no rights over JavaScript at the time
And good lord they did it, they could have adopted another language as the default one (they had VBScript too) and the story of the front end programming could have been very different.
Even MS is not evil all the time
The story I heard was that it was the Java trademark that was a bigger problem for Microsft naming it JavaScript. But that's somewhat irrelevant as you're right about the more important point about how JScript was reverse engineered from JavaScript.
> Even MS is not evil all the time
There was a lot of differences Microsoft introduced in JScript and as you said, Netscape submitted Javascript to ECMA for standardisation only a year later yet MS still pushed ahead with IE-specific language features to lock people into IE.
This was a common stunt Microsoft pulled back in those days. Microsoft even had a term for it https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
Yeah, they all did though.
I was doing frontend dev back then, if we can call it that, it was web development with some JS actually or DHTML for those who remember.
Scripting elements was very limited at the beginning, you couldn't access the entire DOM, only forms and images, if I remember correctly, and maybe the decoration of links, that's how the hover behaviour was born.
The story is quite more nuanced, there's also the fact that IE was actually a better browser than Netscape after the Netscape 4 fiasco (I was a paying customer of Netscape 3 gold and Netscape 4)
Netscape tried the non-standard layer element accessible through document.layers (all the layout was done with tables back then, so this looked like an improvement) but didn't catch up.
IE 4 had a lot more features, it introduced document.all to access the entire DOM by ID, documents.forms, document.images, document.all.tags() that allowed the access to all tags by tag name, it introduced innerHTML, outerHTML, innerText and outerText properties.
It's easy to understand why developers switched to IE, given also that Windows was the primary platform that users used to browse the web (do we still use the browse verb?) and IE4 was available on the Mac too. IE5 introduced the XMLHttpRequest object so AJAX was born (IE 5 on Mac was even more advanced than the one on Windows)
And yes, MS abused of their dominant position with IE6, but that doesn't invalidate the fact that they actually innovated in the field, before abusing of it.
EDIT: it wasn't called XmlHttpRequest on IE, you had to instantiate an Activex Object (COM component) the MSXML2.XMLHttp. Forefox came up with the XmlHttpRequest name later (XML was still going strong at the time). You could actually instantiate any Activex component available on the client machine from IE >= 5, even Word if you wanted to.
I remember developing intranets for Windows networks where we used Word automation from the browser using Activex.
To think about it now it was a terrible idea, but it looked like a miracle back then. You could instantiate the ADODB COM component and run queries from the browser to the SQL server.
Agreed Netscape also introduced their own incompatibilities too, but Netscape didn’t have a desktop monopoly. Though I do agree that IE4 was actually a really good product. If I recall correctly even IE3 loaded pages quicker than Netscape Navigator 3.
I really wanted to like Netscape Communicator but it was hard to overlook just how sluggish it was compared to IE.
As for front end development, I mostly an sysadmin back then but I did have a few websites live (my first being publish in 1994). I even won in the JavaScript category of Planet Source Code (remember that place?) one month for a recreation of the Windows desktop using JS. But I much preferred writing desktop software to web pages (and I still don’t really enjoy frontend dev all that much even now)
Not only are many .NET bindings for Win32, largely based on top of COM, WinDev has doubled down on COM since they rebooted Longhorn ideas into Windows Vista, and WinRT is nothing more than COM with another set of additional interfaces (TL;DR version, it is a bit more actually).
You could also use VBScript in the browser if you wanted to, it's been an option up to IE 11
IE had pluggable scripting engines, which wasn't a bad idea per se and anyone could write one, it was a simple COM component
They provided the best Perl distribution for Windows.
They also made some cool IDE/Editor based on Mozilla XUL.
Did they? I can remember switching from IE to netscape about 2 years before it died, and then going into whatever the precursor to FF was called.
Is there a chance you’re thinking about Opera? That didn’t kill Internet Explorer either but it was around before FireFox gained traction.
Maybe I was just a hipster.
[1] https://en.wikipedia.org/wiki/History_of_Mozilla_Application...
[2] https://en.wikipedia.org/wiki/Firefox_early_version_history
That's correct, they tried hard to fracture Java by making different implementation with their own classes and packages, runtime behaved a bit different too. While whole sales pitch for Java was to write and compile once, and run reliably anywhere (which was the case for every C/C++ app especially UI).
Embrace part done, extinguish attempted. Everybody was very glad seeing them get burn, courts did their job and MS rolled back any Java participation. The rest is history (and present)
"wasn't" ?
My early career was blighted by having to write cross-platform C++ apps. At the time, Java was utter bliss in comparison.
which was never true, BTW
There are few things in the story that are simply corporations VS corporations and not good vs evil.
Sun wanted to completely control Java and they sued MS for not completely adhering to the standard they imposed. It wasn't simply a different implementation, it was a Windows only implementation, the fastest Java implementation on Windows plus some Windows only extension.
Which, honestly, wasn't that bad, considered that Java applications on Windows started to be a viable option almost 10 years later. Those who remember the first editions of Eclipse know what I mean. Many java programs were tied to specific OS implementations anyway, especially UI, Swing was always quite out of place on every platform.
Anyway, long story short, Sun sued MS for not respecting their standard, but then Sun almost killed Java because the development stagnated for a very long time, features were not coming, bugs weren't being resolved and they mostly made a big ball of corporate ready mud.
Their inability to handle the success made .Net a much more viable platform on Windows first and *nix much later, which otherwise would not exist.
Visual J++ was probably the best Java IDE at the time, probably second only to IBM Visual Age Java for OS/2, that was born for SmallTalk and had a lot of the SmallTalk vibes.
It is also worth noting that Android is Google’s own implementation of Java and has nothing to do with Microsoft’s code (J++) nor Sun/Oracles either. So regardless of opinions about “impact”, I’m not really convinced Android is even in the scope of this conversation.
This is a pretty interesting take, and it feels relevant to this day with respect to both frontend and backend frameworks. I always thought of frameworks as just fads where people simply enjoy to try new ideas and are just having fun. I've always agreed with the overall sentiment that, for example, no one will be going out of business just because their frontend isn't React, but it's interesting to consider that people also profit off of these "fads" by selling books and tools, resulting in a sort of perpetual motion machine.
Yes.
But one is more likely to go out of business if their frontend is still using JQuery. It's harder to maintain and iterate, harder to recruite good engineers.
I would ask for more money if the company hiring me uses JQuery and doesn't use TypeScript/React. And if the company somehow hires me, I would be less productive because I can't use TypeScript and a modern framework.
This is the most misinformed take on what Java is used for I have seen on HN. Today Java is used by FAANG and other tech shops. It's employed in the enterprise, science and finance. What it is almost never used for is creating "cool web pages"
Kind of nostalgic for it!
The machine is called IT.
(NoSQL is still useful, but it didn't "replace SQL" as promised, and the others have completely failed in spite of promising much).
It's always hard to predict the future; often the first iteration of something new isn't very good or even downright bad, and it's not easy to predict if it will ever be any good. I remember trying Rust somewhere in the early 2010s "before it was cool" and I hit some bug in the installation (would eat up all my memory). Then I tried the new version that fixed it and I ran in to problems actually compiling programs due to another bug. This doesn't reflect the status of Rust today at all, but back then it was essentially impossible for me to tell if it would always remain the buggy mess it was then, or if it would be able to put itself together and become stable. There's been plenty of buggy things that never became stable (Itanium, Hurd).
When in reality there's,
- People who aren't convinced yet
- People who don't want to be convinced (because of comfort, hubris, or livelihood)
- Human processes and skills that have to be adapted to a new way of doing things
- Material cost of making those transitions, which has to be justified to those making decisions
- Ecosystem support
Etc etc
Spot on.
Reading that you realise how wrong a choice it was to put Ballmer in charge and how much it cost Microsoft.
https://www.filfre.net/2022/12/doing-windows-part-11-the-int...
https://www.filfre.net/2022/12/doing-windows-part-12-david-a...
Well, Nathan was right there. But even with Java as (depending on where you look) 2nd, 3rd or 4th popular programming language, how many of those applications are being run on Windows hardware? Developed maybe, but deployed? Ultimately Microsoft didn't get stung too badly by this, since they embraced Linux on the server but it's weird to see them talking about how it's "expanding into a vaccuum" so early, batting around what to do about it when we know now that ultimately Windows lost that battle.
> Continue to "embrace and extend" - both at the level of new Java tools (like J++), and our broader browser strategy.
Kind of an "Oh my god, he admit it!" moment, it's wild to remember how open they were on the EEE strategy.
Meanwhile the chocolate factory has created their own version of ".NET" for phones.
Haha, Metaverse talk while Zuckerberg was in preschool
Contrast VRML to a game like Quake. One of the key optimizations in Quake was a very computationally expensive pre-processing of the game map to determine surface visibility. The map environment was also a simplified set or surfaces rather than a giant tree of arbitrary primitives.
VRML had almost the opposite Design leaving the client to do a ton of work just to construct the usable representation of the virtual environment and then figure out what to draw. It also didn't help the client software often had terrible UIs and were implemented as browser plugins.
True that ! NOTHING moves as slow as a B2B software contract, it can take 6+months and even sometimes years to go from proof-of-concept and golf-talks to actual first invoice being paid to you the provider.
... except there was a long road of transactions, distributed architecture issues, etc still to hammer out, and these were the days of a gig of ram maybe and no ssds, and 100 base t if you were lucky. And jit was a wip.
So it was a app server with its own dedicated mumbo jumbo for everything to dazzle CEOs.
Thanks, JOnAS. I still have hate in my heart.
And now ORM in Java (with JPA) is a simple @Entity. Ahh, the warm, cozy feeling of abstraction.
Now 25 years later, watch what's actually made the most money, and did his reply cover those. I can think of hosted services and search.
Even Microsoft had one of the very first maps online in the 90s [ terraserver ] but they failed to realize how large this business eventually will turn into.
I don't think that Microsoft failed to realize how large a business mapping would become. I think the problem was mostly these products existed in the Ballmer era where Microsoft expanded into seemingly every niche without clear goals besides using up all the oxygen in the room.
Sun seems to have left a legacy in the open source community. What was the business logic on giving away the software for free? I know it's very common today, but Sun may have been a leader in open source. Any books recommendations would be appreciated too.
https://www.amazon.com/Steve-Jobs-Next-Big-Thing/dp/06891213...
The above podcasts are hosted by Bryan cantrill and often has guests from that era, though the newer episodes try not to reminisce so much, because it became a bit much at some point
1. Sun originally meant Stanford University Network and the university shared the open-source ethos of Unix along with UC Berkeley.
2. Although Microsoft was already dominant on the desktop by then, the Internet was still up for grabs.
3. And even though JavaScript shipped with Netscape (meaning almost from the beginning of the public Internet), it was still severely underpowered.
4. Java, in the form of "applets" (mini apps running on the browser), could add dynamism to HTML (CSS didn't exist yet) and so define a new software paradigm for the Internet.
5. Sun, like Apple, made money on hardware.
All five factors incentivized Sun to give Java away. Java applets, although a cool demo for the time, never really went anywhere, but Java did go on to compete with Microsoft for the (enterprise) server.
And oh yeah, with this hardware you also got this SunOS Unix thingy. SunOS was very much core to Sun's success especially in the 80s (not the least because Bill Joy was already a "big name" even before Sun on account of creating BSD and vi), but it wasn't their core business. From their perspective they weren't really "giving things away for free" because they weren't selling it. Interoperability also gave Sun advantages as their SunOS/Solaris machines could communicate with other systems so it made the barrier to adoption/migration lower. People talk about this WSL thing on Windows now, but for Windows NT and 2000 there was SFU – "Services for Unix" – which pretty much did the same thing for Microsoft: make it easier to use Windows with other systems.
Microsoft in the 90s on the other hand was very much in the business of selling software. I'm not sure if they were making any hardware in the 90s (maybe some mice and keyboards?), but if they did it was a little side-thing and not their core business.
Sun was never really an "open source company" in the way we would understand that now: parts were open, many parts were not. They did eventually release OpenSolaris but that was much later. This wasn't entirely Sun's choice: the legal situation at the time was complex, and even OpenSolaris wasn't 100% open due to legal reasons (see the BSDi lawsuit, or the SCO lawsuit that is hopefully finally dead once and for all).
It's similar to Apple today; you can still download the source for Darwin, Swift, Safari, clang, and some other things. What does Apple have to gain by keeping these closed? It's not their core business: no one "pays" for Safari or even macOS; they pay for iPhones and AirBooks. There is still a lot of "secret sauce" at Apple – as there was at Sun – and you could argue if that really protects Apple's profits or not – but there's a wide agreement that "some openness" doesn't really hurt their bottom line.
It's not a coincidence that Microsoft has become "more open" as their business model moved away from almost exclusively selling Windows, Office, and other software suites to selling Azure Cloud, Office365 subscriptions, X-Box, and other things.
In short: Sun never really "gave away" things, they just had a very different business model than Microsoft. On one hand you could say that the author of the email doesn't really seem to appreciate that, but you could also say that Sun failed to foresee that their core products and business model would slowly become obsolete. This is easy to argue with the benefit of hindsight, but less obvious in 1996: they had $7.1 billion revenue/$476 million net income in 1996 (Microsoft had $8.6 billion revenue and $2.2 billion income in the same year; less overhead if you distribute only software) and in 1997 this increased to $8.6 billion/$762 million. The profits continued to increase until the dot-com crash, which they recovered from only to be done in by the financial crisis.
It was this split of the UNIX SDK into a separate commercial package that eventually fuelled the GCC contributions, until then largely ignored.
Originally Sun released the JRE (on PC/Mac/etc) at no charge but charged for licenses elsewhere. With the release of Java 1.2 (J2SE) Sun charged for releases of J2ME on devices and J2EE products like application servers.
Sun wanted to get the Java runtime spread as widely as possible to make it the platform to develop stuff on. The idea was to get stuff written in Java and then deployment was just embedding a class file (later a jar) in a web page.
https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/
If you sell hardware the last thing you want to do is commoditize hardware, which is what a portable software strategy does. What you want is hardware lockin. Java was the opposite of that. Sun eventually had to be sold, but Microsoft didn't.
Sun bought into Netscape's vision of the web as the delivery platform for software. Java could run on the server side and then as applets in the browser on the client. The expansion of Java would then expand its use in places Sun wanted to charge for licenses.
Java wouldn't create a moat around their hardware. It was intended to eliminate Microsoft's moat around the Windows platform. If ISVs could write software in Java that could be delivered by a browser on any OS, the actual OS stopped being important. As long as there was a browser and JVM available on a platform it could run that software.
If history taught me anything it is that this attitude is not history.
Wow. Losing sleep becasue progress might actually happen in the operating systems space. How very '90s Microsoft.
It was important for Microsoft to anticipate this and pivot from relying too much on Windows on the desktop. And they tried pivoting left and right with the Xbox, Azure, .NET, their early tablets (which Steve Jobs famously discounted because they needed a stylus) and so on.
Leaving Windows to younger generations without background on why things are the way they are, and feel like they need to rewrite everything to leave their mark.
Why not expand on the things where portable software is weak, like making a well-integrated system? But they missed it and let Apple fill that space.
Why not accept the future you predicted and be the first to arrive there? But web development only considered Microsoft an annoyance for a long time due to Internet Explorer.
Whenever questions like why are they afraid of progress, it's for common good etc come up (which I feel are based on morality) , it makes sense to imagine yourself in their shoes and see what you would do.
I mean, any business owner should be watching out for rising competitive threats and thinking about how to nullify them.
Unfortunately for us that means the big players are trying hard to stifle the innovators....
Strategy to nullify competition instead of competing is disgusting and damaging to progress and market itself.
https://www.cnet.com/tech/tech-industry/sun-microsoft-settle...
> Cool new technology always expands rapidly into NEW areas (where there is a vacuum).
We often hear startups with mission to kill and goliath company slow moving slow. The email shows how it is actually impossible to do that and you have to create a market to grow.
A good thing, surely.
The tldr:
We must not lose Windows on Desktop. To do so:
1) have the best audio and video tools and multimedia experience
2) we should be bug-free and boot fast
3) we should solve desktop storage with transparent cloud storage
It’s funny this omen explains exactly one way they took their ears off the ball and lost the desktop, their core business. This email wasn’t just about the web as an os, but also the end user desktop experience.
Incredibile career he's had. Went to the best schools, published in top scientific journals in multiple foods. And, he took a leave of absence as Microsoft CTO (around when these emails were written) to go to chef school in France. He even has cookbooks!
(2022)
http://edge-op.org/iowa/www.iowaconsumercase.org/010807/PLEX...
There’s a few famous VCs that are apparently too busy to ever capitalize a letter... Too busy to shift!
Personally, I'd struggle to not capitalize things. It's just automatic.
I do believe there was a bit of a fashion to not capitalize things for a while too; I remember some people doing it on the interwebz.
I assume he was using some Microsoft spellchecker.
Because compiling on windows and deploying on linux/unix/etc, that was posssible 20 years before java in c/c++.
"20 years before Java"? That's 1975 we're talking about.
Was it possible to build a program on Windows 95/NT and then deploy that to a Unix system? Probably. But given that today this can still be quite a pain to cross-compile C code I bet it wasn't easy. Besides, "it compiles" doesn't mean "it works" or "it works on this other platform" (quite likely with a different CPU architecture), especially not in C. And few people were writing any tests in the 90s.
Java abstracted a lot of details like endianness, platform-specific APIs, etc. away.
> who uses that in real life?
There's quite a few cross-platform Java desktop apps; the IntelliJ IDEs are a good example (although they've since developed Kotlin, it's still the same Java VM). DBeaver is another example, openoffice.org used quite a bit of Java back in the day (although I think that's mostly phased out now) – I'm sure there are more.
And of course in the 90s you had Java Web Applets.
Java is a bit less popular for this than it was, but I've run plenty of Java programs on my FreeBSD machine back in the day, and I'm pretty sure "FreeBSD" wasn't really something the developers really thought of when they wrote it (I can't remember which off-hand, it was a long time ago but I have "fond" memories of dealing with the manual installation bruhhaha because of the license at the time).
Well POSIX dates from the late 80s. That's not cross-CPU, but at least cross-OS, which is what Gates was really concerned about.
Nowadays we do the same with .NET code as well, when using .NET Core.
(There were other options out there, too— for example, SWT’s the widget toolkit used by Eclipse which feels a bit more native on some platforms than Swing.)
That's not to say that Java provided a "good" cross-platform experience by our current standards - but the fact that it provided it at all was huge!
I can reuse my Java code on Android, but since approach to UX on mobile is completely different, the UI front needs to be separate anyway. But I once wrote a game with LibGDX that essentially had the same core codebase.
While they run on a different VM (Dalvik), Android programs are (mostly) written in Java, and provide a cross-platform function - namely different CPUs (Android can come in ARM, ARM64, x86, x64, MIPS), and all run the same binary (except if there's native extensions... which negates all of that)