On Dec 21, 1:42 pm, Reinier Zwitserloot <[email protected]> wrote:
> Anyone who knows both C++ and Java knows that the languages are in
> fact not even in the same city, let alone the same ballpark.
As compared to Mercury and Haskell and Piet, C++ and Java are nearly
the same language :-)
> giving up and adding every word he could think of. Scala doesn't
> really go quite that far in ridiculousness, but if foldLeft warrants
> an operator, then where do you draw the line? academics, strictly
> functional programming fans, and programming language hackers love
> folds and it makes perfect sense to turn it into an operator. Joe Q.
> average programmer? Not so much.
In Java, xor has an operator (^). It was inherited from C. Me, I
would MUCH rather that be exponentiation. Xor as an operator might
have made sense in C, I suppose, but in Java? Not so much.
When do we get to throw C's operators out and put in new operators?
When can a language recognize that the way it's used is fundamentally
different from the way C is used. Do we seriously have to drag C with
us forever?
Still it doesn't matter. /: and :\ are not operators in Scala.
They're methods. So the whole discussion is flawed. The problems
with true operators are far more extensive than the problems of
methods that happen to look a bit like operators.
> (which scala sort of botched with immutables that weren't really
> immutable under the hood and caused race conditions, but fortunately
> those are being fixed now),
Vals have never been broken. They have exactly the same
implementation mechanism as Java's final variables. Or are are you
talking about some bugs in the library? It's really irritating when
you make these claims without linking to some evidence so others can
know what you're talking about.
> get rid of the null mechanism (which scala
> doesn't really do properly either),
Null is a pain in the ass. It doesn't belong in a statically typed
language. I'll take that banner up with you any day. Unfortunately,
null, with all its ugliness, is necessary for Java integration. The
Scala team is working on ways to extend the type system to include
something like Nice's nullable types.
> solve the versioning problem once
> and for all (zero points for java and scala),
Nobody, and I mean nobody has figured that out. Not OSGI, not
the .Net platform, not your favorite Linux distribution, not Python,
nobody. If you eliminate languages due to this problem then you're
stuck with nothing.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---