145 comments

[ 2.3 ms ] story [ 198 ms ] thread
It does sound confusing. Just like the different versions of java and distributions that we have now as well.

I don’t think they’ll ever do it though, given the history of oracle

What is confusing about there being like 10 OpenJDK forks, but for all practical purposes they are identical even more so than linux distros.

And if you want paid support you ca choose for example OracleJDK, which is otherwise feature-equivalent to OpenJDK (as it is also just a tiny fork), which’s LTS version is free for the next LTS+1 year. This is the same model as Red Hat Linux vs Fedora.

Gets even worse with IBM/Eclipse marketing OpenJ9 with OpenJdk which has nothing do with the OpenJdk project and is a completely different VM implementation.
Just imagine how fans of Solaris and ZFS feel.
Banking on Oracle caring about goodwill is not going to be successful.
"You don't think 'oh, the lawnmower hates me' -- lawnmower doesn't give a shit about you, lawnmower can't hate you. Don't anthropomorphize the lawnmower. Don't fall into that trap about Oracle." -- Bryan Cantrill
(comment deleted)
(comment deleted)
JavaScript is trademarked and not related to Java. ECMA should adopt the name “JS”. Just JS, not an acronym. That’s what people call it anyway.
How do you pronounce JS out loud, and why is your way right and the other way wrong?
My vote is “Jizz”, because it’s phonetic. Which will eventually become JizzScript, infuriating everyone bothered by ATM machines and PIN numbers.
I think that name will bother people for more reasons than that XD

But that was of course your point.

Just say the letters? Jay Ess in english, Jota Ese in spanish, etc…

What other way is there ?

In poland people will not be sure if it's Jot Es or if they want to sound cool and say Dżej Es so it's nice and english. Big problem!
You pronounce it as "javascript" in casual conversation, disregarding Oracle's trademark because they're not going to do shit about it. Not even Oracle. Xerox can't stop people from trampling all over their trademark in casual conversation and neither can Oracle.
(comment deleted)
LiveScript would have been better.
Too late. The name was taken when it was free.

https://livescript.net/ (But seems inactive judging by GitHub).

Actually a mostly quite nice little toy language. (Only the OOP part seems messed up a little bit; but besides that it looks quite clean).

Can’t you just call it ECMAScript, or are they somehow different these days?

Guy Steele told me once that Sun registered it with ECMA so they could tell people (governments?) that it was a registered standard and that ECMA was the easiest/fastest/most compliant way to get there.

I’d always thought that ECMA was a weird place to register it.

I believe ECMAScript is the specification of which JavaScript is an implementation.
I always have had problem with this definition... what do you mean by "implementation"? in my head "implementations" are "programs".

Like... "C" is a specification, "gcc" is an implementation. "Python" is a specification, "CPython", "PyPy", ... are implementations. "ECMAScript" is a specification, "webkit", "spidermonkey", ... are implementations.

"JavaScript" is a (trademarked) specification, and also "ECMAScript" and "JavaScript" are "very very similar" (wink wink)

D20 is an open standard for a certain genre of tabletop role playing games, of which Dungeons and Dragons™ is an implementation. But D&D itself is an abstract concept, with two implementations: the open-game-licensed online “D20 SRD”, and the proprietary set of WotC-published core books.
Flash's ActionScript was also ab implementation of ECMAScript IIRC
That's one thing I never understood. For me they seemed like completely different languages. Now looking at history in Wikipedia, it seems that old version of ActionScript was based on old version of ECMAScript specification. And ActionScript 2 which introduced strict typing and classes (that look nothing like JavaScript) was partially based on ECMAScript 4(which was abandoned as being too different from previous ECMAScript 3). Latest version of ECMAScript is 13. So at this point it seems like latest versions of JavaScript and ActionScript(3) have as much common as D and Rust. They shared early history but afterwards diverged quite a bit.
How do you see them as diverged? I've spent a lot of time thinking about AS, ES4, and working with modern ES, and if anything I see them as having converged. The largest feature of ES4 that ES3 did not have was classes, which were added in ES6. The second largest feature was optional static typing. Optional static typing is nearly a defacto part of the language (from a community/ecosystem point of view) with the popularity of Microsoft's TypeScript superset.
With diverging I meant more about development process not the feature set.

