On Mon, Aug 2, 2010 at 03:59, Kevin Wright <[email protected]> wrote:
> FWIW, my honest beliefs:
> Static typing has definite benefits, but verbose implementations (*cough*
> like Java's) have given it a bad name Scala is both easier and harder than 
> Java.

I think, verbosity is exaggerated. Everything less verbose than COBOL,
let's say on the level of C++, VB, Turbo Pascal or Java is no real
problem - at least not for me. I have coded the major time of my life
in those languages (and even in times where not a single character was
autocompleted by the IDE - and nowadays it guesses either the
parameters quite good).


> Almost all Scala code is smaller and more comprehensible than equivalent Java.

I am sure there are plenty of cool use cases of the language. For me,
when I consider programming many years with a language it needs to be
attractive for me just from the gut feeling.
I have three problems with Scala which just make the language not very
sympathic for me:

1. Strangely too many different possibly approaches to implement the same thing.
I like to have options, but where it makes sense. I mean, I already
have two options to start a console program:

object Main {
  def main(args: Array[String]) {
[...]

and

object somestuff extends Application {
[...]

(I have seen 5 ways to write the same simple stuff in other cases
which I unfortunately can't recall now - just ridiculous it was!). It
is hard enough to read others code, but such things makes it worse.


2. Readability
No, this is not (just to give one example):
val elems = args map Integer.parseInt
      println("The sum of my arguments is: " + elems.foldRight(0) (_ + _))


3. Functional approach
I could never get warm with functional programming, Scala does not
make a difference here.

YMMV.


> There are definitely features (like Higher-kinded types) that are pretty
> complex but they can also offer incredible elegance and functionality

I am also thinking about the younger people coming after me. One of
the major problems I often hear is that it is difficult to find new
developers (and we experienced as well). When I faced the last time
apprentices getting into programming, I could not even believe that
one needs to learn what a loop is. If you ask me what language I want
them to use then I would never ever give them Scala, because it is
completely overwhelming for them! Java still is, but much better IMHO!


> Tooling does *not* compensate for boilerplate

I never ever read about the boilerplate issue before listening to the
Java posse. Seriously!


> C++ is also too Verbose

ROTFL! You lost me here.


> Yes, Scala has issues.
> It may be less necessary, but Scala IDE support still needs to improve if
> the language is to gain wider acceptance

A major issue for me and...


> binary backward compatibility is still an issue

...this is a show stopper for me.


On Tue, Aug 3, 2010 at 00:14, JamesJ <[email protected]> wrote:
> 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 am so annoyed thrown back to stoneage again and again. I already had
good debuggers and GUI designers back in 1998 or so. Why not improving
the language and tools we already have? OK, sometimes you have to make
a total break (for me it was when starting to develop for different
platforms). IMHO a few little additions to Java and NetBeans would be
already totally fine to make me 100% happy.


> Scala also has a huge potential to be abused by programmers exploring the
> new frontier opened up.

Agree.


> 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 have not gone really into Scala so that I could discover issues like
that, but only to read this here, I am already scared.


>  -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.)

In a big company will be achievable easily but think of the thousands
of small companies or single developers. The vast majority is not very
experienced and many developers leave a language for another when they
finally got experts.


>  -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.

Agree. Maybe some things need to be removed - like vendors try to
simplify their applications by removing features (from the GUI). ;-)

-- 
Martin Wildam
http://www.google.com/profiles/mwildam

-- 
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