I've been thinking lately about how some programming projects/products become "cool," and in particular, how that trend can later reverse.
Here are two examples that might better explain my context:
Textmate
Whenever someone asks about text editors on OS X, the answer on the SE sites is an automatic "Textmate!" But looked at objectively:
Textmate 1.0 shipped October 2004
Textmate 1.5 shipped January 2006
Textmate 2 was announced February 2006
As of September 2010, the currently shipping version is 1.5.9
In all of 2010, there have been a total of three posts on the Textmate blog
At what point (if ever) do Textmate fans start thinking about switching to another text editor? When it breaks after some future Apple update? When alpha geeks they respect start recommending something else? Or?
jQuery
Whenever a JavaScript-related question is asked on the SE sites, the knee-jerk response is "jQuery!" I've seen it happen even when the question itself only required a single line of JavaScript. Or when the question could be better answered by using CSS.
Do the answerers understand they're suggesting a blowtorch to light a candle? That they're recommending adding 70K or so of code to do something trivial? Or is it a symptom of "When you have a hammer, everything looks like a nail"—that is, jQuery is all they know how to do, so that's their recommendation? And do they understand that while they may know jQuery well, that doesn't necessarily mean that they know JavaScript? Is there a way to explain that learning JavaScript would make them better jQuery programmers?
My bigger-picture questions:
Is this niche focus primarily a trait of programmers?
How do you get programmers to not immediately jump to recommending their personal favorites?
What can motivate programmers to review their initial selection criteria and possibly modify their choice?
Your thoughts?