Episode 48

048 JSJ Why JavaScript Is Hard


February 22nd, 2013

1 hr 3 mins 37 secs

Your Hosts

About this Episode


Joe Eames (twitter github blog)
Tim Caswell (twitter github howtonode.org)
Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
AJ O’Neal (twitter github blog)

00:56 - Why JavaScript is hard to learn

02:30 - This

05:30 - Bind

09:11 - Browsers

11:01 - Class-based inheritance

Prototypal inheritance

16:37 - New function

18:51 - Closures

20:51 - JavaScript is asynchronous

22:14 - Variable scoping


26:14 - Numbers and math

(AJ joins the podcast)
== ’s vs === ’s

32:15 - Things that make JavaScript hard after learning JavaScript

Package management

35:06 - Numbers (cont’d)

Bitwise operations
Effective JavaScript by David Herman
044 JSJ Book Club: Effective JavaScript with David Herman

40:16 - Changing/Evolving JavaScript

43:31 - Environmental reasons that make JavaScript Hard


48:25 - Few projects are primarily JavaScript

49:07 - Adolescence and the JavaScript Ecosystem

53:59 - Running JavaScript

Sharpie Metallic Silver (AJ)
The how and why of auto-executing functions (in JavaScript) (AJ)
The JavaScript Unicycle (AJ)
RSA (Tim)
OUYA (Tim)
Borderlands 2 (Joe)
MechWarrior Tactics (Chuck)
Testing Clientside JavaScript (Joe)
Fire Up Ember.js | PeepCode (Chuck)
Meet Chef (Part 2 of 2) | PeepCode (Chuck)

Next Week
MooTools with Arian Stolwijk and Valerio Proietti
TIM:  I’m just learning lots of math and attempting to do real math in JavaScript is a fun challenge.

[Hosting and bandwidth provided by the Blue Box Group. Check them out at  Bluebox.net.]

[This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]

CHUCK:  Hey everybody and welcome to Episode 48 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.

JOE:  Howdy!

CHUCK:  We also have Tim Caswell.

TIM:  Hello!

CHUCK:  And I’m Charles Max Wood from DevChat.tv. And when this episode goes out, you’re going to have about two weeks left if you wanted to sign up for my Rails Ramp Up course. You’ll find that at RailsRampUp.com. I’ve been working hard on that.

This week, we’re going to talk about why JavaScript is hard. And I think it was Tim that came on and said, “So, we’re talking about why JavaScript sucks?” And I didn’t want to call it that but at the same time, it’s one of the -- I think the reasons that people find JavaScript hard and the reasons some people say that JavaScript sucks are kind of the same thing. So, if you want to think of it that way, go right ahead.

But I kind of wanted to talk about this for a couple of reasons. One was that I was at the users’ group meeting last week and they talked about some of the things that make JavaScript hard and I don’t remember what they all were. But there were a few things that, there are some concepts that are markedly different from what you find in other languages or at least some of the concepts exist in the other languages but they aren’t kind of as important or as in-your-face as they are in JavaScript.

Anyway, the other reason is that I was thinking about when I first started this show. And when I first started the show, I was a web developer that was kind of like, “jQuery, whoo!” And thought jQuery and JavaScript, you know, were mostly the same in the sense that the only way to write sane JavaScript was to use jQuery. And so, I wanted to talk around some of the things that I’ve learned over the last year from the other panelists and help people who are coming into JavaScript understand the real power behind some of these other concepts.

So that being said, let’s go ahead and get started. I’m a little curious as to what you guys think are some of the hard things that people run into in JavaScript, like why do they struggle with it?

TIM:  Alright. So,