--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/J22idazMQUEJ.
To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
Sent from my BlackBerry® wireless device
If you take a careful, comprehensive look at the code you'll see that it is more about impressing his peers
Sent from my BlackBerry® wireless device
A paradigm of irony. Excellent.
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel...@ekiga.net
41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Now you come to us and tell that FJ, which is basically the next chapter of the same book, written by the same authors and basically in the same style, is some piece of junk. Oh and by the way you authored a competing book.
On Fri, Oct 21, 2011 at 6:13 PM, opinali <opi...@gmail.com> wrote:Now you come to us and tell that FJ, which is basically the next chapter of the same book, written by the same authors and basically in the same style, is some piece of junk. Oh and by the way you authored a competing book.He also authored a competing framework, which he recommends as the only alternative to Fork/Join at the end of his article.
Well here we have a real bone of contention. Java reified shared memory
multithreading in the early 1990s. It was an error then and is certainly
an error now -- at least as being pushed as the "one true way" of
concurrency since it makes parallelism very hard. Why should it remain
the "one true way" in Java? It is this closed mindset that is a big
problem with Java. Java should have actor libraries, dataflow
libraries, CSP, that applications folk use. Certainly shared memory
multithreading is an important framework level technique, but no
applications programmer should ever have to use such a low level model
of concurrency and parallelism.
GPars (http://gpars.codehaus.org) brings all of these things to Groovy
and Java programmers. JCSP is a CSP framework for Java. DataRush is a
commercial offering from Pervasive that offers dataflow. These models
thrash explicit use of shared memory multithreading for applications
development.
Please can we ditch the idea that Java means using shared memory
multithreading and that to use other models we have to use other
languages. It is not true and it is damaging in the face of ubiquitous
parallel hardware.
On Saturday, October 22, 2011 12:43:17 AM UTC-4, Cédric Beust ♔ wrote:On Fri, Oct 21, 2011 at 6:13 PM, opinali <opi...@gmail.com> wrote:Now you come to us and tell that FJ, which is basically the next chapter of the same book, written by the same authors and basically in the same style, is some piece of junk. Oh and by the way you authored a competing book.He also authored a competing framework, which he recommends as the only alternative to Fork/Join at the end of his article.
Well, above I was using "book" as a metaphor for "framework" :) but it's also nice to remember JCIP, which is *THE* modern book about applied/practical concurrent programming - if anybody says that book is also "academic", it's crazy talk.
The single serious criticism I've ever heard about j.u.c. and the continuing work of JSR-166, is that it furthers the paradigm of shared-memory concurrency. But, like it or not, it's the appropriate thing to do at the level of the JavaSE platform and Java Language.
> On Sat, 2011-10-22 at 04:32 -0700, opinali wrote:
> [ . . . ]
>> The single serious criticism I've ever heard about j.u.c. and the continuing
>> work of JSR-166, is that it furthers the paradigm of shared-memory
>> concurrency. But, like it or not, it's the appropriate thing to do at the
>> level of the JavaSE platform and Java Language. Then you can use these as
>> [extremely good] building blocks for higher-level languages and concurrency
>> frameworks, like Scala+Actors etc. And j.u.c. is well designed to
>> accommodate future innovation at the runtime or language levels - from Java
>> syntax sugar a la C# 5, to lambdas, coroutines, affinnity..., all these
>> things will be easy to fit, indeed they have been considered in the design.
>
> Well here we have a real bone of contention. Java reified shared memory
> multithreading in the early 1990s.
I disagree, to use one model in exclusion to all others is dogma. Java supports mutability but it also nicely supports other techniques.
Regards,
Kirk
--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/6a9PfIokayIJ.
On Sat, 2011-10-22 at 04:32 -0700, opinali wrote:
[ . . . ]
> The single serious criticism I've ever heard about j.u.c. and the continuing
> work of JSR-166, is that it furthers the paradigm of shared-memory
> concurrency. But, like it or not, it's the appropriate thing to do at the (...)
Well here we have a real bone of contention. Java reified shared memory
multithreading in the early 1990s. It was an error then and is certainly
an error now -- at least as being pushed as the "one true way" of
concurrency since it makes parallelism very hard. Why should it remain
the "one true way" in Java? It is this closed mindset that is a big
problem with Java. Java should have actor libraries, dataflow
libraries, CSP, that applications folk use. Certainly shared memory
multithreading is an important framework level technique, but no
applications programmer should ever have to use such a low level model
of concurrency and parallelism.GPars (http://gpars.codehaus.org) brings all of these things to Groovy
and Java programmers. JCSP is a CSP framework for Java. DataRush is a
commercial offering from Pervasive that offers dataflow. These models
thrash explicit use of shared memory multithreading for applications
development.Please can we ditch the idea that Java means using shared memory
multithreading and that to use other models we have to use other
languages. It is not true and it is damaging in the face of ubiquitous
parallel hardware.
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russ...@ekiga.net
This article is not about Doug Lea. It is about the application service he wrote. Doug Lea is a fine scientist, educator, etc. Application programming is not his forte. The majority of code in
the F/J framework is not from other but is one person. I love the JSR166 work. Use it all the time. Most of those classes are what is known as system programming. They are API's. The F/J framework is an application program. It belongs in the extensions framework, perhaps as javax.parallel. It is not the next chapter in the same book. It is a different book.
Sent from my BlackBerry® wireless device
Because GPars (http://gpars.codehaus.org) is better?
(OK so I have a vested interest in promoting GPars as the concurrency
and parallelism framework for Java and Groovy. At some point I'll have
to do a proper benchmark comparison between Akka and GPars, but till
then I'll just stick with unsupported prejudice :-)
--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel...@ekiga.net
Sure it isToo many big corps (e.g. Oracle, SpringSource) have thrown to much behind the lang to allow it to die out simply because mere *developers* don't think it has much value nowadays.
Nor is it especially Groovy's fault that it got superseded so quickly and comprehensively.
On Sun, Oct 23, 2011 at 12:26 PM, Kevin Wright <kev.lee...@gmail.com> wrote:
Sure it isToo many big corps (e.g. Oracle, SpringSource) have thrown to much behind the lang to allow it to die out simply because mere *developers* don't think it has much value nowadays.You make it sound as if the only reason why Groovy is still around is because of some corporate backing, but 1) Groovy has had pretty much zero corporate backing and 2) Groovy became popular on its own merits, and I see it used in a lot of places around me (much more than Scala, for what it's worth).
Nor is it especially Groovy's fault that it got superseded so quickly and comprehensively.It's the second most popular language on the JVM, so I'm not sure why you think it's been superseded (I'm not going to ask you which language you think superseded it, because we all know your answer).
I think it is accurate to say that most of the features of Groovy
circa 2005 are now being offered in other languages. Yes, that's
probably true.
Cheers, Paul.