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.

Reply via email to