Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant

I Wish These People Updated More Than Once a Year

It seems that "Javascript doesn't suck, you do" has evolved from a catchy presentation title to a full-blown movement.  It's unfortunate that this movement hasn't seemed to have hit Microsoft itself yet, judging from Kyle Baley's review of John Bristowe of Microsoft's recent presentation on Microsoft Silverlight.  One particular Bristowe quote caught my attention:

"Early in the presentation, John asked, "Who *likes* working with HTML, CSS, and Javascript?"

My answer to this is a resounding I do, which brings us to

Answer #1: Phenomenally good-looking software consultants enjoy working with Javascript.

Now, you might not consider a man who spends his time posting about dinosaurs carrying grenade launchers and proclaiming his heterosexual and completely platonic love for Michael Bay to be the most credible technical resource.  But in addition to myself, here are some *other* people who like working with Javascript:

Kyle Baley, AJAX master and keeper of the most extensive "Women In Song" collection in history
37 Signals (in fact, they wrote a whole post about it)
Hamilton Verissimo of the Castle project (who also wrote a whole post about it)

Which brings us to
Answer #1A: Technical thought leaders in web development *and* phenomenally good-looking software consultants *and* people who like bolding fonts enjoy working with CSS and Javascript

So given statements #1 and #1A, we can likely conclude that:

Answer #2: People who *don't* like working with Javascript are either
a) not technically credible
b) not terribly good-looking
c) an unfortunate mix of both

d) a volcano full of irrational hatred

I believe that John lies in category d).  You see, this loaded question of John's has come up in *three* separate presentations about 3 entirely different technologies:
I'm not too sure what John Bristowe has against Javascript to have him deny Javascript three times before the rooster crows.  Perhaps Javascript burned down his house.  Maybe a former girlfriend left him for a web designer.  Even more likely, it *could* be that Microsoft has a bomb implanted in John's skull that will explode if he ever hints that he really has a soft spot for dynamic languages.  Wherever this question comes from, I still dislike it; it implies that Javascript is some ugly language that *no* web developer should ever get familiar with.  While not everything in Javascript is exactly how I would like it (there are definitely places where it looks like it was constructed by two or more entirely different teams), it is still a pretty formidable language.  

Now, I'm not anti-AJAX Framework and Silverlight.  In fact, I'm all in favor of abstracting away AJAX and DHTML-driven technologies so that people don't need to continually roll their own.  How many different Javascript-driven Datepickers does the world require anyway?  However, I do not like the seeming emphasis that web developers shouldn't know web technologies.  I've got news for web developers out there: if you want to be considered credible, some knowledge of the primary technologies involved in web development would be an asset.  Now, I know what some readers are thinking and you're right - knowledge of Javascript and CSS is not essential to developing a web application.  However, the following two statements are also true:
  • Real object-oriented knowledge (not "I wrote the word 'class' so I'm an OO developer") is not essential to developing a web application.
  • Proper architectural and design patterns are not essential to developing a web application.

Of course, try to develop a large-scale web application *without* either of the above, and see where that gets you.  

Perhaps Microsoft dislikes these technologies since it spent the last 5 years ignoring any sort of W3C recommendations, fostering massive display and behavioral incompatibilities for browsers (at least until IE7 hit), and simply views CSS and Javascript as inconveniences that should be abstracted away so it doesn't have to listen to all those whiny standards people.

I guess after typing all of this, I have my *own* questions of Microsoft and its presenters:
1) What exactly is your problem with the web and the languages in it? 
2) Why do you encourage people to be ignorant of the concepts and technologies that currently drive the web?  Can't we all just get along?

Tuesday, September 04, 2007 #