On Dec 28, 11:42 am, "Robert Lally" <[email protected]> wrote:
>
> That's where I'd have to disagree with you a little. When I'm reading
> someone else's code (or even my own code I wrote a few months ago), I want
> to be able to understand at a glance what the author was trying to do. The
> code should scream out its intention - I think Ruby, Python, Scheme, Groovy,
> Smalltalk and Lisp are are excellent at this.

Again, it's not the language but what you write in it.  If you think
Scheme is easy to follow then you haven't met my good friend call-with-
current-continuation.  Common Lisp can have ridiculously complicated
and poorly interacting non-hygienic macros.  Python's generators can
be used in entirely non-trivial ways.  Etc.

No general purpose language inherently leads to readable code.
Certainly some pretty much beg for illegibility (Perl, I'm looking at
you), but Scala is not in that category.   In particular, if you think
standard Ruby idioms are exemplars of readable code then you can write
very Ruby-ish Scala (minus the dynamic metaprogramming, of course).
Same deal if you think Java is the epitome of readability.

> grotesque Java a decade ago, but those days are thankfully gone. I guess at
> heart this is why Java took over from C++; you could have some hope of

Java hasn't taken over from C++.  C++ remains one of the most popular
languages.  Java has, at best, replaced C++ in a few areas where C++
makes no sense.

But the reasons for Java's rise to popularity had, IMHO, more to do
with the cross-platform nature, the batteries-included libraries, and
the marketing push by Sun.  I honestly think it had relatively little
to do with its syntax.  I say that because I was doing Java in the
early days and at most of the people I worked with had no C++ in their
backgrounds.  Some were VBers looking for a way to work on bigger
iron, some were Smalltalkers, Schemers, and Lispers who wanted to work
with something that industry was actually using, etc.

> I read recently, (I'm afraid I can't provide a source, and even if I could
> the statistic may be one of the 87.2% of statistics that are made up on the
> spot) that in team environments 5 times as many hours are spent reading code
> as writing it.

I'll buy that number - in fact, that number might be low.  But be that
as it may, I'd rather read Scala those 5 times than Java even though
I've written and read far, far more Java code.

> some publicity. Everyone could look at ActiveRecord code and say "hey, I
> know what that does and I don't know any Ruby". The theory that developers

But have you tried to read the implementation of ActiveRecord?   It's
a gnarly ball of complicated stuff.  Ruby certainly makes it possible
to create easy to use libraries, but implementations of those
libraries can be messy.

Here's an example of an in-development Scala DSL for doing SQL
queries: 
http://szeiger.de/blog/2008/12/21/a-type-safe-database-query-dsl-for-scala/.
It's not ActiveRecord, but it illustrates a point, I hope.  The DSL
looks nice, but I know there's real complexity in the implementation
of such a thing.  So perhaps your complaint about readable Scala is
that you've been seeing lots of how-to articles on how to use
sophisticated features to implement nice, reusable libraries but
you've seen relatively little on how to consume such libraries.

> My core question: Will a team of average developers (some good, some great,
> some terrible, mostly .. average) have more long term success with Java,
> Scala or something else?

Honestly, the answer is that what passes for average these days is a
pretty sorry character who can screw things up in any language by
copying and pasting misunderstood chunks of code into places they
don't belong.   I'm not dissing the readers of JavaPosse at all with
that statement: by participating in something larger than the 9 to 5
copy 'n paste job they've already shown higher aptitude and
intellectual curiosity than what passes for average.  So a better
question for this group is what would better suit a team consisting of
the kinds of programmers who care about their craft?
--~--~---------~--~----~------------~-------~--~----~
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