Iteration: It's just one damn thing after another

What is iteration? Is rolling round in a loop from one end of a list to the other the most an iterator can hope for in its brief life? Given modern inventions like foreach, do iterators even have a place in modern programming?

By examining some of the ways iterators and enumerators are used in various languages perhaps we can widen the horizons of an iterator and take them beyond simple for loops to become a significant and useful part of the programming toolbox.

A revised version of the Java iterator talk, intended for a general audience.

Slides and speaker notes from a 60+ minute session presented to ACCU Cambridge

Finding the Utility in a java.util.Iterator

for(Iterator i = c.iterator(); i.hasNext(); )
{
  Thing t = (Thing)t.next();
  ...
}

Is rolling through a for loop the best a java.util.Iterator can hope for in life? A poster-child of poor design, is running from one end of a container to the other all that Iterators are good for?

By examining some of the ways iterators and enumerators are used in other languages, we can widen the horizons of a Java Iterator and take them beyond simple for loops to become a significant and useful part of the Java toolbox.

Slides and speaker notes from a 90 minute session presented at ACCU Conference 2007

XPath2, XSLT2, and XQuery - The Three Legs of XML Searching and Transformation

You can search an XML document with XSLT2 and you can style an XML document with XQuery. No wait ... no, that's right. And the other way round too. In that case, do we need both? Can we bin one of them? Is it just an accident of corporate politicing that they both exist?

This presentation sprints through XSLT2 and the new features it adds to the existing XSLT spec. That necessarily needs an examination of XPath2, the expression language it incorporates. Since XPath2 also forms the basis of XQuery, we obviously can't ignore that, and so a reasonable chunk is spent comparing XSLT2 and XQuery, looking at their similarities, differences and intended usage.

Slides and speaker notes from a 90 minute session presented at ACCU Conference 2006

Paul and Jez's Stream-a-poloza

A fun filled journey into the Standard Library's dark continent, illuminating the mysteries of IOStreams and revealling the streambufs beneath.

C++ IOStreams - what they do, how they work, why you might want to write your own, and how to do it without pain or fuss.

Slides and speaker notes from a 90 minute session presented with Paul Grenyer at ACCU Conference 2005

Unit Testing XSLT Stylesheets

Describes an approach for XSLT testing. Tests are defined in an XML vocabulary. The test definitions are cranked through a set of XSLT stylesheets to generate Java source, more XML and yet more XSLT. The Java sources are JUnit test suites which drive the XSLT test procedure. The whole thing is all stitched together with Ant.

Slides and speaker notes from a 45 minute session presented at ACCU Conference 2005


Jez Higgins