6 ms·
This is a thing about Scala which gives me pause: it looks like gazing into the guts of the compiler puts one on a course towards a nervous breakdown. http://
by fiatmoney 13y ago
This is a thing about Scala which gives me pause: it looks like gazing into the guts of the compiler puts one on a course towards a nervous breakdown.
http://www.youtube.com/watch?v=TS1lpKBMkgg http://www.youtube.com/watch?v=TS1lpKBMkgg
- noelwelsh 13y agoI asked someone in the know, and apparently Paul Phillips is always like that. He has an interesting background -- was a pro poker player for a while.
- wyuenho 13y agoAlso happened to be the guy who wrote the most Scala code on the planet, and he quit Typesafe last year.
- virtualwhys 13y agoWell, so what? Simon Marlow, Haskell's lead compiler developer in recent years, quit, leaving arguably a much larger gap than @paulp leaving Tyepsafe since SPJ is wrapped up in leading some English education initiative. Anyway, shit happens, gaps are filled. Languages, once established, are larger than any one developer, no matter how brilliant the individual may be. It's worth noting that @paulp is as active as ever in Scala, working on his new collections library and contributing to Scala now from the outside -- he may have left Typesafe but has not in anyway left Scala. As he says, he has a "sickness" for language perfection, and fortunately for we Scala users, Scala is the target of his illness ;-)
- nousernamesleft 13y ago>Simon Marlow, Haskell's lead compiler developer in recent years, quit, leaving arguably a much larger gap than @paulp leaving Tyepsafe Quit what? He is still a ghc developer. He quit his job at Microsoft Research to go work at Facebook, but that doesn't seem quite comparable to quitting a job working at the official scala company on the official scala compiler.
- virtualwhys 13y agoMarlow is _full-time_ at Facebook, bye bye. There's a difference between being a ghc developer and THE ghc developer. He's more of an advisor now than a committer, look at his ghc commit history, lots of comments, few commits. Not saying he's joined the dark side like Erik Meijer, but he's also not actively _working_ on the compiler as he did before; that's for the new guy(s).
- nousernamesleft 13y ago>Marlow is _full-time_ at Facebook And? Before that he was full time at Microsoft. He was never an employee of any sort of official ghc company working on ghc full time. >Not saying he's joined the dark side like Erik Meijer What dark side and what is wrong with Erik?
- singingcheese 13y ago> Also happened to be the guy who wrote the most Scala code on the planet I love the way he assumes that. I think he may be surprised to learn the sheer scale of some production Scala systems which aren't part of the Scala class library or compiler. Besides, he put together a list of obscure corner cases that no practicing Scala developer actually seems to care about.
- kasey_junk 13y agoI think the Paul Philips stuff is both overblown by people outside of the Scala community and dismissed too freely by those inside of it. Paul has a very pessimistic world view, a very high standard of perfection and he's spent tons of time in the guts of an extremely complicated system. Listening to some of his talks it is easy to make the assumption that he thinks Scala should be nuked from orbit. On the other hand, while the ParSeqViewLike example is a bit of an inside joke (I think). It doesn't take a whole lot of doing to push the Scala collections library into weird and terrifying behaviour. I'm a practising Scala developer and I do it at least monthly. For people with experience with other better designed collections systems the Scala collections library feels heinous to use, and if you ever have to dig into the code, good luck. If the Java stream api is implemented well and has a high take up rate, I expect lots of people to come to Paul's point of view with regards to the terribleness of the standard Scala library.
- singingcheese 13y ago> It doesn't take a whole lot of doing to push the Scala collections library into weird and terrifying behaviour I'm genuinely curious to see examples you've seen in production code. I've used the collections for years coding full-time and haven't encountered anything like that.
- kasey_junk 13y agoAn example I use a lot because it is terse: From MapLike.scala def apply(key: A): B = get(key) match { case None => default(key) case Some(value) => value } From HashMap.scala def get(key: A): Option[B] = { val e = findEntry(key) if (e eq null) None else Some(e.value) } That is to say that the default behaviour of a Scala hash map is to create a new object for every access (notice I say access, not for every insert) even when I ask it to pretty please give me the one that doesn't have the null safe Option code involved.
- psuter 13y agoPlease don't miss the larger point of this talk (and others by the same speaker); programming languages in general are not what they should be according to this speaker. If anything, though, he seems to agree that Scala is a good choice compared to the plausible alternatives: "At the very least, I can endorse Scala relative to the set of existing alternatives pretty strongly." "I judge things compared to what could be, and not what is. [...] It's not good enough to be the strongest of the little kids brawling when you could be the big kid next door."
- coolsunglasses 13y agoActually Haskell is quite nice and does a better job. Practical too.
- yan 13y agoI'm curious, what languages do you consider impractical?
- coolsunglasses 13y agoAssuming practical is some kind of bar for "I'd use this at a company where I'd be deploying the project into some kind of online production" - there are a number of experimental/research languages that are better for offline research/analysis and don't have the ecosystem Haskell has. I'm not going to mention them by name because if you don't know of them, then it doesn't matter and I don't want to slur them.
- polymatter 13y agoI am a great fan of Haskell. But the tooling and libraries of the JVM is a significant real-world practical benefit. Scala can get away with a lot of nasties for that. (In fairness Scala is very well designed, nastiness is normally all to do with Java compatibility) Plus it allows Java programmers to start writing code almost immediately.
- 13y ago
- grey-area 13y agoThanks for the link; if you can ignore the somewhat hysterical delivery, that talk is really fascinating. It's more about what a programming language should be (in his opinion) than what Scala is not. He quotes my favourite aphorism from Wittgenstein as well: The limits of my language define the limits of my world
- wyuenho 13y agoHere are the slides if anyone is interested. I love the ParSeqViewLike trait on the 3rd slide. There are tons and tons of these Scala WTFs throughout the talk. It's really interesting. http://www.slideshare.net/extempore/a-scala-corrections-library http://www.slideshare.net/extempore/a-scala-corrections-libr...
- Patient0 13y agoWow that talk is an eye-opener. Thanks for the link.
- deleted 13y ago[deleted]