JS Party ā€“ Episode #101

Should we rebrand JavaScript?

YepNope: Divya & Jerod vs Chris & KBall

All Episodes

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

šŸ“ Edit Notes

Transcript

šŸ“ Edit Transcript

Changelog

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ā€¦ā€

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.

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ā€¦

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.

[20:04] But Java could be coffee, right? So it could mean other thingsā€¦

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.

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.

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.

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.ā€

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, 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?

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?

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ā€¦

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ā€¦

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ā€¦?

[44:10] Australia.

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?!ā€

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. šŸ’š

Player art
  0:00 / 0:00