chris webster wrote:"Scala In Depth" is clearly aimed at giving readers a deeper understanding of Scala after they've worked through the early learning phase. From your experience, what is the most common - or the most effective - route into Scala?
I think the most common is coming from Java. But in the #playframework channel on Freenode, we also see a fair amount of PHP and Ruby developers that want to switch to a type-safe language like Scala, and find that Play matches their ideas about web frameworks. I also think that people that have some experience with functional programming are inclined to look for alternatives when working with Java. I don't think there's a specific 'most effective' way.
If you're introducing Scala to a team, we've seen it helps to have at least one experienced Scala programmer on board, that can guide those new to Scala and knows where they should stay away from for a while.
Are most Scala users migrating from Java, or are they coming from a wider background? To what extent do current Scala adopters already have a background in functional programming?
At my workplace a fair chunk of the people that adopted Scala in recent years did not have any functional programming background. It's also not necessary; you can start writing Scala in an imperative style and slowly adopt functional code when you get into that
How far can people regard Scala as just another tool in the toolbox for their next project, or is it still something that demands a lot of specialised preparation first And how long do you think it will be before people are routinely starting out in Scala without the usual JEE background i.e. when will Scala become a "native language" for developers, rather than a second language for people who may still feel more comfortable in Java?
I don't think that Scala needs other specialised preparation than other programming languages. But I don't think there's many people that use Scala as their first programming language yet; for beginners the visibility of Java, Ruby etc. are higher, and I don't think many introductory programming courses use Scala (yet). Not sure how fast that will change