Weāre back with another #YepNope episode, this time debating whether or not JavaScript needs to be rebranded. This premise was inspired by Kieran Pottsā article of the same name. Divya/Jerod represent Team Yep and Chris/KBall represent Team Nope. Nick, as always, represents Team Type Script š
Featuring
Sponsors
Rollbar ā We move fast and fix things because of Rollbar. Resolve errors in minutes. Deploy with confidence. Learn more at rollbar.com/changelog.
DigitalOcean ā The simplest cloud platform for developers and teams Whether youāre running one virtual machine or ten thousand, makes managing your infrastructure too easy. Get started for free with a $50 credit. Learn more at do.co/changelog.
The Brave Browser ā Browse the web up to 8x faster than Chrome and Safari, block ads and trackers by default, and reward your favorite creators with the built-in Basic Attention Token. Download Brave for free and give tipping a try right here on changelog.com.
Notes & Links
Transcript
Play the audio to listen along while you enjoy the transcript. š§
Hello, and welcome to Mocha Party! Oh, waitā¦ No, that doesnāt sound right. Hello, and welcome to ECMA Party! No, not that eitherā¦ Hello, and welcome to WebJS Party! Hmā¦ I donāt know where weāre going with this, but todayās episode we are going to be debating whether JavaScript should be rebranded.
As you may or may not know, there is a long, complicated history to the actual name of the language that we all love here on this party, and it has some interesting roots, where it was originally internally called Mocha, but then they wanted to ride the coattails of the popularity of Java back at the time, so it was renamed to JavaScript. But now, itās technically ECMAScript, even though none of us really even write straight JavaScript anymore, whether thatās TypeScript, or using Babel to do something else that isnāt an in-between that with JSXā¦ Weāre kind of writing this language that almost looks like JavaScript, all the time.
So should JavaScript be rebranded? Today weāre gonna be debating that. Iāll be your host, Nick Nisi, and your moderator as well. On the Yep team we have Divyaā¦
Hey, heyā¦!
ā¦and Jerod.
Yep-yep!
And on the Nope team weāve got Kballā¦
Hello, helloā¦!
And Chris, a.k.a. b0neskull.
Happy Halloween!
We are recording on Halloween, so this will be a spooky episode, even though you wonāt hear it until the week afterā¦ So Happy Halloween to everybody out there, and letās dive right into it.
Well, hold on, hold onā¦ Because Iāve just had a realization. Somehow this never hit me on our previous debates, but YepNope - our mascot should be the Yip Yips. [laughter]
I have no idea what youāre talking aboutā¦
Yeahā¦ Way over my head.
Itās like the Muppets. They go āYip-yip-yip-yip-yipā¦ā
Ohā¦!
They go āYip. Yip-yip-yip-yipā¦ā and then they ask them some questions and theyāre like āNope. Nope-nope-nope-nopeā¦ā
Thereās also a character that goes āMe-me-me-me!ā, right?
Iāll have to google that.
[The Yip Yips sample]
I will find a link to that.
And then they try to mimic different sounds, like the telephoneā¦
[04:03] Yes, itās kind of amazing, and I am absolutely shocked that yāall are not familiar.
Classic.
Itās been a while since Iāve watched the Muppets.
Me too. I mean, I like the Muppets as much as the next guyā¦
āI like the Muppetsā¦ā [laughs]
I havenāt watched Muppets, but that clip is hilariousā¦
I just wanna compliment Kball on his uncanny ability to completely derail the show before it even startsā¦ [laughter]
Totally. So what were we talking about? Whether we should have the Muppet Party, orā¦ Yeah, noā¦
Yip-yip!
Yip-yip!
Yip-yip-yip-yip-yipā¦
Youāre on the Nope team, Kballā¦ [laughs]
Oh, my bad.
Getting into thisā¦ I guess, letās just dive right in. Actually, before we do - and I will turn it over to Divya to argue the Yip-Yip side on whether or not JavaScript should be rebrandedā¦ But I totally am stealing an idea from you, Divya, and Iām sorryā¦ I listened recently to the last YepNope episode with you, and you had an awesome Haiku about JavaScript toolingā¦ So Iām completely ripping that off with a limerick about todayās topic.
Yes!
Niceā¦
And that is āShould JavaScript be rebranded? Does that seem too heavy-handed? Weāre going to debate, consider its fate, while not leaving users stranded.ā
I love that. Thatās great.
Thank you.
Thatās beautiful.
Thatās all I have to contribute as the moderator. [laughter]
Great, then I donāt have to make a limerick. I didnāt.
[laughs]
Yeah, not fair. You stole my argument. [laughter]
But Feross ā was it Feross who broke it down? I forget who it was. It was my entire limerickā¦ Or maybe it was Adamā¦ Totally tore it apart.
Oh, it was Mikeal.
Mikeal, yes! He tore it apart. Itās fine.
Well, on that note, letās dive right in. Divya, do you wanna start us off with your argument for why JavaScript should be rebranded?
Sure, I can take it away. I will begin. Itās four minutes, right? I should time myselfā¦
Yes, four minutes.
Okay, so the premise being āShould JavaScript be rebranded?ā, and I represent the team Yep. Similar to how American football is actually less feet and more hand, JavaScript should be renamed, because itās less Java and more web. Similar to what Nick mentioned earlier, with the various namings of it, whether JavaScript should be called WebScript, or something else, is a valid point, because JavaScript often gets conflated with Java.
Many of us being web developers, have gotten the very common email from recruiters asking us whether or not weāre interested in a job in Java because of our extensive experience with Java, supposedlyā¦ But this often is a case where people tend to think that JavaScript includes Java, or is a subset of Java, which is completely untrue.
So the naming itself causes a lot of confusion, especially for those who are not super-technical and not in the technical community itselfā¦ The thing being JavaScript also, as Nick mentioned, is an incredibly fractured community. Not only are we not writing JavaScript as is, many of us donāt write vanilla JavaScript anymore; we write different flavors of JavaScript. There is React.js, which is now called React; I donāt think anyone calls it React.js. Thereās Vue.js, which is a Vue flavor of JavaScriptā¦ Thereās Angular, thereās Ember, thereās all these different frameworks, and so all of us are no longer writing JavaScript in the same way that you would if you write vanilla JavaScript. No one is always Document.querySelector(), everyone is using their flavor of things, and interacting with the DOM that way.
[07:53] So the fracturing of the JavaScript community ā and this is not even to say TypeScript comes inā¦ Because TypeScript completely fractures the community. So the framework kind of gives pockets of people who are still interacting with JavaScriptā¦ But the moment we think about TypeScript, that completely moves JavaScript in a completely different directionā¦ Because JavaScript by definition is dynamically-typed, and with TypeScript it adds a type system to a language that doesnāt have any types. So in a sense, there is this split in a community - thereās the people who are very anti-TypeScript, and then there are people who are very pro-TypeScript. This fissure thatās happening already comes to the fore and questions whether or not the term JavaScript actually fully encapsulates the communityā¦ Because TypeScript still uses JavaScript, it just adds types on top of it.
So should we now rename JavaScript to something else? There are many alternatives out there. Thereās ā I think some people call it Mocha, which is what it was called beforeā¦ I think it was called LiveScript at one pointā¦ But thereās also various fun interpretations of it, such as a [unintelligible 00:08:58.10] depending on the language that you speakā¦ And then thereās JawaScript, so itās not JavaScript; thereās EichenScript, because of Brendan Eichā¦ And then thereās also this concept of ECMAScript, which is technically JavaScriptā¦ Very confusing; similar to the confusion earlier with Java and JavaScript, thereās a confusion around why is the community that federates or talks about the standards for JavaScript called ECMAā¦ I mean, sure, thereās naming and thereās a lot of history around that, but thereās often confusion, because ECMAScript is technically JavaScript, but then thereās TC39, which is the governing body for pushing standards forwardā¦
All of this confusion leads to the community not being sure what exactly is happening, at what point. So it is indeed valid, and it is a point that we should consider, to rename JavaScript to bring that unity back, so that all of us are aware of what weāre doing whenever we say we write JavaScript.
Very good, with five seconds to spare. Alrightā¦ Chris, your rebuttal.
Soā¦ Whatās the end goal here? If the end goal of renaming ā if youāre a company and you wanna rebrand, well why do you rebrand there? There are many reasons for it. But in the case of JavaScript here, it seems to me that you would want to rebrand JavaScript to something else to (I donāt know) increase adoption of JavaScript? Is that a problem? Do we need to worry about JavaScript adoption? Do we need to worry about recruiters getting confused? I donāt think thatās an issue.
It seems to me that we have all these different frameworks, and just like any other language, Java itself has Spring, it has all sorts of different frameworks and flavorsā¦ Essentially, itās still all one language. Thereās only one JavaScript, thereās the ECMAScript standard, and you will use it insofar as what your transpiler supports, what your target browsers supportā¦ But in the end, itās really all JavaScript. I donāt see any reason to make 50 different names for this stuff, depending on what particular feature youāre using, or where youāre deploying it, or what framework youāre usingā¦ I think that would actually make the problem much worse.
So to Divyaās point - she said āWe want to bring everything back together, and have that unity.ā Well, we do. We all write JavaScript, right? ā¦insofar as the naming of it and the confusion around ECMAScript, because Oracle owns the trademark to JavaScript, I would imagine that if ECMAScript could call it JavaScript, they would. But they canāt, because Oracle owns the trademark, so they had to come up with a different name.
[12:01] JavaScript is ECMAScript, as JavaScript is ECMAScript. Thereās one languageā¦ So I donāt see it as being necessary to rebrand. This is kind of a solution in search of a problem. Thereās really no good reason in my mind to do it.
Good points, good points for sure. You make a good point about it not really having a marketing problem, because it is the most popular language in the worldā¦ But what if that changes? What if something like ā I know everybody says it wonāt, but what if a WebAssembly language overtakes JavaScript? Would we need to market it differently then?
Nope. Nope-nope-nope-nopeā¦
Yip-yip-yip-yipā¦
[laughs] Definitely.
Well, let me hop on that bandwagon and maybe steal the floor here for a momentā¦ So Chrisā argument is essentially āIf it aināt broke, donāt fix itā, and Iām here to tell you that it is definitely broken. The hallmark of a bad brand is confusion. In fact, most trademark law is centered around the idea of market confusion. If you go to Wikipedia on JavaScript Wikipedia page, the very first sentence, the one right after āFrom Wikipedia, the free encyclopediaā, it says āNot to be confused with Java, the programming language.ā Later on it talks about the naming - Nick, youāve been through some of that history - and it says āThe final choice of name caused confusion, giving the impression that the language was a spin-off of the Java programming languageā¦ And the choice has been characterized as a marketing ploy by Netscape to give JavaScript the cache of what was then the hot, new web programming language, Java.ā
Iād like to tell a little storyā¦ I had a lunch with an acquaintance on Monday wherein he was asking for advice about breaking into programming, in this industry. This is something I do pretty often nowadays, is advise peopleā¦ And I spent at least 15 minutes of that one-hour lunch explaining to him the difference between Java and JavaScript. Why? Because there is massive confusion around these two programming languages.
Think about how many developers there are, and think about how many developers are coming into our community. Thereās been estimates that the size of the developer ecosystem, or the number of programmers in the world has been doubling every five years. Now, think about that conversation in 2019, 25 years after the name JavaScript was chosen, and weāre still explaining the difference between Java and JavaScript to people who are coming into our communities.
Itās time to end the confusion. Itās time to cut ourselves loose from the rotting corpse that is Java. Itās time to rebrand JavaScript. I rest my case, your honor.
[laughs] Yes, yes!
Okay, so I guess that makes it my turn. I love that yāall are talking about confusion. This reminds me a lot of refactoring code that already works, because itās confusingā¦ And sometimes thatās the right thing to do, and sometimes it just creates a lot more confusion. So JavaScript - yes, the name is non-ideal. Yes, it confuses recruiters. So does every other distinction in the programming world. How many of you have gotten the āHey, long-time freelance we developer, would you be interested in this salaried embedded programming position using C++ in India?ā
I mean, recruiters are always gonna be confused. But if you wanna confuse people, try renaming the most widely-used language in the world. Have you ever tried changing the name of a widely-used piece of code? Now try it again without Find and Replace. Try it again in over one million public packages, downloaded over a billion times a day into who knows how many private applications and packages. This is not gonna reduce confusion, folks. This is gonna ramp confusion up to 11.
[15:58] Not even thinking about the code, what about documentation and past articles? How many millions of articles are already talking about JavaScript? Now every new developer of WebScript, or EichScript, or whatever the heck you wanna call is gonna have to not only look for things in that, but also understand that these other things talking about JavaScript have relevance to them. Theyāre not gonna replace the knowledge, weāre just adding onto the stack with something more and more confusing for new people coming into the industry.
Every one of those recruiters is gonna talk to you āOh, you have JavaScript experience. Well, weāre looking for WebScript, so youāre clearly not applicable.ā This is not gonna make anything better. So I would close with a Haikuā¦ [laughter] Because you all make it possible. āShould we rebrand it? Dāoh, JavaScript is just fine. Stop navel-gazing.ā
Very nice!
Now, what if we could find a middle ground between the two? I think that the Yip Yips are arguing that it should be something potentially drastically different, like Mocha, or LiveScript, a completely new name, and the Nope-Nopes are saying that JavaScript is just fine. But the article that this whole argument is based on actually offers a simple solution, which is why donāt we just call it JS? Drop JavaScript completely, and it just be JS. Or maybe have ServerJS and WebJS as distinctions between the two, between obviously the server side and the client side.
The article argues that just like you donāt really know what PHP stands for, eventually people will forget what JS stood for, but itāll still be this name of a language that matches the file extension that we all use right now, potentially until MJS or something else comes along.
DotTS.
DotTS, yes. I wasnāt gonna go there, but thank youā¦ Now we can go into that. [laughter]
Sorryā¦ Dang it!
Noooā¦!
[laughs]
Well, let me just say, I like the idea, because we will not have to rename our podcast.
That is true.
Thatās true.
So Iām pro. Iām pro JS, for sure. It also happens to share my initials.
Uuhā¦
I like it less now. [laughter]
Yeah, so now it would be the language named for Jerod.
The funny thing is my kids do think that JS Party T-shirt that I wear is because of my initials, and theyāre like āYou have your own party, and a T-shirt about it?ā Iām like, āThatās rightā¦ā
Thatās coolā¦
So with the kids these days now, instead of having to distinguish between Java and JavaScript, looking up what does JS stand for in other places, weād have to distinguish between the language JS and āJust Sayināā¦ā
[laughs] Iāve never heard that.
[laughs] What?! No one says āJS.ā They say ājkā, but āJSāā¦
Whatās āJSā? I didnāt hear it.
āJust Sayināā¦ā
Oh, Iāve never seen that in my life.
I donāt know if thatās aā¦
JS.
The top five results on Google related to meanings of JS have to do with āJust Sayināā¦ā ā no, top four. Then we get down to JavaScript. Oh, it could apparently also mean Joint Service.
Whatās Joint Service?
A military term referring to anything involving all services of the Armed Forces.
Thatās true.
Namespace conflicts are gonna happen, no matter what nameā¦ Youāre not gonna pick a unique name. Now, hereās a name that I thought was terrible - Go. Because thereās so many things named Go. That being said, theyāve solved the search problem by suffixing ālangā at the end, Golang. So you can search āGolangā to find Go-related thingsā¦
And that has never confused anyone.
It works just fineā¦ And they have an awesome mascot in the gopher. This is another problem with the JS brand - we do not have an awesome mascot, because we canāt even get a name figured out, let alone an animal or some sort of creature.
Also, on the logo thing - itās a pretty bland, simple logo. It just has a square and then it had JS in the bottom right cornerā¦ And Iāve actually seen that logo be used at a recruiting firm that had acronyms JS, and they used that as their logo. They were a technical recruiting firm, and I was like āHow do you ā you canāt do thatā¦ā I mean, I donāt think itās trademarked, that logoā¦ But itās annoying, because now you canāt have cute interpretations of it. I mean, you canā¦ Iāve seen ā like, Singapore JS uses the Singapore lion mascot instead of the J in the bottom, in the yellow box. There are ways to do it, but itās pretty plain. I feel like the gopher logo has cuter versions of it.
Also, frameworksā¦ Ember has a really cute little ā I donāt even know what that thing is. Itās like the Ember squirrel, or something. A chipmunkā¦ I donāt know.
I donāt know what it is.
It sounds like instead of rebranding the name of JavaScript, we should just come up with a better logo.
What would you come up with as a logo?
Or a mascot.
A cup of coffee, like with Javaā¦ [laughter] And then a paper next to it, like a scriptā¦
Yeah, but that was like CoffeeScript, isnāt it? Wasnāt CoffeeScript a cup of coffee, and then in the foam it had the logo, or whateverā¦?
No, thatās Java.
Looking around for things, animals starting with J, and possibly Sā¦ What about a Jumping Spider?
Oh, goodnessā¦
Oh, Godā¦ [laughs]
What about a rhino?
Yes, actually the spider would be great!
Alright, Iām switching to team Nope. We should not rebrandā¦ [laughter]
Wait, but the spider would be great, because itās like the webā¦
Uuh, JavaScript is the spider crawling all over and making the webā¦
Yes! I love that.
Alright, Iām getting on board with this.
What about server-side JS though, or IoT?
Yeah, but the server and the web stuff - itās a false dichotomy. Thereās stuff that runs on the web, thereās stuff that runs on Node, thereās stuff that runs in both, thereās stuff that runs on microcontrollers, and all sorts of things. Itās a foolās errand to try to make these boxes for where your JavaScript belongs.
Yeah, but at the same time you would argue that JavaScript was built for the web. Us using it for server and IoT is just trying to fit it to these platforms, even though it was built specifically to run on the web. Essentially, JavaScript was built as the glue for HTML. I think thatās how it was phrased. They needed a way to interact with the DOM.
And Assembly was created for mainframes. The world has moved on.
Thatās true, for sure.
And hence we need a new name, to encapsulate them all. [laughter]
We need to split. It needs to be like āThis is web JavaScript, and then this is serverā¦ā Because there are often cases where someone is like āThis is JavaScriptā, but then theyāre showing Node code, which Iām like āThe Node standards are different from the ECMA standardsā, for example.
Yeah, and that is exactly what the article comes to - ServerJS and WebJS. So youād have WebJS 2020 referring to ES 2020.
Good point, Nick. Yep, letās do it.
[23:58] Also, I wanted to say something to your confusion point about renaming being really hardā¦ So JavaScript renames all the time, because theyāre like āES2015ā, and then āES2016ā, or like ES5, and then ES6ā¦ And then they were like āNow we name by yearsā, which is very confusing, because Iām pretty sure people still say ES6, even though itās ES2015. Thereās this fissure that happens, so Iām like āJavaScript already renames itself every so oftenā¦ So what is the difference if we were to just rebrand it completely?ā People are already expecting it. [laughter]
And to your point about technical articles going out of date - technical articles by nature expire within a couple of months. Theyāre not valid, because the standards move forward, and itās just the nature of it. [laughter]
Okay, what about the books then?
Well, books are the same. Books are the exact same thing.
Noā¦
If you write a technical book, that book is probably not gonna be up to date the moment itās published. 100%. I have not written a book; I know a lot of people who have, and they put a lot of work into writing it. Not to discount that work, but the complaint generally is that from the time of writing it to go through the publication process, by the time itās published and out into the world, lots of things have changed and they need to make updates, which is why Manning created the early release version; as youāre writing the book, you can release it, so people get to see the content as youāre writing it, so itās always up to standard, and then you can always make updates as it goes. But thatās generally the nature of writing technical content - youāre never always gonna be on point, unless you write in a specific programming language that doesnāt change, for example.
If youāre writing in Python, Python standards donāt change. Yeah, Python is moving from 2 to 3, but arguably, Python 3 will not drastically change. So if you were to write a book on Python 3, the likelihood of that being out of date in a couple of months is very low. But in JavaScript, very high.
I think youāve just made the argument for the resurgence of Perl. I donāt think thatās changed since I was born, and it had the perfect naming because itās a cute name, itās misspelled, so itās not to be confused with pearlsā¦ And yeah, Iām pro Perl Party.
Also, DuckDuckGo is written in Perl. Fun factā¦ I donāt actually know why. I assume it was because all the regex stuff that they have to do. I donāt knowā¦
Speaking of bad names, DuckDuckGo - terrible name.
Yeah.
You canāt say it, like āHey, do you DuckDuckGo that?ā It just doesnāt roll off the tongue.
DDGā¦
DDG is a little better, but stillā¦
Perl is wonderful for write-only code. [laughs] You have to work really hard to do readable code in Perl. Itās not impossibleā¦ I know folks whoāve loved Perl, and do, a lot. Perl was one of the first languages I learnedā¦
Have you written much ES2019 yet?
[laughs]
I donāt keep track, itās all JavaScript.
Itās ECMAScript, actuallyā¦
Itās all confusion.
I just mean with all of the new symbols, and everythingā¦ Thereās a lot of Perl in there. Especially when you went from ES5 to ES2015; there was a bit of a ramp-up time to be able to read the JavaScript that you were accustomed to writing.
This is a question for Divya and Jerodā¦ When someone says JavaScript, are you confused about what theyāre talking about?
I often sometimes think whenever someone says they wrote JavaScript - and Iām just gonna bring up the TypeScript point againā¦ People often are like āI wrote JavaScriptā, and then you look at their code and youāre like āWhy is there types in this?ā and youāre like āOh, itās TypeScript.ā Sure, you can see from the extension, but I think often those two are conflated. Youāre like āJavaScript, TypeScriptā¦ Whatever.ā Or itās like āJavaScript with types, etc.ā And so sometimes itās not clear. And based on my knowledge of the person ā so if Nick were like āHey, do you wanna look at some JavaScript code I wrote?ā Iām like āThereās a high chance itās gonna be TypeScriptā¦ Very high chance.ā [laughs]
You donāt know meā¦!
I know you! [laughter] The easiest way to get on Nickās nerves is to just talk about TypeScript.
Amen! Thatās my MO.
Yeah.
This does raise an interesting questionā¦ Is JavaScript just a language? I mean, we can get very technical and dry, but Iām curious about colloquial usage. Is JavaScript just a language, or is it a runtime? Is JavaScript essentially a build target now? Is it the equivalent of Assembly? There are many types of Assembly out there, but everybody knows āIf Iām writing something, Iām gonna compile it to Assembly.ā
Yeah.
What?! [laughter]
Maybe the question doesnāt make senseā¦ [laughter]
Oh, perfect response. [laughter]
If JavaScript can also mean TypeScript, and it can meanā¦
JSX.
ā¦JSX, and it can mean anything compilable by Babel into JavaScript. And maybe it can mean Elm, maybe it can mean ClojureScript. When you say JavaScript, is it anything that can compile down to the language interpreted by the browser, which is currently JavaScript?
Is there anything else that we talk about that way?
Assembly was the one that I was thinking.
So are you thinking if you were to write something in C and then compile it to Assembly or WASM, is that JavaScript? Is that the question?
That wasnāt quite where I was going, but thatās a natural extension. I kind of like it.
Iām confused.
Is everything JavaScript? Has this world just becomeā
JavaScript is eating the world. Is that what youāre saying?
Yeah, JavaScript is eating the world, if it runs with JavaScript.
If I write C and it compiles down to Assembly, I didnāt say I wrote Assembly.
Thatās true. So why do we do that for JavaScript and TypeScript?
Do we?
Apparentlyā¦ According to Divya.
But TypeScript is a superset of JavaScript. So thereās a distinction there, versus something like ClojureScript, or CoffeeScript, where itās not really the same syntax. With TypeScript it is the same syntax, itās just with some additional stuff.
And very hard to read, alsoā¦ [laughs] [unintelligible 00:31:23.07]
Iām not going there, Iām not going thereā¦ [laughs]
But I agree. I think definitely certain things like ClojureScript and ā itās very different. Similar to Elm. Elm is considered in the JavaScript ecosystem. I donāt think Elm has been talked about as outside of it. So when we talk about frameworks, Elm kind of gets thrown in sometimes, but when youāre writing Elm, itās not like writing JavaScript. It compiles down to JavaScript. Even though theyāre part of the JavaScript ā it doesnāt make sense.
[32:00] I think itās crazyā¦ Because Iām like āWhenever you write Elm, it doesnāt look like JavaScriptā, and youāre using the compiler to compile to JavaScript. So that is a really confusing thing, because when you talk about frameworks in the front-end scope of things - which, front-end generally includes all JavaScript-related things - thatās a huge confusion, because youāre like āOh, you know JavaScript? Youāll be able to pick up Elmā, which is totally not true. I know someone from the Elm community is probably gonna have my neck on Twitter after this gets released, butā¦
I donāt think the Elm folks claim that Elm is JavaScript. I think they claim that itās a front-end framework, and I think thatās a fair claimā¦
Yes. But I think the claim also is that if you know JavaScript, you can pick up Elm, which - Iām not sure if that is a fair statement.
Maybe we should take inspiration from another language - Java - and talk about the virtual machine weāre compiling to, right? Java has the JVM. Maybe we just need to start calling things āThe JS VM.ā
We have a V8, right? The engineā¦ But also, some standards are pulling from Java; thereās the concept of interfaces, which I saw in this TC39 standards, where Iām just like āWhat?! This is a Java thingā, but weāre pulling it into JavaScript. And thereās certain things and elements that are being pulled into the JavaScript language that is inspired by Javaā¦ So thereās a lot of those correlations that happen, and hence the confusion overall.
Rebecca in the chat points out that when you talk about architecture, thereās usually follow-up questions. If you say āIām an architectā, people will ask āWhat kind of architecture do you do?ā So what about when people say āI do JavaScript?ā maybe itās just a matter of follow-up, maybe itās a matter of education. We need to have a larger conversation, because it encompasses so many different things now that it is really hard to just come up with one term, one word, one phrase that will encapsulate all that JavaScript does or is, because it does and is so many things to so many people. So maybe it is just an education problem, and maybe our efforts would be better spent not renaming it, but improving education.
That being said, going back to my conversation on Monday - itās strange, itās unfortunate, with so many people coming into this industry, that weāre 25 years removed from this mistake and weāre still paying for the sins of our fathers, and weāre still having to explain away the confusion all these years later.
Also, how do you think ā so this is my opinion on things as well, just the correlation between JavaScript, the community, and how all of us relate to JavaScript, and then thereās the standards committee, which is TC39ā¦ And I often find thereās a huge gap between the community ā and I know TC39 hates when people bring this up, and theyāre trying to be better about it, but thereās still this hugeā¦
Youāre trying to piss off everybody today, arenāt you, Divya? [laughter]
Itās just, you knowā
TypeScript, Elm, and TC39ā¦
Whateverā¦ [laughter] Iām just gonna continue down this roadā¦
I wonder how much of that is people are just bored stiff of the concept of standards and committeesā¦ Weāve tried to shine a light there a little bit, weāve tried to connect, weāve had episodes on connecting with folks and talking about TC39, and when we ask community members āWhat was your least favorite episode?ā, theyāre like āOh, that standards one, manā¦ That one was terrible. Itās not interesting to talk about standardsā¦ā
Rightā¦
Well, because also if youāre in a committee, thereās a lot of processes ā so the ECMA, TC39 committee has specific ways in which they conduct their meetings, and thereās language and processes, because itās just a general standards boardā¦ So the language that they speak is very different from the average JavaScript developer. So thereās a huge disconnect, because when TC39 has meetings and they talk about things, theyāre so deep down in the weeds in terms of how exactly the JavaScript language works, and the repercussions of specific standards going through to various stageā¦ As opposed to the average JavaScript developer, whoās like āWhy donāt we have this one thing? We should have this.ā
[36:09] So the experiences are very different, and itās really hard to bring those two things together, because also TC39 tends to be ā because itās very much a wider problem, of like the problem of the web and how do we make JavaScript better, so that it encompasses all of the problems you could potentially have when you work with JavaScriptā¦ But it often only includes members of specific companies; itās very large-scale tech companies, like Paypal, and Google, and Microsoft, and all of them have representatives that go there. So the question then becomes āAre they representative of the average developer?ā and oftentimes that answer is noā¦ Because theyāre thinking about things on a different scale. So because of that, thereās also this issue of how they talk to developers. Because if youāre at a level thatās completely different from someone else, it takes a lot for you to bring it down ā or not to bring it down, but to meet someone at their frequency.
I think the issue that weāre having now in the community - this disconnect - is because that gap hasnāt been closed. TC39 is trying to educate, but theyāre educating at a level that the average JavaScript developer is like āThis is not a problem I care aboutā, or āItās not something I feel is tangible.ā Thatās a huge problem, because Iām like āTheyāre supposed to represent us, but we donāt feel representedā, so that causes a lot of disconnect.
Therefore we should rename JavaScript, to solve this problemā¦ [laughter]
I think Chris is just scared we might call it Mocha, and then youād have to have Mocha-Mocha.
Mocha-Mochaā¦
Chris has a dog in this hunt.
Yeah. I think thereās actually a trademark now, so you canāt use it. Sorryā¦
Of Mocha or of JavaScript?
Mocha.
Oh, really? Who owns the trademark for Mocha?
That would be the OpenJS Foundation.
Oh, really?! What?!
Nice. So youāre protected.
Chris got out ahead of you.
That would be fun, because then the OpenJS Foundation would have to rename again, right?
That would be fun. [laughs] The Open Mocha Foundation.
Oh yeah, I talked about renaming in documentation, renaming in packages, renaming in applications, but can you imagine all of these companies that have legal documents that reference JavaScript throughout their things? Once again, if you want to increase confusion and chaos, try renaming one of the most popular things and widely-used things in the world.
You have to get with the times.
Thereās a reason why Coca-Cola is still called Coca-Cola.
Because itās a strong brand, without confusion.
Yeah, exactly.
Oh, without confusionā¦ How much of the Midwest calls everything thatās a soda a Coke? [laughter]
Thatās a strong brand.
I donāt know about thatā¦
People are actually extending it beyond what it even goes to. Like Kleenex. Thatās a strong brand.
Because itās so clear, itās so obvious that Coke is a sodaā¦ So when you use it, people assume. JavaScript has not yet been used as a verb or a noun for various things, so clearly thereās a rebranding problem.
Except TypeScriptā¦
Like, āIām JavaScripting right now. Iām on the JavaScript āā I donāt knowā¦
āIām JavaScripting right nowā¦ā [laughter]
We were just talking about one of the extensions of JavaScript to TypeScript. I think the brand is extremely strong. People are trying to ride the JavaScript brand; increasingly, JavaScript is trying to ride the JavaScript brand, because weāre the popular ones.
The cool kids.
Well, in an effort not to rename everything, letās try to keep our podcast named JS Party, and maybe we can rename JavaScript to PartyScriptā¦
Whaatā¦?
Then we donāt have to rename, and yet not confusion. Itās a PartyScript. Hm? Hm? Hm?
[40:03] If weāre talking names, I like RadScript. [laughter]
Oh, thatās nice.
Radā¦!
Okay, you win.
Yeah, but then weād have the RAMStack, and I donāt know that thatāsā
The RAMStackā¦
RADā¦
I know, but Iām just saying, everything that has a J in it is gonna need to swap then to an Rā¦ And thereās gonna be some interesting acronym-breaking.
Also, I find that the J in multiple languages is pronounced very differently, and so you end up with ā if youāre in a Spanish-speaking country, someone might JavaScript [Havascript]. Even though thatās not always the caseā¦ I think sometimes people just say the English version. But the J is a very confusing letter.
When we look at the majority of the population, it doesnāt use the same letter system anyway. I donāt think that should be a concern. If the majority of people are using iconography because theyāre actually speaking in Mandarin, or theyāre using ā I donāt know what the script is called, but for Hindu, or other thingsā¦ Like, really? Should we be worried about the nuances of how a particular letter in our lettering system works? Probably not.
Well, what else would we talk about then? [laughter]
Itās a very Western-centric view, actuallyā¦ Kidding.
We need a new technical committee to discuss it.
Thatās what we need. One more name to add to the pile. One more protocol.
Maybe we should just boil everything down to a logo, or an icon, and then you canāt even say it.
Prince tried that, and it did not work. The language formally known as JavaScript.
Oh, yes! Yeah, Prince did try that, and no one understood. I mean, yeahā¦
Uuh, can we draw lessons from the Prince renaming for JavaScript? Everyone would just start talking about the language formerly known as JavaScript.
Well, that is a perfect way to end this podcast formally known as JS Partyā¦ [laughter]
Is this gonna be our last episode?
If we rename it, it will be the last episode of this. As a way to send us off then, letās have the Yip Yips, Divya and Jerod, because you are pro renaming - why donāt you tell us what you would rename it to? And it doesnāt have to be anything crazy or silly. It could just be JS, or whateverā¦ And then the Nope-Nopes - letās have you tell us what mascot you would adopt to keep JavaScript.
Well, I think that the article that we referenced by [unintelligible 00:42:28.01] has the correct answer, which is āItās just JS, folks. Itās just JS.ā Keep it simple, keep the extensionā¦ Boom.
You could just say āJuss.ā Jusssā¦ [laughter]
Juss sayināā¦
Itād be like Yes, but Jusssā¦
Jusss! Just say Juss!
Itās Juss!
Thatās our official response. Nick? [laughter]
Perfect. Juss.
Final answer.
Kball and Chris, what would you have as the JavaScript mascot?
Iād like a goat. [laughter]
The Greatest of All Time.
Thatās pretty good. I have a couple of ideas. One is if thereās one thing we learned from this episode, itās that JavaScript is the Coca-Cola of programming languages, so we could go with some sort of knock-off of a soft drinkā¦
Gulp?
Plus, we know ā yeah, it would fit well into Gulp.
Also very unhealthy for youā¦
Plus we know software developers love soft drinksā¦
You canāt argue that JavaScript is unhealthy for us.
No, you can, because you have too much of it, and then your site is bloated, soā¦ Clearlyā¦
[laughs]
Since I love coffee, and it wouldnāt cause any more confusion at all, Iād love it to be like a French press coffeemaker, or something like thatā¦ But really where Iām gonna have to land is the jumping spider, because I think the fun of spiders and the web, and the fact there are land-based spiders that could be our Node spiders, and there are web-based spiders that could be our web stuffā¦ Itās a flexible idea. And plus, who doesnāt love spiders all over their codeā¦?
And itāll take debugging to its true form. [laughs]
Thatās wonderful. Thereās so many layers of this. Your spider is working on debugging the ecosystem.
Yes, letās associate our brand with one of the most despised creatures on all of Earthā¦ [laughter]
Weāve already noted how the JavaScript brand is so strong itās like helping other brands come along nowā¦
So now you wanna rebrand spidersā¦
[laughs]
Recuperate spiders, yeah.
I mean, you could argue that a lot of people are angry at JavaScript. If you talk to other languages, a lot of people are like āOh, you JavaScript peopleā¦ Blah-blah-blah. Such a fracture communityā¦ā So yeah, I feel like the spider would basically take that into account. [laughs]
Strong argument.
I think it should be a goose. Thatās where Iāll leave it. Thank you, that was wonderfulā¦ [laughter]
āThatās where Iāll leave itā¦ā [laughs]
Like Untitled Goose Game goose?
Like Untitled Goose Game, because itāsā¦
Yeah, I could get behind thatā¦
ā¦itās adorable, yet annoying, and so much fun to play with. [laughter]
Somehow Nick wins the day. Goose it is, folksā¦
Heās just trying to goose up listensā¦
Uuhā¦ I love that.
Andā¦ Kball killed the podcast. [laughter]
Chris mic-dropped me. [laughter]
That āWhat?!ā Oh, my Godā¦
I was gonna say, I wish we had the video for folks, because Chris just leaning back, vaping, and heās like āAre either of you confused when I say JavaScript?ā Iām like, āOh, my goshā¦ Heās just owning us over there.ā
I just want to save that soundbite, of Chris saying āWhat?!ā And then in future episodes just intersperse it in the podcast. [laughs]
That is a soundboard moment, for sure. āWhat?!ā [laughter]
One hundred percentā¦ One hundred percent. And you could just do that as a cut.
Oh, yeah.
You could put something in before it. Somebody says somebody, and then you go āWhat?!ā
Our transcripts are open source on GitHub. Improvements are welcome. š