They might have same features from the perspective of checklist. But path they developed and obtained those features is different, the syntax is different and there are probably also some subtle (if not big) differences in semantics. The similarities in feature list isn't result of 2 language "implementations" getting closer to shared specification, but at least partially looking at what features other programming languages have and then sooner or later developing their own version of those language features. I haven't read the ES4 specification or development discussions for ES6 so I can't tell whether differences are caused by ES6 classes being developed from scratch ignoring how they where described in ES4 or whether classes in actionscript were only very loosely based on the way ES4 described them. Either way the development of two languages at some point forked and further developed somewhat independently.

From what I understand graph is something like this: ES2 -> ES3 ES3 -> ES5 ES3 -> ES4 ES3 -> AS1 ES4 -> AS2 AS1 -> AS2 AS2 -> AS3 ES4 -> AS3 ES5 -> ES6

> "Python" is a specification, "CPython", "PyPy"

Is Python-the-language fully specified now? Of course there are now a lot of PEPs, but I seem to recall (way back then, even before PEP3000 was a thing) that the Python "spec" was largely the "CPython" implementation (incl. bugs and all), and "CPython" was not actually a real name but emerged from a need to distinguish the original Python implementation from "Python-the-language" as well as alternative implementations such as PyPy, JPython/Jython, IronPython...

It's not. ECMAScript is just an awkward name they used because people couldn't agree to use "JavaScript". They're really the same thing.

Implementations of ECMAScript/JavaScript are things like V8 and Spidermonkey.

And people couldn't agree to use JavaScript because the term was trademarked.
> so they could tell people (governments?) that it was a registered standard

Well, yes that’s the reason why standards bodies exist :)

Normally standards bodies deliberate over the standard. IIRC Guy was saying that they just handed a document to ECMA and and it was stamped “approved”.

Hmm, I see the same was done with Dart…

Can’t you just call it ECMAScript

We're at about the right point in the timeline to start calling it YavaScript which both solves the trademark problem and keeps us on the path laid out in prophesy.

Or JawaScript
Disney enters the chat
(comment deleted)
Or JavaScript, but not after the type of coffee, but the island.

...wait, no.

How about JECMAScript?

You still get to abbreviate it like JS, use the filename extension ".js", etc.

Too close to Yuck-ma-script.
Giggled, imagining all those muscle memory typos. It took me a while to start typing "myself" properly instead of "mysql", thanks to Postgres.
YavaScript for the language, Yira for issue tracking. YetBrains for IDEs.
Why not just call it 'JS'?

JS doesn't have to stand for anything. It's just 'JS', pronounced jay-ess.

It is very likely that people in the core technical teams are not even aware that Oracle owns the Javascript trademark.
I worked with a team implementing JavaScript at Oracle and of course we knew it.
I stand corrected. My knowledge was anecdotal and limited to OCI and FMW groups.
Could you successfully argue that its generic at this point? I strongly doubt anyone seriously thinks when you talk about Javascript, you're talking about only products and tools made by Oracle.
I am guessing that Oracle is worried that if they give up (or somehow lose) the JavaScript trademark, that may threaten their ownership of the Java trademark - the later is far more important to them than the former.
IANAL but seems like intentionally giving up the specific JavaScript trademark would actually help with that, since if a disagreement over JavaScript ever went to court and Oracle lost it could very easily domino into the Java trademark. Give it up and it never goes to court.
Good. Nice article and nice looking blog. But should have been a private letter to let Oracle save the face of "coming up with this goodwill gesture themselves".
I hope the release their ZFS as BSD as well.
I hope someone will give me a million bucks. Which is more likely.
I feel like this isn't a problem that needs solving.

The existence of a trademark doesn't prevent you using that trademark (as in referencing it like "this app is written in JavaScript".)

Clearly Oracle is not defending the trademark, and it is likely its too late to start. Worst case they pick on you, you change your docs to say Ecmascript.

