Tuesday, 1 April 2008

Programming language shootout: Time to bezier

I mentioned yesterday that I'm looking for a programming language with a short time from to go from zero experience with the language, to get vector graphics on screen. I suggested that it be multi-platform, and added various other requirements which are not as critical. And people came up with a number of excellent suggestions.

In the finest traditions of programming, I'm going to formally define my requirements, and ask for your help in a programming shoot out, to prove which language is best suited for the task.

My experience with development over the last 10 years, is that the ease of use of the end-to-end tool chain is critical for getting started with a new programming language. So the shootout is going to consist of the time to complete the following task:

Starting from a fresh install of the OS distribution of your choice, calculate the time to generate a downloadable executable capable of running on a freshly installed copy of Windows that shows a bezier curve on the screen. This must include time to locate and download the components of the toolchain used to do this using instructions available on the Internet.

If your language is interpreted, include the time required for an average individual to download and install the interpreter components on Windows. Ideally this should only consist of a single executable or installer which works using the pre-filled defaults. (penalize yourself 10 seconds for every keypress or mouse click that is required beyond this. You are allowed to count Ctrl-C for copy as one keypress)

For the advanced shoot out, which includes a self-hosting component:

You must start from 'step 1' which consists of - search Google for the keywords "[insert programming language name] [insert toolchain name] bezier curve" and proceed in steps deducible by an average high school graduate from a link on the first page of results, to generate the same downloadable executable.

You can include your own instructions written for the purpose of this shootout, provided you can get them onto the first page of results on Google.

In real world testing, I was able to get an advanced shoot out result in under 15 minutes. For bonus points, guess the language and toolchain.

For a 100% mark, in one hundred words or less you must apologise forexplain the fact your chosen language and platform takes longer than Logo on the BBC Micro.

submit to reddit

1 comment:

Andrew Doull said...

It's worth noting that I'd ideally like to see one error trapped in the toolchain debugger as a part of either shoot out.