Win a copy of Microservices Testing (Live Project) this week in the Spring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Liutauras Vilda
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
Bartenders:
  • Piet Souris
  • Mikalai Zaikin
  • Himai Minh

What makes Scala different?

 
clojure forum advocate
Posts: 3479
Mac Objective C Clojure
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hey,
James Gosling picked Scala as the second language for the JVM.
What does Scala bring to the VM?
AFAIK, it is a functional language that follows Erlang concurrency model.
Why James picked it in favour of Groovy, Jython, JRuby, JavaScript, Jaskell ...?
Thank you.
 
Rancher
Posts: 4686
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I don't know if he did it. But IMHO, the Java concurrency implementation is too hard for most programmers. So building on Erlang or other languages that hide all the concurrency thread control, synchronization, etc. is a good thing.

We need something to use the 8, 16, and 32 core processors that Intel has announced. Java isn't going to work, IMHO, because its just too hard to get the treading right
 
Ranch Hand
Posts: 1296
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In my experience you really have to dive in to see how a languages features affect the way that you write code. Different languages have different constructs that just do certain things well.

If you have little or no experience with functional programming, when you start of with Scala you'll probably find that you are writing your Scala code with a Java *accent*. But as you get more comfortable with the type system and the functional nature of some of the libraries, and as you start to make your classes immutable by default, and only mutable if the "have" to be (they never do!) then you'll get to see the real fun in Scala. By the time you make it up to implicit conversions and self typing, you'll be sold.

Or maybe you won't like it at all. That happens. After all the good things I heard about Ruby, I finally downloaded the interpreter and libraries and started writing code, I didn't really like it. No big deal. I'm not saying its not a worthy language that can do powerful things easily, I just didn't take to it. If I had to work somewhere that coded in Ruby, I wouldn't be miserable, but since I don't I looked for another language I liked using better.

I guess what I'm saying is jump in, see what the fuss is all about. If you have questions, come back and ask them here. Most of us are still in the learning phase, so we can learn together.
reply
    Bookmark Topic Watch Topic
  • New Topic