Jason in a Nutshell

Jason in a Nutshell

Jason Baker  //  Just another random geek. Visit my homepage at http://jason-baker.com

Follow me on twitter: http://twitter.com/jasonsupdates

Nov 5 / 10:44am

How programming language webpages should be designed

A while back, I asked a question on Stackoverflow that taught me something (other than what programming languages are fun to work with). A lot of programming language authors just aren't very good at marketing their languages.

There are a lot of programming languages out there that I wanted to try out, but couldn't figure out an excuse to spend my time on them. And that's pretty sad considering how much I like trying new languages out.

Therefore, I'd like to present to the world my ideal website for programming languages: the Ruby webpage. In fact, I have to admit that if I were trying to decide between Python (my favorite programming language) and Ruby today, I'd easily choose Ruby just based on their website. And that would be sad considering how much I love Python.

Let's take a look at why this is.

Show me the code!

I still don't understand why this is such a difficult concept for some programming languages. The first thing I want to know is how my code
will look if I write it in your language. With Ruby, it's right there on the first page.  Now try doing the same thing on the Python webpage.  Not as easy is it?

Even if you don't want to put it on the first page, it should at least be reachable using one click on the first page.  See the Scala webpage for an example of this.

Feature lists are useless, documentation is priceless

Hey, your language is cross-platform, has object-oriented and/or functional and/or concatenative and/or [insert language buzzword here] features. Good for you! Since you've taken a whole lot of time to provide me with great features, show them to me.

Again, I hold up Ruby as a prime example of how to do this. Right on the front page is Ruby in Twenty Minutes. This shows me all of the great features in brief code examples. And if that doesn't work for me, I can even try Ruby out in my browser.

As an example of how not to do this, I present the Unicon webpage. From the front page, I can gather that Unicon is a "very high level, goal-directed, object-oriented, general purpose applications language", but that's about it.

But we just met!

And one other thing, don't try to sell me a book. Yes, you should make it easy to find books on your programming language. No, you shouldn't remind me of it every chance you get. I view suggestions to buy a book as being somewhat like asking me to move in with you on the first date. Yeah, I find you interesting. I'm just not ready for the commitment.

5 comments

Nov 05, 2009
DK said...
I absolutely agree. I actually went as far as buying a bunch of Ruby books, but ended up choosing Python to get started with programming. Many of the reasons you cited are why I went with Ruby initially. But once I found all the scientific libraries available in Python, there was really no choice at all...too bad it's not obvious from the homepage. It would've saved me a lot of time.
Nov 05, 2009
Stefan said...
Yep, I also agree. The Ruby-site is even localized and gives you e.g. a german “Hello World!”. Not the case with python.org :-/
Nov 06, 2009
Paul Boddie said...
I think I mentioned the whole "show me the code" aspect of programming language Web site design before, especially since Python's strength is supposed to be its readability. The old advocacy site for Python had a few code examples, but that endeavour was terminated and only a few things filtered back into python.org.
Nov 07, 2009
Paddy3118 said...
I disagree. I like the Python.org first page, but then I am not browsing the first page to decide whether to learn the language or not.

I think that learning a new language is going to be a great investment in time. certainly more than the minute it might take to find the Python tutorial on the site.

I doubt if the languages home page would be my introduction to the language syntax. I would have seen a language fragment on some blog or such and would have been intrigued enough to go find out more. I wouldn't expect to make up my mind on the basis of the few lines of code shown on the ruby homepage.

I already know a few programming languages. More important to me is to find out what the new language does better and is it enough to warrant learning. I would probably come to a languages homepage wanting to read about its ethos. I couldn't rely on its site to hear about its community, its popularity, or even its maturity, (Their was a recent blog article on the problems in using the D language and I used the comments to learn stuff about the state of D that I would doubt would be seen on the D homepage).
<stop />

In short: learning a new language is worth more than the two minutes it would take to navigate around the Python.org site.

Nov 08, 2009
Jason Baker said...
It's worth mentioning that this isn't just a criticism of python.org. Overall, python.org does all but one of the things I mentioned well. It's just that that one thing is what I would consider to be the most important.

Leave a comment...