There's a certain irony that the author laments the loss of low-level developers, yet the site doesn't work without JavaScript.
I like that he provides some links for further reading, and I'll bookmark the page for that reason alone.
Besides those links, his diatribe seems to be misplaced. For many applications, it's not necessary to know the difference between floating and fixed-point.
Perhaps one day, it will no longer be necessary to care about the difference between decimal/integer/floating-point, as the compiler/interpreter will know how and when to use the "right" one. And I will welcome this. I've seen inexperienced developers use float(val) when counting money; and no amount of training will stop the next generation of new programmers making the same mistakes.
I disagree about automation. Compilers should never silently lose information. Lisp had it right a long time ago: default to fixed point + real fractions and only allow floating point math when explicitly requested.
I think, with current languages, that would probably be the right way to do it. It's not beyond the realms of possibility for a language to try and do the right thing (with sane and predictable rules of course), and let the user override it with their preference.
The hardest part would be getting those sane defaults, otherwise everyone will override them anyway, and you're back to square one or worse.
Sane defaults shouldn't hard at all. Just like in Python you have to do Decimal('1.0') now, we could just as well have to do Float(1.0) to override the default.
Clojure has with-precision [1] and Common Lisp has defaulted to fixed point, fractions and explicit ^float type annotations.
Comments
There's a certain irony that the author laments the loss of low-level developers, yet the site doesn't work without JavaScript.
I like that he provides some links for further reading, and I'll bookmark the page for that reason alone.
Besides those links, his diatribe seems to be misplaced. For many applications, it's not necessary to know the difference between floating and fixed-point.
Perhaps one day, it will no longer be necessary to care about the difference between decimal/integer/floating-point, as the compiler/interpreter will know how and when to use the "right" one. And I will welcome this. I've seen inexperienced developers use float(val) when counting money; and no amount of training will stop the next generation of new programmers making the same mistakes.
I disagree about automation. Compilers should never silently lose information. Lisp had it right a long time ago: default to fixed point + real fractions and only allow floating point math when explicitly requested.
I think, with current languages, that would probably be the right way to do it. It's not beyond the realms of possibility for a language to try and do the right thing (with sane and predictable rules of course), and let the user override it with their preference.
The hardest part would be getting those sane defaults, otherwise everyone will override them anyway, and you're back to square one or worse.
Sane defaults shouldn't hard at all. Just like in Python you have to do Decimal('1.0') now, we could just as well have to do Float(1.0) to override the default.
Clojure has with-precision [1] and Common Lisp has defaulted to fixed point, fractions and explicit ^float type annotations.
[1] http://clojuredocs.org/clojure_core/clojure.core/with-precis...