On 14 Jan 2011 13:59, "Reinier Zwitserloot" <[email protected]> wrote: > > Scala's language spec contains almost nothing. If you don't consider the standard import list part and parcel of scala (removing stuff from that list certainly isn't backwards compatible), I just don't know what to say to you (other than perhaps a wry comment on how I should have expected javaposse's resident scala fanboy to be so blind).... but of course, according to you the new library addition of parallel collections ARE enshrined. Pavlov would be pleased. Of course, we've been able to download and work with ParallelArray on JVM languages for a while now, so this isn't exactly new. >
Parallel collections are enshrined in the fact that there's an entire release of Scala dedicated to adding them. Folds? Just a couple of methods, and small ones at that. It would require a very advanced level of doublethink to *not* objectively see a significant difference between the two. > How does scala encourage side-effect-free methods? You can't even add an assertion of some sort to say: I intended this method to be side-effect-free. Let alone that such this assertion is checked by the compiler. Java doesn't either, but my claim is that the scala programmers claim to be better at this highly parallelizable thing than java. I'm certainly not claiming that java is any better, I'm just trying to say that language doesn't exist yet - scala most assuredly isn't it. Haskell at least has the side-effect-free thing down pat. > No, you're right, Scala doesn't have effect tracking yet. But I can assure you that the community is aware of the absence, and it's one of the more interesting features scheduled to be added under the funding of the recently awarded grant. Currently, the language just goes a long way towards encouraging immutability and freedom from side effects, without actually enforcing them. Still, this is a definite step up from ignoring the concepts completely (hey, anyone for setter injection?) > NB: In regards to your spat against java.util.Date, two points: (1) Date has no operators associated with it, and cannot be used without an import statement or an FQN. This makes java.util.Date orders of magnitude less tied in to java (the language) compared to scala (the language). (2) I never claimed java was any better at this multi-core game that scala is. I'm trying to say that your claim that scala is, isn't backed up by much. Attacking java doesn't help you prove your case. > I'm not attacking Java. It's a rare Scala programmer who didn't migrate from java, and we all very much recognize Java's strengths. I am, however, attacking the attitude that it's somehow heretical to even dare comparing java's "perfection" to alternative ideas. -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
