Marketing Community-Based Open Source Languages

What makes a good home page for a programming language? Is the primary purpose of a web site for a small, community-driven programming language to market the language, or to provide information for the community? Can you do both?

One thing that quickly becomes apparent when you stop and take some time to compare websites for programming languages is that most of them are God-awful, at least from a design perspective. Ruby and Python both look like they were designed by someone who knows what they’re doing and has been paying attention to contemporary web design, with the caveat that Ruby only recently finished its redesign. Scheme does a nice job showing off the language via a bizarre navigation menu that nonetheless encourages new users with an FAQ only to invite them to pick an implementation (tell me again how I get started?). Haskell, another functional language, shares an affinity for lambda logos with Scheme, and yes, I understand what lambda does and why you think it’s pretty great but for the love of God show some imagination. Correspondingly, Haskell’s web site is functional but unimaginative. Speaking of ridiculous lambdas, PLT Scheme wins the award for most flagrant abuse of gradients in logo design.

Smalltalk is cluttered, busy, and confusing, Perl looks like an O’Reilly cottage industry (which I guess is what it is at this point), and Javascript doesn’t have an official site at all; it has no user community because it’s a language that people are essentially forced into using. Searching for ‘ECMAscript’ gives you back the spec and a Wikipedia article. The site for D is ugly but tells you exactly what the hell it is right there at the top, which is more than you can say for most of these sites.

To what degree does programming language popularity depend on marketing, and to what degree should it be expected to stand on its own merits? Give witness, yea, here is a flash of the news: Programming languages are no different than anything else. Features are important but no one gives a damn unless you can explain to them why they should. That’s what “marketing” means in this context: explain to someone who visits your site why they should care or (better) how to get started, immediately. Ruby informs you: get started, it’s easy, and then gives you a link, right there at the top, where you can try Ruby in your browser (courtesy of _why).

Why can’t other, purportedly better, languages do the same? If you’re enthusiastic about your niche language and contemptuous of the ‘hype’ that Ruby and Rails enjoys, go out and spend some time advertising your language/framework/widget in a way that respects and encourages new users, and then come talk to me.

A word on Joshua Bell and the Washington Post