Archives For JavaScript

In this edition…

Continue Reading…

In this edition…

Continue Reading…

SmashingMagazine recently published an interview with Douglas Crockford. Crockford, in case you’re not familiar, is one of the key proponents of JavaScript. One of JavaScript’s “founding fathers”, if you will. His Master Class video series on JavaScript and the history of programming is really quite illuminating.

The interview is part of a new SmashingMagazine series called “How I Work”. As they describe it:

These interviews revolve around how thinkers and creators in the Web world design, code, and create. The goal is not to get into the specific nuances of their craft (as that information already exists online), but rather step back and learn a bit about their habits, philosophies, and workflow for producing great work.

For that reason, the interview is useful whether or not you do any JavaScript programming, as Crockford has great insights into programming in general. Just two things that caught my attention…

WHAT WERE THE TRAITS OF THE WEAK PROGRAMMERS YOU’VE SEEN OVER YOUR CAREER?
That’s an easy one—lack of curiosity. They were so satisfied with the work that they were doing was good enough (without an understanding of what ‘good’ was) that they didn’t push themselves.

and …

HOW MUCH OF A LANGUAGE DO YOU NEED TO KNOW?
Virtually every programming language is too big. Language standards have difficulty removing unnecessary features but as users we can choose not to use it.
I would say you can do 100% with knowing 50% of the language.

As for the first, the greatest thing about working for myself is the ability to learn whatever I want. I’m not pigeonholed into one subject or career. I can see what interests me and expand my knowledge as I see fit. (On the other hand, I’d certainly make more money if I specialized but there’s more to life than making money, they say.)

As for the second, that’s an interesting suggestion, and one I’ve not heard before. To be fair, when I write a book on a language, I have to make decisions about what to discuss and what not to (e.g., never cover goto!), but I wouldn’t have put that number at 50% or in that area. Still, it’s great that an expert on a language admits that much of it isn’t necessary, at least not most of the time.

After the interview, which isn’t too long, there are two video clips worth checking out. Both are around an hour long, but will give you a sense of what Crockford does in his Master Class videos. One of those videos, and many more, can be found in Yahoo!’s excellent YUI Theater.

In this edition…

Continue Reading…

In the beginning of March, I blogged about an excellent resource titled “Essential JavaScript Design Patterns“, written by Addy Osmani. Mr. Osami is a JavaScript developer for AOL, a member of the jQuery core team, among other roles, and is an excellent writer. “Essential JavaScript Design Patterns” is a book-length document, available for free online, that does a great job of explaining not just design patterns in JavaScript, but also the concept of design patterns in general.

If you liked that resource, Mr. Osmani has several others you may appreciate, beginning with Patterns for Large-Scale JavaScript Application Architecture. The topic itself may be too specific for many developers, and I do disagree with his definition of what a large-scale JavaScript application is (Osami’s definition is non-quantifiable, and therefore a vague non-defintion), but the writing and suggestions are strong and concrete. The article begins with discussions of design theory, and then goes into the implementations of specific patterns that would be used in the underlying architecture. Each section also includes links to other good resources. There’s a corresponding presentation you can read, if you’d prefer just the bullet points.

Towards that end, you may want to check out Mr. Osmani’s other speeches, which primarily focus on performance issues, scaling JavaScript, and jQuery.