Abstract: Every programmer uses floating point numbers occasionally. And almost every programmer has encountered floating point weirdness -- a loop that didn't terminate, a simple calculation that gave a result that made no sense. We have frustrating debugging experiences, leading some of us to develop a lifelong pathological fear of floating point numbers.
Most programmers use rules of thumb to reduce the risk of encountering weirdness, such as "Never use ==" and "Use as much precision as you can". Yet we are left with a lingering feeling that our code is probably not correct. To make things worse, D introduces new features that aren't addressed by these simplistic guidelines.
This talk will describe a mental model to help us avoid nasty surprises, present real-world examples of how things can go wrong in D, and explain how to fix them. The talk is aimed at programmers, not mathematicians.
Speaker Bio: Don is a Senior Software Developer at Sociomantic Labs, Berlin. He has contributed to the D language since 2005, mainly in the areas of mathematics and metaprogramming. Before joining Sociomantic as a full-time D programmer, he worked in the solar photovoltaic industry on numerical modelling, measurement, and industrial inkjet. His 'FastDelegate' library is well known in the C++ community. He has two sons, and a daughter who is a retired superhero.