Java was first released in mid-1995, just 6 months before JS.

By 98, when I went to college, Java was already used for all the first level courses in the CS program.

How did it catch on so quickly (just 3 years) to shift university curriculum, which is usually so slow/behind?

I wonder why Java was so respected and JS was not? Why/how was Java already seen as such a stable and mature language?

Not just Java, other languages (like python) were also released around/near 95, and also seemed to get to "mature" respect status. much quicker.
I bring all this up because my impression of Java in 98 was that it had been around "forever" (as had C++ first developed in 79, but not standardized until 98!), but that's not. true at all. These were all new languages around the same time.
I'm sure the language designs had different merits, and the target applications meant a different perception and reception, but...

it sure seems like the industry (and academics) just decided Java and C++ were the stable mature ones and langs like JS were toys.
BTW, before you assume JS was nascent/immature b/c the web wasn't much of a thing yet, remember that JS was actually released as LiveScript on the server before it was released in a browser. So "server-side JS" was always part of the story, not just Node 15 years later in 2009.
Why didn't "we" push JS on the server the way Java and C++ were pushed in that space?

Why wouldn't a university consider teaching JS alongside Java and C++ (and python), given they were all roughly the same age?
My point is, technologies and ideas don't always win on merits the way we hope/claim. More often than we admit, we just pick winners based on less tangible things like marketing.
There's a lot of tech (frameworks, tools, etc) floating around that are just as mature/stable/useful as the hyped bandwagon stuff, just without the huge community, fancy logos, conferences, and big corporate backers.

They're the "Java" and "C++" of today. They've been chosen.
Through a variety of intentional and accidental effects (like marketing), they're the "winners" right now.

But a lot of equally worthy candidates are floating around waiting for their moment (which may or may not ever come).
Are there any "toys" (tech that's not respected) right now that might accidentally end up ruling the world 25 years from now? What would you place your long-future bets on?

More from Tech

I think about this a lot, both in IT and civil infrastructure. It looks so trivial to “fix” from the outside. In fact, it is incredibly draining to do the entirely crushing work of real policy changes internally. It’s harder than drafting a blank page of how the world should be.


I’m at a sort of career crisis point. In my job before, three people could contain the entire complexity of a nation-wide company’s IT infrastructure in their head.

Once you move above that mark, it becomes exponentially, far and away beyond anything I dreamed, more difficult.

And I look at candidates and know-everything’s who think it’s all so easy. Or, people who think we could burn it down with no losses and start over.

God I wish I lived in that world of triviality. In moments, I find myself regretting leaving that place of self-directed autonomy.

For ten years I knew I could build something and see results that same day. Now I’m adjusting to building something in my mind in one day, and it taking a year to do the due-diligence and edge cases and documentation and familiarization and roll-out.

That’s the hard work. It’s not technical. It’s not becoming a rockstar to peers.
These people look at me and just see another self-important idiot in Security who thinks they understand the system others live. Who thinks “bad” designs were made for no reason.
Who wasn’t there.
A common misunderstanding about Agile and “Big Design Up Front”:

There’s nothing in the Agile Manifesto or Principles that states you should never have any idea what you’re trying to build.

You’re allowed to think about a desired outcome from the beginning.

It’s not Big Design Up Front if you do in-depth research to understand the user’s problem.

It’s not BDUF if you spend detailed time learning who needs this thing and why they need it.

It’s not BDUF if you help every team member know what success looks like.

Agile is about reducing risk.

It’s not Agile if you increase risk by starting your sprints with complete ignorance.

It’s not Agile if you don’t research.

Don’t make the mistake of shutting down critical understanding by labeling it Bg Design Up Front.

It would be a mistake to assume this research should only be done by designers and researchers.

Product management and developers also need to be out with the team, conducting the research.

Shared Understanding is the key objective


Big Design Up Front is a thing to avoid.

Defining all the functionality before coding is BDUF.

Drawing every screen and every pixel is BDUF.

Promising functionality (or delivery dates) to customers before development starts is BDUF.

These things shouldn’t happen in Agile.

You May Also Like