It’s time to free JavaScript (2024)
Naming: JavaScript, ECMAScript, and Alternatives
- Many argue “ECMAScript” is the official name already, but almost nobody uses it in practice; “JavaScript” (or “JS”) is entrenched.
- Strong dislike for “ECMAScript” on aesthetics: hard to pronounce, sounds like “eczema,” meaningless to most people.
- Several suggest simply using “JS” (like HTML/CSS acronyms) or renaming to something like WebScript, LiveScript (original name), JayScript, JoyScript, etc., ideally preserving the “JS” initials.
- Others think any renaming attempt is 20 years too late and would only add confusion; JavaScript is now more widely recognized than Java in many circles.
Oracle’s Trademark: Risk, Use, and Cancellation
- Concern centers on Oracle’s reputation as aggressive and litigious: fear they could someday monetize the JavaScript mark (as with Java) or create FUD that chills projects using “JavaScript” in names.
- At least one concrete example is cited of a “Rust for JavaScript developers” book receiving a cease-and-desist.
- Some argue the mark is effectively abandoned and should be cancelled; others say proving “no intent to resume use” is nearly impossible and the effort is “fantasy.”
- Trademark lawyers in the thread point out nominative fair use: calling the language “JavaScript” is likely safe; real risk is for product branding.
- A minority worries Deno’s challenge could backfire and push Oracle into more active enforcement.
Deno’s Campaign: Motivations and Value
- Split views:
- Supporters see removing legal/FUD friction as a genuine public good and accept that it also markets Deno.
- Skeptics see it primarily as a PR stunt by a VC-backed runtime with limited ecosystem influence, arguing it doesn’t address more pressing issues (security, maintainer burnout).
TypeScript, Static Typing, and Alternatives
- Some propose: freeze JS, make TypeScript (or something like it) the “real” browser language; or have browsers run TS directly.
- Objections:
- TypeScript is Microsoft’s trademark; swapping Oracle for Microsoft may not be better.
- TS’s purpose is compile-time checking; surfacing type errors in end-user browsers is not clearly beneficial.
- TS is not a true superset of JS in practice; lots of JS code breaks under TS rules.
- Broader thread: calls for a statically typed, high-performance web language; countered by “which one?” and “that’s what WebAssembly is for,” plus examples like Dart’s failed native experiment.
History and Relationship to Java
- Several recount the origin: LiveScript renamed to JavaScript so Netscape could ride Java’s hype and glue Java applets to web pages via LiveConnect.
- Over time applets died, JS became the application language, and the JavaScript–Java similarity is now mostly historical branding baggage.
Meta: Is This Worth It?
- Some think the whole fight is not worth the energy and that the ecosystem should focus on improving the web platform and reducing framework churn instead.
- Others insist removing Oracle’s dormant legal lever—even if symbolic—is worthwhile to reduce long-term uncertainty and confusion.