Frankly it's safer where it is, than being released so the USPO or something can issue it to someone else.

A bigger intrinsic problem is lay-programmers confusing JavaScript with Java, and unfortunately there's no fixing that.

(comment deleted)
Well... Oracle is lead by the most ruthless, unethical, Machiavellian business person in tech and his devoted acolytes. They probably don't gaf. But it wouldn't surprise me for Oracle to decide on some last minute resurrection of the brand and start legal armageddon. (In fact, calling attention to the situation is probably the worst thing to do...)

That said, my guess is all they really want is for it to be a zero cost pain in the ass for Microsoft, Apple, Google, etc.

(Yes... You youngsters might think Bezos or Zuck might be gunning for that title, but they got nothing on ol' Larry. He's evil incarnate. There's reasons those other two are always in the news and Ellison is not. Think about it. Pure evil.)

a) Calling a person evil should be reserved for those that commit truly heinous acts. Not simply being a tough, shrewd businessman in an industry where you need to be.

b) Oracle's CEO is Safra Katz and has been for a while now. And pretty sure she has a lot more on her plate to worry about i.e. existential threat of AWS/Azure/GCP than fighting some meaningless lawsuit.

> shrewd businessman in an industry where you need to be.

Let me put it that way, if he was only as shrewd as "needed" he wouldn't be sitting there with billions to his name. Every billionaire is driving a wealth distribution that makes the lives of millions of people worse.

It's just a game they play among themselves, 10 points for every million dollars. Nothing really wrong with it, I'm sure lots would play the same way.

Really the problem is in government for failing to do its job of protecting the public.

Yet somehow people like this manage to employ and fund the livelihoods of tens of thousands of people, established an ecosystem of skilled engineers, and deliver products that run huge swathes of the economy. I’m no particular fan of Ellison, but I’ve worked for a billionaire when he made his money, Mo Ibrahim. Just the nicest guy. His technical smarts and business sense helped launch a key stage in my career and I’ll always be grateful. He deserved every penny he made and everyone I know that worked for any of his companies, and his customers, did very well out of his hard work.

How many careers have you supported? How many products did you conceive and design that transformed an industry? How many families were fed and clothed by wages from your companies? I doubt you’ve done as much good for as many people in your whole life as Mo Ibrahim did in a day at the office. Now he’s off working to transform political culture in Africa.

My friend you need to get a grip. Mo Ibrahim employs people because he makes money off of them; not because he's a saint. Your phrasing makes it sound like Walmart employees should be licking the Walmart brothers boots for the opportunity to make them money.

Billionaires become billionaires by setting up systems and collecting rent. That's it. Whether that's good or bad is a different topic.

All I'm saying is that a system without leaders that have creativity and vision would be a poor thing. Ultimately the question is, who should be in charge of allocating resources. There's a major role for government but I think largely, but not exclusively, it should be private citizens that have demonstrated their ability to start and run businesses and create jobs and products. If you think it should be someone else, you're free to suggest an alternative.
You don't need billions to be a private leader. Or you shouldn't.
You need billions to invest billions. For the most part those billions aren't piles of cash, they are the market value of shares in the companies they own and operate. To take that away from them, you'd be taking away control of those companies. Who are you going to give that control to instead?
Like trying to overthrow the government? Maybe secretly funding an insurrection? Don't mean to get political, as I was being hyperbolic for humor on a Saturday night, but you did demand proof.*

This crosses the line from "shrewd businessman" into the evil area. What's wonderful is when Larry's buddy Lindsey gets indicted, he's going to sing like a canary, and Ellison is going to finally get his just rewards. (LOL, just kidding. He's a billionaire.)

1. https://www.washingtonpost.com/politics/2022/05/20/larry-ell...

a) I don't think you get to define words for us all
I must have missed the part where I was hired to define words for humanity.

I was just offering my opinion that there are people on this planet who have caused unspeakable misery not just genocide but industrialised misery. And that throwing around the term evil to apply to a tough and unquestionably unethical businessman devalues it.

Well and in my opinion evil is not boolean attribute but a spectrum so I don't see how it doesn't apply to both?
Wait, but isn't Oracle the company that had actually patented meaningless lawsuits?

