Scottish Developers Perth Conference

Friday saw Scottish Developers holding a day conference in Perth, Scotland.

Extra chairs had to be brought in: we took a couple of last minute bookings that took us over the edge. Good to see a full house!

Full details of all the sessions can be found here.

But briefly, the sessions were:

Duncan Jack – Coldfusion and Flash Integration
John Cant – HyperOS and experiences of designing an ASP webserver for CD
Andy Swan – Design by Contract
Rob Lally – scripting language Groovy designed for the JVM

John’s demonstration of HyperOS was an eye-opener: unlike VMWare or VirtualPC, HyperOS uses real hard drive partitions to manage operating systems. Re-installation of an operating system is simply a matter of drag’n’drop: Windows 95, for example, took less than a minute to restore itself to a “clean” unbroken state. And, of course, whilst HyperOS can only run one OS at a time, that OS has full access to the machine’s resources. Contrast this with VMWare or VPC which uses the host’s resources.

Rob’s Groovy session demonstrated how Groovy sits on top of the Java language and is in fact a very terse language that is converted into Java prior to execution. Rob demonstrated that 50 lines of Java could be expressed in 6 lines of Groovy. Impressive stuff.

Duncan’s session, once again, drummed home the power of Flash. Scottish Developers ran an evening event in June where Flash was demonstrated from an animation perspective. Duncan looked at it from an Rich Internet Application angle. Powerful, fast, fewer roundtrips to the server: that was the main message.

Andy’s DBC session presented Bertrand Meyer’s pre and post conditions. It also covered invariants. Interestingly, once the session entered Q’n’A, the subject of discussion moved to TDD, Test-Driven Development. We ended up discussion how pre/post conditions are often tested using assertions, and since TDD uses assertions too, could we combine pre/post assertions with the test’s primary assertion? Of course we ended up wondering if one assertion per test is a good thing, or should we just bite the bullet and have a handful of assertions per test. Currently, we are agreed on the latter: more than one assertion per test. Emotive stuff.

We gave away a couple of books, a rubgy shirt and some t-shirts: everyone’s a winner!

All in all, these were four very good sessions and excellent speakers: see you at the next Scottish Developers event!

Test-Driven Development: a practical guide – book review

Test-driven development (TDD) has become very popular in recent months. Until now there was only one textbook on the subject: Kent Beck’s. “test-driven development: A Practical Guide” by David Astels, was published in July 2003 and complements Beck’s original TDD work. This book is part of The COAD Series, named after Peter Coad, Borland’s Senior Vice President and Chief Strategist. The book itself is a little over 550 pages long and offers up-to-the-minute advice on how TDD can change your development and testing philosophy.

Read the review here.

Scottish Developers have free books…to give away!

Are you studying for your MCAD or MCSD certification? May be you’re thinking about taking any of these Microsoft exams: 70-300, 70-305/70-315, 70-306/70-316, and 70-310/70-320?

If so, you’ll be pleased to learn that Scottish Developers are giving away the following books:

books

All you have to do is come along to Scottish Developers day conferences and evening seminars! The next one is Friday 25th June: more details can be found here.

Thanks are due to INETA for the provision of these books and for their support!

Tim Bray on TDD

I was interested to read Tim Bray’s push on Test-Driven Development (TDD).

What caught my eye was the closing paragraph (repeated here):

And if you’re a CIO, ask your development people if they’re using TDD internally, and if they’re not, go order some copies of Kent Beck’s Test Driven Development: By Example and hand them out and tell them to get with the program. Anything less would be unprofessional.

Wouldn’t it be just great if upper management handed out [free] books on really cool topics like this?

Isn’t that last sentence just the the ticket? Clearly, Tim is a great TDD fan. And why not? TDD has made my life easy and it has made my users’ life easier too – bugs are caught much earlier in the process.

Download the slides to my Delphi-oriented TDD presentation here (and the code is here). A Visual Basic.net version can be found here.

The code is the design

It’s amazing how what was considered humour a few years ago suddenly becomes a working reality today.

In a December 2003 session in Edinburgh, Scotland, Martin Fowler discussed the subject of “the code is the design”, and made reference to Jack Reeves article What is Software Design? Basically, Martin stated that the most accurate form of design documentation that you have for your application is the code itself.

If you’re a first year university student, you can probably relate to this: write code first, then make the “design documentation” fit the code you’ve just written; voila, the code reflects the design.

Anyway, I was clearing out some 15-year old files and came across some interesting photocopies. Here’s the best one:

agile world

How prophetic. Assuming that we take “Software Specifications” on its own, we’re not far off the statement the code is the design…

“Nice” highlighting feature courtesy of Microsoft PowerPoint 2003.

Now, I reckon there might be some copyright issues here, however since I never saw/owned the original book that this was published in, I can’t make reference to it. I’ve left the page footer logo in place, hopefully somebody might recognise it.