🦏 Mozilla Rhino JS makes me scream 😱

Adam Crockett 🌀 - Apr 22 '21 - - Dev Community

Rhino is not JavaScript in my book.

Ouch that's a bold claim, what is it then?

Pure disparity, kidding let's dive in.

Before node.js was a twinkle in Ryan Dhal (the man who by extension paid for my house and car) we have had several efforts to bring JavaScript to the server side and most notably Java.

Java has always had a wired fetish for JavaScript either by trying to replace it in the browser or even run it on the serverside, like it was trying to swap places 🤷‍♂️ yes that's right Mozilla created Rhino JS 🦏 way back when.

Rhino is basically a JavaScript engine which has interoperability with Java, aka your airquote "JavaScript" can access Java and do Java things... Except time moves on, we have node now and a thriving ecosystem, in fact time has move on again, deno is billed to be the next big thing, but Rhino what's that?

Well let's dig into the issues other than its obsolete.
Rhino was supposed to be replaced by nashorn the ES6 compliant Java based engine... But somehow that was scrapped and Rhino as things go In Java land, un-deprecated itself!

Rhino has no active maintenance and yet plenty of active projects including any product using Adobe experience manager CMS running this ticking timebomb

You can't even hire js engineers because the have be as old as me and know es5 really well and a bit of ES6 but maybe 2% of it plus Java, it's useless.

What is scripting historicaly speaking? It's hiring non programmers to write Lua for c, it's inventing a language to handle higher level operations without compiling, it's an easier way to extend a subset of your program, does Rhino do this? No because java inside JavaScript isn't flawless, it introduces such awful situations as Java String casting to String, if you hadn't been bitten by this error, you would have no idea why your perfectly normal looking program doesn't work. But even debugging is a pain!!

Graal VM you are much more up to the job with your node.js running Java directly, I employee you, don't use Rhino, use Graal VM and enjoy a polyglot stack that everyone will enjoy.

...😂🦏😬

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .