JavaScript Needs a New Name

Thursday, August 30, 2007

My favorite programming language, JavaScript, is quite possibly one of the worst named. It really has nothing to do with Java. I promise. Now that the ECMA is working on the next version, code named ES4, JavaScript needs a new brand. Steve Yegge agrees.

So what makes a good brand? Well I’m no branding specialist, but there are a few things that seem obvious. First, it has to be unique and recognizable. You won’t get anywhere fast (other than maybe a courtroom) by naming your programming language Coca-Cola 1.0. Also, when someone is searching for code examples or a reference guide online, they shouldn’t have to wade through tons of common search results because you picked a common word, like “pillow” or “clean”. You need to venture at least a little bit outside of the realm of daily words.

Next, it should be short. Try this: say “Java”, “Ruby”, “Python”, “Lisp”. Fun, isn’t it? Now try these: “C plus plus”, “Objective Modula-2”, “Virtual Pascal”, “Turbo Prolog” or “ECMAScript”. Yeah, not so much. If you want your language to be talked about and understood, the name should be short. That last one is the internal name for JavaScript’s specification at the ECMA. How do you even pronounce that? This brings me to the next point.

It should be easy to pronounce! “Ruby” — easy; “Java” — easy; “ECMAScript” — what?; “Visual DialogScript” — it’s good for tongue exercises, I guess. Again, in order for people to talk about your language it should be not only short, but easily pronounced. This also applies to homophones and the ease of spelling a name. Which do you think is more easily transcribed from a phone into a search box: “VBC 3” or “Ruby”?

After this the list gets a lot more murky, but there are things to learn from past brands. It’s great if the name brings to mind some preexisting imagery, assuming it’s good imagery. “Murder” probably isn’t great for branding a programming language, but “Python”? Sure. Some people are afraid of snakes but they’ll just have to deal.

It should be obvious that language names without seemingly random symbols in them should be preferred to their complicated counterparts. I mean really, “C#”? My guess is that it’s probably not the best idea to introduce a brand name that contains symbols which have to be learned before they can be pronounced (# is “sharp” in this case). How about occam-π? I wish I were making this up.

After all of this talk I’m rapidly convincing myself that “Ruby” is quite possibly the best name ever among popular programming languages. It’s unique enough for searchability and name recognition in a context, it’s short, it’s easily pronounced and spelled, it contains no random symbols and it brings to mind a precious, shiny red stone. Awesome.

So these guidelines might be somewhat reasonable for creating a brand. What are some names that would be good for JavaScript 2.0’s seat at the Big Boys’ Table of programming languages as it comes out of the browser sandbox and into its own? Well this is where you start commenting with ideas, but I’ll start the list off with a few (thanks to my girlfriend):

  • Nebula
  • Nova
  • Pretzel
written by Brad Fults

Archived at: http://h3h.net/2007/08/javascript-needs-a-new-name/

32 responses

  1. Bethany

    I wish to state for the record that I was really just throwing things out there. JS’s good features include (according to Brad) its flexibility and that it’s “uh… fun?” Flexible + fun = a pretzel, or maybe a stripper.

  2. Nik Kantar

    Out of the three you mentioned I vote for Pretzel. Nebula and Nova are rather generic while Pretzel evokes an interested giggle.

    On a similar note, while Stripper is certainly an amusing prospect, would it harm the language’s acceptance? Sadly, politics wields its way into everything these days, and it sometimes costs the world a neat bit of humor.

    However, what about naming the language after some of its differences from its predecessor? Maybe JS2 is leaner, faster, so we can call it Cheetah? OK, fine, it’s cheesy, but I’m not very experienced in naming programming languages. It’s still better than The Programming Language Formerly Known as JavaScript – The PLFKaJS.

  3. Chris Bennett

    Interesting. I completely agree that JavaScript is not a very apt name.

    It’s also interesting to look at the naming conventions for languages thus far:

    -Iterative (A, B, C)
    -Acronymic (BASIC, Perl, PHP, COBOL, ECMAScript*)
    -Modified (C++, C#, Objective-C)
    -Human names (Ada, Pascal)
    -”Things” (Python, Eiffel, Java)

    As it is, JavaScript embraces both modified and “things” naming convention, despite the fact that JS is hardly a modification of Java.

    I propose iterating on “Java”, keeping with the “thing” convention. The name should encapsulate both a paradigm shift (ECMAScript is not Java) and “evolution” (ECMAScript 3 is inferior to 4).

    In the “thing” realm, Java is both a beverage and a location. I propose staying in that grain, but what else is both a distinctly different beverage from coffee, and a geographical location?

    Ceylon.

    A tea, and the former name of Sri Lanka.

    My mental model of tea and coffee places them at opposing sides of popular caffeinated drinks, helping support a logical separation between ECMAScript and Java.

    Also, it turns out that Ceylon was grown as a result of a failed coffee crop, hinting towards an “evolution” theme.

    I also wonder if more programmers are drinking tea rather than coffee beverages these days.

    Just some tea for thought.

  4. Phil

    How about JS2? it simple, easy to remember and people will easily associate it with JavaScript. Ok its not as nice to say as Ruby but at least people know what it is and its no worse than C++!

  5. Brad Fults

    I appreciate the depth of thought behind your suggestion, Chris. One potential problem I see with “Ceylon” is its spelling. You can’t really hear it on the phone and immediately know how to spell it. Maybe it’s unique enough that it wouldn’t matter. Also, is a beverage a good mascot? I think Ruby and Python have much richer imagery than Java. After all, who wants to be a coffee (or tea) cup?

    As for “JS2”, I see several problems. First, it’s still “JavaScript”, just put in acronym form, so people will still expand it to its full name and there will still be the confusion and inferiority complex with Java. Second, it has a version in its name, which has proved, I think, to always be a bad idea. This means the name of the root language would just be “JS” which doesn’t seem unique or strong enough to carry an entire language brand (hence the fallback to its full and current name).

    I really think JavaScript needs to take a branding lesson from GTE and go in a completely new direction, replete with logo, branding image and colors, fonts, etc. For better or worse, ruby-lang.org has a style, as does python.org.

  6. David Stone

    How about “Awesome”? :-D

    It’s short, sweet, and totally describes that sexy JS goodness. :)

  7. Chris Zumbrunn

    Been there, done that: What is Mocha?

    I used to think that the Javascript name will always drag the language down, that it will be an obstacle that can’t be overcome and that the only hope was to switch to the original “Mocha” project name instead. Since then I changed my mind, though. I think the whole Ajax-Hype showed that the perception of Javascript *can* change.

    I still like “Mocha” as an option, though, and I also think just shortening it to “JS” would make a lot of sense. Or just drop the Java bit and call it “Script”.

  8. McKinley

    Call the language Ajax. Really, that is the best option. Rename actual Ajax to “Ajax Request/Response” or “Ajax HTTP”, but let’s grab the name for the entire language.

    You’re welcome!

  9. jc

    Oh please… yes! The absolute worst thing about Javascript is googling for it and getting horrendously crap search results with code and ideas from 1999.

    Change the name… to anything! Anything different and unique.

  10. FlySwat

    I suggest that you wrap the two things that it is into its name.

    So I would say ProtoTyped Based Scripting should become:

    ProtoScript.

  11. Charles

    <nitpick>Chris Bennett: Perl is not an acronym, it’s a bacronym.</nitpick>

  12. EG

    What about “David” as in “David & Goliath”? David was small and beat the mighty Goliath. JavaScript is “smaller” than Java, C, and C++, but is great for what it’s for.

    “Let’s use David for that.”
    “David can do it.”
    “We’re using David for this project as well.”

    People will think we’re talking about an employee or contractor.

  13. federico

    I’m used in seeing things having their name changed when fans realize there are many bad things to sweep under the carpet.
    Let it be “JavaScript”. Let everyone remember their headaches when using it

  14. wekempf

    JavaScript is already renamed. It’s ECMA Script now. Of course, everyone still calls it JavaScript. Granted, ECMA Script isn’t a very good name, but somehow I think no matter what you call it, people will still call it JavaScript. So, good luck with that.

  15. GhettoJava

    I have 2 that come mind.
    A good one:
    “BrowserScript” (isn’t that was it has really been for all these years?)
    and plain ole badass name:
    “Bullet”
    Better start the process soon before some other language grabs it.

  16. LM

    How about:

    “Scrap”

  17. zwetan

    very interesting subject :)

    about “mocha”, I like the name but it would be like going back in the past to use it, but well sometimes project names are way better than official names

    about renaming “javascript” – > “ajax”, no f*** way, don’t get dragged too much by the hype!
    even if the idea of using an acronyme as a name could be interesting, but sorry for me no way to call it “ajax”

    maybe some food for thoughts

    - the name should definitively be able to be associated with a number, there are so many different versions and implementation of ECMAScript (some ECMAScript 5 specs even maybe)

    - if no new name is adopted we gonna end up with AS3, JS2, ES4, which are based on the same spec but with different numbers, this can confuse people even more

    - the other thing people don’t see is the word “script” will almost make no more sens with the adoption of the Tamarin VM which interpret bytecode, not script, I mean in the end whatever you call it will compile to bytecode

    so to try to be logic, the standard should be able to convey the version number (ECMAScript 4 for a short of ECMA-262 ed 4, etc.)
    but to not confuse people the name should not convey that version number

    ex
    - I’m using Python
    - which version ?
    - oh Python 2.4

    but even if a name was found just to define a version number could be quite a challenge (cf: ActionScript1, ActionScript2, ActionScript3, JavaScript1.5, JavaScript2, JScript5.6, JScript5.7, JScript.NET, managed JScript, etc.)

    I have no particular name to propose, but considering some project names as SpiderMonkey, Tamarin, ActionMonkey, ScreamingMonkey, etc.

    if the language were named “monkey”,
    it could do :)

    cf
    v. mon·keyed, mon·key·ing, mon·keys
    1. To play, fiddle, trifle, or tamper with something.

    and for the logo it could go in the direction of the “three wise monkeys” (”seeno evil”, etc.)

    a LOT of imaginary things to play with :)

  18. D.J. Capelis

    I like the name pipecleaner.

  19. Swaroop

    How about

    JACE

    in the memory of the old “JS” and with the same pronunciation. !

  20. Casey Wise

    McKinley, I like Ajax for a name too. Reassign the acronym (ala PHP) and you’re gonna be able to tie in with old JavaScript when googling while minding the new wildy popular techniques and “rebirtth”. JavaScript’s transcending what it was right now and definitely needs a new name, Ajax is a natural fit and sounds really cool.

  21. Brad Fults

    Best suggestions so far (I think): Pretzel, Ajax, Mocha.

    Though I don’t think Ajax would need to be an acronym at all. It’s fine as just a name.

    <recursive-nitpick>Charles: It’s “backronym”.</recursive-nitpick>

  22. zwetan

    if people go for “JACE”
    then I would suggest
    “ACE”
    (from AS, ActionScript, one of the many implementation of the standard)

  23. Betty Flawless

    Why not ASS as in Asynchronous Scripting Solution?

    hmmm, c’mon, works no?

    Just think of the marketing:

    “Poor performance? Get ASS and pick things right up!”

    Winner I think ;-)

  24. Wabbitseason

    Pepper.

    It’s small, hot & powerful and can spice up things.

    It’s also dangerous in the wrong hands.

  25. amon

    At first: who does not know what is “Javascript”? I think, everybody knows this brand! Why we would change a very popular and known brand?

    At second: Javascript is born from Java. Built from that. But it’s a script language. Why could not to be named Javascript?

    Everybody calls this thing Javascript, and nobody calls “ECMAScript”. It says everything about these brands.

  26. Gábor

    May choose the original name of JS, LiveScript.

    JavaScript initialy started out as a scripting language being developed by Netscape called LiveScript in the Navigator 2.0 beta version of the browser. This language did not pick up much until Sun Microsystems’ Java programming language became popular and Netscape changed the name to JavaScript. (The JavaScript Programming Language)

  27. h3h.net - New Print Stylesheet

    [...] results by printing (duh) or just appending ?printonly=1 onto the end of any post URL on this site. Like so. [...]

  28. Samuel Moshe

    Don’t call it Nova.
    They called a car the Nova once, and no spanish speakers would touch it. Apparently it sounds a lot like the words meaning “doesn’t go.” Not the kind of thing you want to put on top of a language like js.

    I’ve got one: How about Mystic?

    Js has helped me figure out the zen of programming. I’m sure it has with a lot of other people too. :)

  29. Keilaron

    They called a car the Nova once, and no spanish speakers would touch it. Apparently it sounds a lot like the words meaning “doesn’t go.” Not the kind of thing you want to put on top of a language like js.

    URBAN LEGEND!
    Nova means the same thing in Spanish as it does in English. In fact, it even means the same thing in French!
    This myth/UL probably arose from the fact that if you split it into ‘no’ and ‘va’ it technically (in the sense BAD TRANSLATIONS or BAD GRAMMAR) does mean that.

  30. Mikkel Lund

    The original name LiveScript would be a good idea.

    But I personally like Jace the most. A nice way to implement the old name, and a slick way to call it something short, unique and easy to say.

    Ajax is the stupidiest suggestion yet. That’s as bad as calling JavaScript so because of Java…

  31. AnirudhVyas

    I was thinking of something like FuncObjScript or FPOOScript or some hybrid name, Since js embraces functional programming paradigm as well as oop paradigm (well you can simulate it, so it works), but i hear that ECMA 4 (I believe) will have a lot of of type checking etc, features we have come to love in most of the other languages.

    Regards
    Vyas, Anirudh

  32. flamedlover

    I vote for livescript

  33. Comment Preview