1

I am looking for alternatives or competitors to Scala strictly in regards to programming desktop apps on multiple cores. Whether using CPU or GPU cores (ScalaCL), I want to take advantage of all possible multi-threading performance. Scala is definitely a good choice, but I want to know what other options I can pursue. Running on the JVM is key for what I need.

Tomasz Nurkiewicz
  • 311,858
  • 65
  • 665
  • 652
smuggledPancakes
  • 8,687
  • 18
  • 64
  • 104
  • 2
    you've dismissed java? if that's the case, I'm curious what is it about scala that you'd prefer over vanilla java (with regards to multi-core utilisation) – Toby Sep 14 '11 at 15:02
  • 2
    I believe that anything that can be done in Scala is doable in Java, but Scala makes it much simpler to multi-thread. That is what I am looking for, features that simplify multi-threading. I believe Scala has lots of features to say for example, take a for loop and make it run on as many threads as possible. – smuggledPancakes Sep 14 '11 at 15:06
  • Desktop apps mulyicores. That sounds vague. Can you specify your problem further? Have you looked at actors and at STM? – AndreasScheinert Sep 14 '11 at 15:20

3 Answers3

7

Clojure is a JVM language designed for concurrency, see: http://clojure.org/concurrent_programming

Kevin
  • 23,123
  • 15
  • 92
  • 146
3

You could always use Java with one of the "concurrency" libraries that provide Actor frameworks, STM etc. One that springs to mind is akka (http://akka.io/).

There's also the jCUDA http://www.jcuda.org/ library which might help with your requirement for GPU processing.

Paul Cager
  • 1,892
  • 14
  • 21
1

If you like Groovy, you can also check out GPars, which offers Actors as well as Dataflow models.

http://gpars.codehaus.org/

Chochos
  • 4,969
  • 20
  • 26