We're all warned against premature code optimisation, and that's fair. Optimising too early can make the code more complex and hard to maintain without any evidence as to whether it actually makes it faster. A lot of the time it really is better just to write the code and worry about optimisation when/if speed becomes an issue.
On the other hand all programmers ought to understand the concepts behind Big-O notation and algorithmic complexity. Applying these concepts to your code can actually help make it both more simple and faster at the same time. It may mean not going with the first solution you think of, but once you've got the concepts worked out, making these simple changes to your coding style will allow you to reap huge benefits.
by Paul Fenwick
The average individual is given little scope for failure, at least not the type that really matters. The opportunity for catastrophic failure, that influences nations or continents, has been traditionally reserved for royalty, parliament, and others in a position of great leadership.
However in recent times we have developed a profession who have the opportunity to fail like never before. A profession that can make mistakes that are so monumental, so wide-reaching, and so costly they can shake civilization to its very core. This elite group, rarely seen by every day society, are the foundation upon which modern society depends. The few, the proud, the Software Developer.
Join us for a voyage of discovery, as we travel back through history to some of the most monumental failures the world has ever seen.
26th–29th November 2007