3 ms·
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 li
by scott_w 15y ago
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.
- lucian1900 15y agoI 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.
- scott_w 15y agoI 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.
- lucian1900 15y agoSane 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-precision http://clojuredocs.org/clojure_core/clojure.core/with-precis...