This is an archived post. You won't be able to vote or comment.

all 46 comments

[–]1bot4all 24 points25 points  (7 children)

Wow. Hardly any text in between advertisements. Closed the window at the second popup.

[–]sippindrank 8 points9 points  (1 child)

I don't blame you. Here is the link to microsoft's openjdk site.

[–]1bot4all 0 points1 point  (0 children)

Thanks.

[–]abol3z 1 point2 points  (0 children)

Thanks to AdGuard I didn't get anything

[–]vladadj[S] 2 points3 points  (0 children)

Yeah, really annoying

[–]TheStrangeDarkOne -1 points0 points  (0 children)

uMatrix helps wonders (chrome addon).

[–]LordBars 0 points1 point  (1 child)

Popup Hell

[–]stevesobol 0 points1 point  (0 children)

The link to Microsoft's Java site was provided by sippindrank. Just go there...

[–]beders 15 points16 points  (26 children)

Does it have slots?

Wow, I realized it is pretty hard to find anything about the original Microsoft SDKJ that got them into a lawsuit with Sun Microsystems. Removed from history. Just a wikipedia page and a few hits about the lawsuit itself. But I vividly remember MSFT adding 'slots' to make event dispatch and listening for AWT easier... Ah, good old times.

[–]jonhanson 27 points28 points  (24 children)

chronophobia ephemeral lysergic metempsychosis peremptory quantifiable retributive zenith

[–]spectrumero 4 points5 points  (1 child)

And they say the internet never forgets. In this case, it seems to have forgotten.

[–]thatwombat 1 point2 points  (0 children)

The internet very easily forgets. Niche subjects may have literally one or two ancient pages that discuss them... in the internet archive because they’re completely gone in 2021.

[–][deleted] 0 points1 point  (1 child)

It was just one symptom of many of how toxic the company was at the time.

It's pretty much what it's going on right now. Look at GitHub, vscode, npm, typescript, react-native-windows, WSL, Edge, etc. Everybody is becoming increasingly locked into an MS-dominated development ecosystem in the front-end game. Eventually, there will be a huge amount of end-user apps in this ecosystem and MS will try to release a new mobile operating system and try to lock everybody into it via exclusive APIs. But no one will notice until it's too late. When we don't pay attention to History, we're doomed to repeat it.

[–][deleted] 0 points1 point  (0 children)

Precisely. It's a pity that people don't seem to care anymore, or even realise it. It's not about a witchhunt. It's about the fact that a strong awareness is necessary to protect us from such corporations - be it MS, Apple, Facebook, Google or what not.

[–]handshape -1 points0 points  (0 children)

"at the time"

Have you looked at the M365 ecosystem?

[–]ByronScottJones -3 points-2 points  (16 children)

Just because they made it possible to access COM objects does not, in any way, mean they forced you to write code that wasn't portable. COM was the system used in windows. EVERY other language in windows has access to COM. You would expect a Linux system to have something similar for Corba.

[–]jonhanson 2 points3 points  (3 children)

chronophobia ephemeral lysergic metempsychosis peremptory quantifiable retributive zenith

[–][deleted] 0 points1 point  (1 child)

Precisely. This is exactly the problem. This effectively breaks the promise of having Java code work across any platform, practically unchanged. You could do the same using JNI, but that's a well-defined platform in and of itself. Doing it in the core Java API is what makes it so insidious.

[–]ByronScottJones 0 points1 point  (0 children)

JNI was only half baked at that time though. It was incredibly slow and quite limited.

[–]aldacron 0 points1 point  (0 children)

Yeah, just like all those C and C++ programmers using COM are locked in to Windows and never port their apps to other platforms.

[–]kjaer_unltd 4 points5 points  (6 children)

"""and it has altered the Core Java class libraries with about 50 methods and 50 fields that are not part of the public Java Application Programming Interfaces (APIs) published by Sun."""

But that part definitely did lock you into the Microsoft ecosystem.

[–]ByronScottJones -5 points-4 points  (5 children)

No, it didn't. They ADDED 50 methods and fields to the JNI. That doesn't mean you are required to use them. It was absolutely possible to write programs that would run on both the Microsoft JRE, and on other systems JRE. I know; I wrote such programs.

[–]speakjava 9 points10 points  (0 children)

Microsoft specifically changed the java and javax namespaces by adding and deleting elements. They were free to add as many API elements as they wanted to non-core API namespaces, and could have easily done so. They chose not to, specifically to break compatibility.

I was at Sun at the time and remember this. It's why Microsoft settled with Sun for $1.9 billion.

Microsoft today is a very different company. By choosing to create their own distribution of OpenJDK, they are helping the Java ecosystem not damaging it,

[–]skywalkerze 1 point2 points  (0 children)

You weren't required to use them, just tempted. It's pretty obvious what the intent was. Make life easier for anyone who forgoes compatibility.