Also there are those rumors, that they have 10 managers per developer, and 50 lawyers per manager.

Who knows, maybe Oracle enjoys suing people?

Every big enough company will have absolutely zero moral and is simply a profit-maximizer AI. Any statement regarding ethics/morals/social issues is simply the result of a pro-contra table anticipating bigger profit from doing so than against.
(comment deleted)
I agree.

>Careful law abiding engineers bend over backwards to avoid its use

..do they really? It never occurred to me but maybe I don't qualify as careful and law abiding.

It’d probably only be something that’d be relevant to worry about in e.g. technical documentation that ships with a commercial product. That’s the sort of use-case where I’d be worrying about what IP (including trademarks) are being referenced.
Exactly, if you don't defend your trademark, you don't effectively have one. It's not enough to have a trademark registered. You have to actively go after people when they infringe. It's not optional. You can't be selective about it either. Oracle has not done that.

There are countless examples of people using the javascript name, incorporating it in books, articles, products, derivative works, etc. So, effectively the trademark has not been defended for decades. All fine with Oracle apparently. They never objected or sent any cease and desist letters. Oracle would not stand a chance in a court trying to enforce it now.

> Oracle would not stand a chance in a court trying to enforce it now.

Assuming that is true (IANAL), do you want to be on the other end of that lawsuit, wasting your time and money?

They've got so much badwill at this point that it would be pointless trying to get any goodwill out of this.
(comment deleted)
We can call it VanillaScript. Seems appropriate with how we generally call its usage :)
Call it WebScript or DOMScript or HTMLScript or MozillaScript or something.

ECMAScript is absolutely the worse name for it.

Thank you. I thought I was the only one.
(comment deleted)
Netscape should name it Netscript
There’s absolutely no way that Oracle would release a trademark.
(comment deleted)
I call it JS
I call it JS in official documents, and JavaScript where Oracle can't sue me for it :)
> Oracle doesn’t even participate in the development of any of the JavaScript engines

So anyway have you heard of GraalVM

Just call it JS already. Forget about the "Java" bit, as JS really doesn't have much to do with Java anymore. Forget about ECMA as well -- that's a mouthful -- though I strongly suspect that the people who design JS believe verbosity is a virtue in all of their naming schemes.

Just call it JS and invite the community to come up with whatever silly backronym they see fit. Just super? Jihad script? Jelly sandwich? Juniper spirit? Other languages have been doing it for decades, so why not?

I really like "JihadScript"! But I think it's not offensive enough.
Since they trademarked Java makes sense to keep the JavaScript trademark. JavaScript was a terrible terrible name, but it is what it is...

This is a non-problem for the world. I never heard of this being enforced in any way.

> JavaScript was a terrible terrible name, but it is what it is...

"LiveScript" was a great name, they never should have changed it.

(comment deleted)
jajascript. ja, because it wasn't really complete yet

jaja because we keep copying over node_modules

> Oracle does not have any products using the trademark … Oracle doesn’t even participate in the development of any of the JavaScript engines

Strangely ignorant from Ryan - Oracle does maintain a JavaScript engine product - GraalJS. In fact is it possibly the only modern engine available under a commercial licence?

Nashorn is still maintained too, it’s just no longer in the jdk by default.
Is GraalJS a fork of Node.js?

Because I doubt Ry would write this article if he was one of the top contributors to GraalJS which is what this graph says:

https://github.com/oracle/graaljs/graphs/contributors

Must be a fork because I found my own commits haha

https://github.com/oracle/graaljs/commits?author=styfle

No, not really a fork. GraalJS is a new independent from-scratch implementation of JavaScript. It uses a pair of radically different execution and optimisation techniques known as self-specialising-ASTs, and partial evaluation, and runs on the JVM.

But a sibling project, Graal-Node.js, does include vendored code from Node.js in order to be compatible with Node.js applications. That's where the commits come from I'd guess.

Compare:

https://github.com/oracle/graaljs/tree/master/graal-js

https://github.com/oracle/graaljs/tree/master/graal-nodejs

(comment deleted)