Remix.run Logo
sheept 3 days ago

It's pretty interesting that while both languages still receive new features, Java seems to stay ahead of JavaScript:

- Java has long had a modern replacement for Date, while JavaScript's recently standardized Temporal API still isn't supported in Safari.

- Java has switch expressions, while JavaScript, despite its Scheme influence, does not.

- And now Java is getting value objects, while JavaScript's equivalent tuples & records proposal has been withdrawn.[0]

JavaScript was not developed as a fork of Java, but much of its basic syntax still resembles Java, so I think it's fair to compare them.

[0]: https://github.com/tc39/proposal-record-tuple

ivolimmen 3 days ago | parent | next [-]

I personally would never compare the two. Someone said: java to JavaScript is like car to carpet. And I completely agree with that.

germandiago 3 days ago | parent | next [-]

Reminds me of one of C++'s talks from Andrei Alexandrescu:

"std::allocator is to allocation what std::vector is to vexation".

There was another transparency inside:

"std::allocator is to allocation what alligator is to allegation".

kleiba2 3 days ago | parent | prev | next [-]

> Someone said: java to JavaScript is like car to carpet.

You mean the sibling who commented five minutes before you?

Yokolos 3 days ago | parent [-]

The saying has been in use since at least 2018, so I think "someone" is accurate.

https://www.keycdn.com/support/difference-between-java-and-j...

inigyou 3 days ago | parent | prev [-]

as ham is to hamster

inigyou 2 days ago | parent [-]

as ant is to antidisestablishmentarianism

hawk_ 3 days ago | parent | prev | next [-]

Java is to JavaScript what a Car is to Carpet. Very different beasts, though a lot of V8 work was inspired by Hotspot that's just because of common VM patterns not the syntax of the languages.

nalekberov 3 days ago | parent | prev | next [-]

> JavaScript was not developed as a fork of Java, but much of its basic syntax still resembles Java, so I think it's fair to compare them.

It's absolutely irrelevant to compare these two languages. Calling the former "Javascript" was just a marketing trick.

cesarb 2 days ago | parent | next [-]

> It's absolutely irrelevant to compare these two languages. Calling the former "Javascript" was just a marketing trick.

Playing devil's advocate: back when you still could use Java in the browser, you could use Javascript to script your Java applets.

inigyou 3 days ago | parent | prev [-]

The original version was Scheme, but they made it look like Java for marketing, too.

ErenayDev 3 days ago | parent | prev | next [-]

> Java has long had a modern replacement for Date, while JavaScript's recently standardized Temporal API still isn't supported in Safari.

i think Temporal API added in latest preview version of safari.

https://webkit.org/blog/18182/release-notes-for-safari-techn...

grishka 3 days ago | parent | prev | next [-]

JavaScript still doesn't have proper integers.

Altern4tiveAcc 3 days ago | parent | prev | next [-]

The withdrawn of that proposal made me so sad. It would be amazing for JS as language, specially with certain use cases.

LoganDark 3 days ago | parent | prev [-]

I've been annoyed too by the lack of Temporal support in Safari. It's supposedly behind a --useTemporal flag, but I've never been able to get flags to work even when launching the binary directly, and I can't find anything in developer options or feature flags settings either so like. Does it even exist at all??

dwaite 3 days ago | parent [-]

It is enabled by default in STP, so presumably it will launch alongside the 27 releases.

Note Temporal was in the Ecmascript 2026 release back in March.