On Feb 13, 6:10 am, Robert Fischer <[email protected]>
wrote:
> Why does it have to be Clojure *or* Scala?  

Because (besides domain specific languages) this world cannot deal
with more than one language at a time.  In the 70's it was C, the 80's
it was [hold on to your keyboards] C++, then Java, now the world is
thinking if C# only ran on *nix/Mac and variants we'd all be forced by
employers to sling C#.  As soon as someone develops a compiler for
JavaScript we'll all be forced to write JavaScript...since Web 2.0 is
getting most of the press these days and everyone knows the trade rags
don't lie.

> While Clojure no doubt has theoretical purity on its
> side, Scala is far, far, FAAAAAAAAR more accessible to business-line 
> developers.  

You are preaching to the choir here...the question that I cannot
resolve is why not just use Java then; what value add in the business
setting does Scala offer beyond Java?  Can't Java handle anything
business requires?  In other words, *why* push/suffer to use Scala in
the first place--other than to have a little fun?  At least in
Clojure's case, I can take advantage of concurrency, something Java
lacks.

> Once you push past types coming after the variables instead of before and 
> some of the type notation nuances, the syntax
> is actually quite like Java.  And, like Groovy, you can write Scala that 
> looks very Java-esque and
> then "Scala-ize" it.  So, from an adoption-path standpoint, Scala's 
> definitely got the lead.  

No argument, but why adopt if Java v10...err...1.10 will do?  Java is
not perfect, but will pretty much handle 99% of anything business can
throw at it.  And for everything else there's COBOL and
JavaScript...just kidding on that last point, but I think you get my
point.

> On the other hand, the theoretical purity of Clojure and its lispy hearitage 
> allows it to pull all kinds of
> wild and crazy stunts, including more advanced concurrency stunts and 
> allowing you to program in
> whatever paradigm you'd like, as long as that paradigm is expressed in lists 
> and parenthesis.

Yes, my point exactly!  And it's here where Clojure offers a value
proposition above and beyond Java, and it's with this that I have a
*justified* reason to mixin something other than Java to a given
project's baseline.

> But what's awesome is that both Clojure and Scala interoperate, which means 
> that it doesn't have to
> be either/or.  

True, but aren't we selling the virtues of the JVM here.  I believe
the JVM for this reason has a long and prosperous future well beyond
that of Java; although Carl Quinn has stressed the point (on the show)
that Java will always be the assembler...and he might be right;
although I believe the JVM is mostly written in C++.

> If lispy people like their Clojure, then let them code Clojure.

Yup, this is where I get on the bus, I get to use Lisp in the real
world (on the JVM, the world's contemporary business assembler).

> The Java programmers who prefer their curly braces can stick to Scala, and if 
>they decide that theoretically purer
> functional programming really is The All-High Stunningly Awesome Awesomeness, 
> they can shift to
> Clojure without having to rewrite their applications.

Well, my assumption is that I will never get to use Clojure for points
you (and other's) have stressed in this thread that Lisp is too ugly
for mortals.  I'm stuck in a mental trap of thinking Scala doesn't
offer enough return on investment to break away from Java and Clojure
is too extreme (((((((Lisp-Like)))))))--unless or until the *need* for
concurrency surfaces.

> Hell, were I to be a Clojure evangelist, I'd be ecstatic whenever I saw 
> people pushing Scala,
> because the shift from Scala -> Clojure is a Hell of a lot smaller than Java 
> -> Clojure.  Were I to
> believe in the inherent and obvious superiority of Clojure over Scala, I'd 
> simply view Scala as a
> gateway language into functional programming, and a necessary stepping stone 
> to help those poor OO
> people get a real grasp.

I fall-back on my earlier point that the world can only deal with ONE
language at a time--so it has to be one or the other....

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