Hype is a good thing
While listening to the Ruby on Rails podcast, one of the guests mentioned that one of the things behind their decision to use Rails for their project was the popularity of the language. Now, social news sites are weird. Browsing reddit and digg, you get the impression that popularity and hype, in the context of programming languages, concepts, and libraries, is a bad thing. I never really understood why popularity is seen as negative, especially in an area where community is important.
One of the enormous benefits of popularity, especially in the programming world, is the benefit of a large, active community of early adopters. Given an unpopular language and a popular language, the popular language will have more libraries, more support, and more experimentation than the unpopular language. As long as those early adopters are hammering on the language, it will quickly improve and give programmers in that language the resources they need to get work done.
Take two imaginary languages, Blub and Frob. They are fundamentally pretty equivalent, except Blub uses tabs instead of spaces and Frob has an awesome emacs mode but sucks with vi. Blub is way more popular (annoyingly so) than Frob in the blog circuit, but Frob has a better implementation and runtime than Blub. These differences, although minor, make for heated discussions among a team that is interested in the productivity benefits either language will give them.
I'll pick Blub every time, because when I run into an esoteric error message, I'll find 10 blogs from google explaining the problem and workarounds, instead of half a blog post saying, "I ran into this problem, does anyone have a solution?" (with no comments, of course). When I need a library to interface with our new caching service, I'll have tons to choose from (and modify), instead of one that I may or may not like using. With the number of eyes looking at Blub and how it compares to Frob, there will be people working to mitigate and solve issues that make it harder to work in Blub than Frob.
Even though there will be dedicated, hardworking, genius programmers working in Frob, they probably won't be able to produce as much help and resources as the early adopters that are jumping on the Blub bandwagon, documenting their experiences, writing code to experiment with features, and making Blub better and easier to use.
Of course, popularity does not necessarily make a language better -- look at Java for one great example of a popular language that I never want to touch again. Popularity as a language "feature" makes the most sense with up and coming languages. Hyped languages also attract people who will just as easily flock to the "next big thing," reducing the pool of contributing users that give it this advantage in the first place, and attracting a large community will often leave the average quality of work lacking. But as annoying as an overhyped language can be, it's often a good reason to pick a language over other, mostly equivalent languages when it comes to building on the work of others.
Trackbacks
Use the following link to trackback from your own site:
http://blog.uberweiss.net/trackbacks?article_id=hype-is-a-good-thing&day=03&month=03&year=2008