The original Mindstorms

At Educating Programmers I talked to several people about Mindstorms. Not LEGO (though there’s a great deal to be said about that too), but the book, published in 1980 by Seymour Papert, in which he sets out a vision of learning inspired by the use of computers. It’s a book which most people present had heard of, of course, but I can’t recall anyone saying they’d actually read it. I encountered it in the mid-1980s, when my children were young, on the back of exploring many different programming languages and coming across Logo. It left a deep impression on me, and I was enthusiastic in talking about it, and lending my copy (too enthusiastic — would the last person I lent it to, please give it back? Thanks).
Read the rest of this entry »

#spa2010 reflections 2: Three hours to teach (and learn) a new language

One of the pleasures of SPA is the coverage of new and interesting ideas in programming languages. This reflects its origins as the conference of the BCS Object Oriented Programming and Systems specialist group - OOPS - although as the history of the group relates, a focus on teams and organisations coupled with a commitment to reflective practice has been there from the start. But how do you get across the flavour of a new language in a short period of time? SPA workshops are commonly three hours long, which doesn’t seem much to be able to both outline what’s special about a language and (crucially) to give people hands-on experience of working with it.
Read the rest of this entry »

Smalltalk code snippets in blogs

Preparing to write something on Smalltalk, Java, and the activity of design, I’ve been looking for a code formatter/syntax highlighter for the site. Glad to have found Alex Gorbatchev’s Syntax Highlighter, which does the job nicely, except that it’s missing a Smalltalk renderer (brush in the program’s terms). So here is one, which I’ll be tinkering with in the days to come, which does a comfortable if basic job of highlighting. Examples (plus the code of the brush) after the jump…
Read the rest of this entry »

More video goodness…

An informal talk at Skills Matter last year, on JavaScript and AIR (based on the application I blogged about here and here), given as part of the London JavaScript Meet-up. Mostly ends up being about how it’s perfectly possible to do TDD and nice application structure in JavaScript.

News from SDC 2009

Just returned from a trip to Göteborg, Sweden, for SDC 2009, the first of what the organisers plan to be a regular series of developer events. 450 delegates, mostly Swedish but some from further afield, gathered to hear a keynote from Kent Beck and participate in a densely packed programme, streamed around Java, .Net, IBM System i, development process and methodology, and emerging technologies.
Read the rest of this entry »

Narrative of an application

Last week I spoke at the London JavaScript meetup about JavaScript and AIR, and used the little Black Box application I’ve already blogged about as an example of (both) a reasonably well-structured JavaScript application and to demonstrate how easy it was to move such an app to the desktop using AIR. Preparing the talk reminded me of one thing that had been bugging me about the application design, which I mentioned at the meetup. I’d more or less decided not to do anything about it and leave the application as it stood, but in the end my conscience got the better of me, so I dug in once again.
Read the rest of this entry »

With friends like these…

Is your figure less than greek
Is your mouth a little weak
When you open it to speak
Are you smart?

Douglas Crockford has a book on JavaScript out. JavaScript: The Good Parts is a short (170 pages), information-rich, opinionated book on why JavaScript is a great programming language in spite of its major shortcomings. Crockford has been writing about JS for many years and is a primary advocate for the language. The book is a good all-in-one summary of JavaScript and its less salubrious corners, but it’s a book I can’t quite like.
Read the rest of this entry »

JavaScript, HTML, AIR - new application architectures #1

As promised, here’s a small example of an application built using JavaScript and HTML, repackaged for the desktop using AIR. The application is a version of the puzzle game Black Box. There’s an online version of the game, an AIR package for download, and a zip with the source and the other game resources.
Read the rest of this entry »

Concision and expressivity in code

For one reason or another, I’ve looked a fair bit of other teams’ web server code recently - in Java/JSP and PHP. Now, as always, people write too much code. Almost always the result of a naive approach to solving a problem, combined with an insufficient comprehension of programming patterns and language idioms. My favourite was a page that appeared when looking at a server-side component in Java - it was a long method, but at one point when scrolling down this appeared:
Read the rest of this entry »

Adobe on AIR tour in London

This Wednesday Adobe’s on AIR tour rolled into the UK - around 250 developers turned up for a day of talks and demonstrations at the Brewery (once the Whitbread brewery, now a very classy conference and event venue). I’m enthusiastic about AIR - it’s inevitable that internet applications will escape from the browser, and AIR does a great job of providing firstly the right set of application services to set RIAs free in the desktop/platform world, secondly the tools to make building and distributing these applications straightforward.
Read the rest of this entry »