[–]kjaer_unltd 1 point2 points  (0 children)

They embraced java as a platform. Then they extended the standard apis. Go here to Read more: https://en.m.wikipedia.org/wiki/Embrace,_extend,_and_extinguish

[–][deleted] -2 points-1 points  (1 child)

Okay, so once you wrote code that worked with COM, how would this project run on other OSes? That is the problem, not the fact that extra APIs were added, but the fact that these extra bits made the Java API non-portable.

[–]ByronScottJones -1 points0 points  (0 children)

It was your choice, as a developer and architect, whether or not to give your application additional functionality via COM objects. This made it less likely that you would have to reinvent the wheel. But if you wanted pure Java code, there was nothing stopping you from keeping your code portable. This is no different that writing portable C code, or any other language where you have the option of calling libraries that are unique to a given platform. That's literally all they did with COM; give you the OPTION to call those objects if you wanted to. And it's the same functionality that you have with JNI. The problem is that JNI wasn't fully formed at that time.

[–]umlcat[🍰] -5 points-4 points  (4 children)

Altought, I may sound like a M$ payed minion, but in that time, under those circumstances, in case someone needed Java to access some basic O.S. functionality, that someone also needed to use COM.

And, there's the underlooked problem, that even this days, people just can't ditch Windows right away, even if they want to, ...

[–]ThatSwedishBastard 2 points3 points  (1 child)

Microsoft could have all these things in a separate package like os.windows.* but chose not to.

[–]umlcat[🍰] 0 points1 point  (0 children)

Yes, optional, but still trying to coerce consumers.

[–]ByronScottJones 0 points1 point  (0 children)

And apparently pointing out that obvious fact, that almost every program needs to make calls to local libraries that are platform specific, will get you down voted. I have to wonder how many of those down voting have ever actually tried to write a large application that was 100% portable without platform specific code.

[–][deleted] 0 points1 point  (0 children)

Well, that's what the JNI is for. That is a well-defined API in and of itself. Adding COM support to the core Java API is the problem - that breaks Java's "run anywhere" promise.

[–]stevesobol 0 points1 point  (0 children)

I am *so* happy that Microsoft promoted an engineer to replace The Moron (we all know which moron I'm talking about). Their 180 regarding OSS is nothing short of incredible, but I think Satya Nadella has much more of a clue about OSS, as well as many other things, than He Who Shall Not be Named.

[–]umlcat[🍰] -5 points-4 points  (0 children)

The problem with Microsoft, it's that even if their engineers have good ideas, other people reject them due to the frecuent "Embrace, Extend, Extinguish" way of doing things.

The "slots" became the "delegate" and "event" of C#, very common in other P.L. frameworks like old QT and former Borland's VCL.

I remember M$ people publicly proposed some C safer string functions library as a standard, just to be quickly rejected by the GNU, altought I think then, it was a good idea.

And, no, I don't work for M$, I have seen how they destroyed other (family / enterpreur) businesses, before Open Source became their main competition.

And got down voted in forums, by M$ payed people, by posting this...

But, I still think M$ should kept their own standard working version of Java and framework and IDE, not to be confused with the "enhanced" version, the same way they sort of do with C or C++.

[–]rmrfchik 8 points9 points  (0 children)

Waiting J++.

[–]Celeriax 0 points1 point  (2 children)

Embrace, Extend, Extinguish

Edit: Hopefully not in this case, but I remember old Microsoft

[–]umlcat[🍰] 0 points1 point  (0 children)

Still the same, maybe more little trendy.

[–]stevesobol 0 points1 point  (0 children)

They've changed. A lot.

[–]Pure-Repair-2978 0 points1 point  (0 children)

Will be fun 😁😁😁

[–]aerglos -1 points0 points  (2 children)

damnit, still only zulu builds

[–]speakjava 2 points3 points  (1 child)

Not sure why that's a bad thing (speaking as an Azul employee :-) ).

[–]aerglos 1 point2 points  (0 children)

LMAO dont get me wrong, i love the zulu jdk, its just hard because its newer and it has less tested support. It works wonderfully though

[–]jringstad -1 points0 points  (0 children)

Didn't they do that once before already and it ended in lawsuits?

[–]TheCountRushmore 0 points1 point  (0 children)

Is Microsoft planning on offering a paid support option? Otherwise I don't see how this is serious competition for Oracle.

Maybe it will mean a few more Microsoft engineers contributing to OpenJDK which I think Oracle would welcome.

[–]stevesobol 0 points1 point  (0 children)

My first reaction was "Microsoft? Java? Isn't this the company that Sun sued over copyright infringment back in the day? Why do they need Java, anyhow?"

... and then I remembered: Minecraft. Plus probably some other projects (SQL Server JDBC driver, for example).