On 1/31/13 2:17 PM, Manik Surtani wrote:
> On 31 Jan 2013, at 13:14, Bela Ban <b...@redhat.com> wrote:
>
>>
>> On 1/31/13 1:48 PM, Mircea Markus wrote:
>>> Agreed on all points.
>>> OTOH learning/using a new language can be good fun, so with that in
>>> mind having Scala in ISPN might be a positive think. From what I saw
>>> discussing with people is that not everyone shares this enthusiasm in
>>> using Scala, and even fewer in debugging Scala.
>> Agreed.
>>
>> *If* someone wants to learn a new *great* language, learn Clojure. Blows
>> Scala right out of the water**1 :-)
> I've heard some interesting arguments about how Clojure won't scale due to 
> its concurrency model (everything's immutable, defensive copies everywhere), 
> meaning that CPU caches end up being useless.  :)  I don't know enough about 
> how it is implemented to comment myself though.

Those comments apply to functional languages in general, Scala included.

Immutability is a 'feature' of functional languages in general; and the 
main reason IMO why they never caught on. At least, Clojure is not as 
pure as scheme and does allow operations that have side effects 
(refs/vars), e.g. change a data structure, so you can choose in some 
scenarios to trade purity for efficiency.

Now that we have more memory, the CPUs have become faster, GC is better, 
and data structures (e.g. in Clojure) have more efficient 'copying', the 
severity of the problem has been somewhat reduced, but it is still 
there. Clojure for example, has pretty efficient copying of maps or 
lists, where they actually don't really copy stuff, but still reference 
the same data until a a real copy is required. Quite similar to 
copy-on-demand structures, or even to the read-committed / rep-read 
implementations in Infinispan.

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)

_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to