File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Scala and the fly likes Routes into Scala? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Scala
Bookmark "Routes into Scala?" Watch "Routes into Scala?" New topic
Author

Routes into Scala?

chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1701
    
  14

"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? 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? 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?

No more Blub for me, thank you, Vicar.
Erik Bakker
author
Greenhorn

Joined: Feb 03, 2013
Posts: 8
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

I know that you believe you understand what you think I said, but I'm not sure you realize that what you heard is not what I meant.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1701
    
  14

Thanks Erik. Interesting to hear there are people coming from PHP to Scala/Play - that's a big jump for anybody - while I guess the Rails people will find a lot of familiar ideas in Play.
Brian Hanafee
Greenhorn

Joined: Jan 31, 2013
Posts: 7

Erik Bakker wrote:
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


I love Scala but honestly, I think it would be a brutal choice for first programming language.

  • The flexible syntax and optional declarations make it difficult to predict for someone who isn't already comfortable with language syntax.
  • The integration of object-oriented and functional styles leaves beginners unsure of which way to go. One can learn OO first, or learn functional first. Learning both in parallel is asking too much.
  • Image explaining co-variant and contra-variant types to a person who isn't familiar with object inheritance.
  • Many of the harder to understand choices in the libraries are driven by Java compatibility. For someone who doesn't know Java, that means a lot of WTF moments.


  • Heck, the table of contents for Scala in Depth can almost be read as an outline of reasons why it's not a good first language. I'll grant that Chapter 2 has a lot of points that would be good for a first language.
    Joe Harry
    Ranch Hand

    Joined: Sep 26, 2006
    Posts: 9381
        
        2

    I guess the goal of Scala is not to teach OOP concepts but rather it assumes to have OOP knowledge. It build on it to teach functional style of programming. Agreed that there is a very steep learning involved.


    SCJP 1.4, SCWCD 1.4 - Hints for you, Certified Scrum Master
    Did a rm -R / to find out that I lost my entire Linux installation!
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: Routes into Scala?