Unfortunately, he doesn't share where he is heading now. It does sound like he might find Go attractive (with its very small language and well-designed toolset).
If you go through the slides it seems most of the criticisms he has against Scala seem equally valid against Go (and for that matter most currently used languages). What it sounds like he wants is a fundamental paradigm shift in how programming languages are designed and used, not just a fancier ALGOL.
In the comments on Reddit he doesn't find Clojure attractive (due to lack of static types), so dynamic langs are out the window for him.
As for Go, maybe, but assume he'd be more inclined to go with Kotlin and pull a James Strachan (former Scala advocate who created the Kotlin standard library; also creator of Groovy).
Or do something entirely different, god knows, he follows his own way.
I was hoping for a more coherent critique. The one complaint that is concrete and clear enough to evaluate is about floating-point behavior, namely this:
This is just the way floating-point arithmetic works – its granularity increases as the values you represent increase; at 2^63 its so coarse-grained that adding 2^32 has no effect. To explain in more detail, a 32-bit float only has 23 bits of significand, so at 2^63, the next representable float is 2^63/2^23 = 2^40 larger. Yes: 32-bit floats cannot represent any numbers between 2^63 and 2^63+2^40. That's a huge gap, but there's only so much you can do with 23 bits of precision. That gap is much larger than the largest 32-bit integer (2^31-1). Thus, adding the max int value has no effect whatsoever, since that delta doesn't get you anywhere close to the next representable float. The best you can do is leave the value alone when adding something so (relatively) small to it. If you want better than this, you need to use more bits.
All of this is a minor detail, but if Paul Phillips is complaining about this behavior without even taking the time to understand what's going on, for me that really undermines the credibility of the rest of his presentation.
Yea, I caught that as well. It's really depressing how many seemingly smart competent programmers there are out there whom are completely oblivious to IEEE 754. Don't get me wrong, you're certainly free to criticize how computers do floating point, but smart people have thought long and hard about this and there are reasons for their decision, so at least try to understand those reasons first.
The 2nd slide speaks volumes, his commit history vs. that of Odersky.
PaulP was trying to strip down the language while Odersky was adding on to it. The two must have been butting heads behind the scenes, and Odersky, the creator of Scala, probably wasn't wanting to follow PaulP's crazy wisdom.
Sucks, that's a lot of talent going out the window with PaulP's departure, big shoes to fill.
7 comments
[ 2053 ms ] story [ 126 ms ] threadAs for Go, maybe, but assume he'd be more inclined to go with Kotlin and pull a James Strachan (former Scala advocate who created the Kotlin standard library; also creator of Groovy).
Or do something entirely different, god knows, he follows his own way.
All of this is a minor detail, but if Paul Phillips is complaining about this behavior without even taking the time to understand what's going on, for me that really undermines the credibility of the rest of his presentation.
[1] https://en.wikipedia.org/wiki/IEEE_floating_point
PaulP was trying to strip down the language while Odersky was adding on to it. The two must have been butting heads behind the scenes, and Odersky, the creator of Scala, probably wasn't wanting to follow PaulP's crazy wisdom.
Sucks, that's a lot of talent going out the window with PaulP's departure, big shoes to fill.