I have been working with Scala on a side project for a while now. I knew I liked it when I was willing to use broken IDE and tools With Scala rather than good IDE support with Java. I found problems that the Scala type system solved nicely, and nicely integrated closures are sooo nice.
Not such a big fan of the idea that immutability will solve all my problems, and that I ought to write everything in functional style. (when looping, I use either the function or imperative version based on which one is compact and best shows my intent) This also leads me to have mixed feelings about the collections library. I think the support for the mutable collections is strangely weak. E.g. there is no sorted tree based mutable hash. I don't get it. Scala also has a huge potential to be abused by programmers exploring the new frontier opened up. One of the worst dangers that I see are implicits or compiler plugins. In terms of cognitive load forced on the programmer, wide use of implicits would make working on a large project a nightmare. (I hope next gen IDE support will help make this less of an issue by providing nice clues). I think implicits are like salt. A little goes a long way, and just a bit to much is bad. With Scala it is easy to find limitations: -The tools are way better than the last round, but still have a long way to go. -The pool for recruiting would be limited. -There is lots of potential for causing trouble -Etc..... BUT, I still can't ever go back to Java. My own projects will be mostly Scala going forward. For me: -The good far outweighs the bad. -The dangerous features can be safeguarded with experience and design style. (I've seen this with large, critical projects in C and later C++. It was our programmers experience, culture, and design style that helps do things in the best way for the given language.) -Most Importantly: I think that Scala got a lot right, and while it may not be the successor to Java, whatever the successor is, will have a lot in common with Scala. I feel that the growing pains that I am going through in adapting the way that I think and design are not wasted. JamesJ -- 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.
