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