My own version of "should Scala sell out"

22 views
Skip to first unread message

Tomer Gabel

unread,
Aug 5, 2013, 8:39:51 AM8/5/13
to unders...@googlegroups.com
Given Rod Johnson's controversial keynote at ScalaDays 2013, there's been a lot of buzz in the community about where Scala should be headed as a language and the shortcomings of the Scala community in welcoming new adopters.

Instead of reiterating the discussion here, what I'd like to do instead is ask a simple question: If you're curious about Scala or have recently adopted it, what were/are your difficulties?

Hopefully we'll be able to translate this to "what can we, as a community, do to help?", so please, don't be shy :-)

Ittay Dror

unread,
Aug 5, 2013, 10:34:27 AM8/5/13
to Tomer Gabel, unders...@googlegroups.com
I love Scala. My difficulties with it were wrapping my head around some of the magic syntax it has. E.g., this looks nice:
l match {
  case a :: b => println("hi")
}

This looks very neat, but it means I need to understand:
  1. What is match: so I see it is syntactic for unapply on the object in the case. What is that object?
  2. I then find that objects can have any name. Specifically, here it is '::'
  3. Then, there's a special syntax for binary extractors in case where a :: b translates to ::(a,b)
  4. And then realize that println comes from predef where it is typedefed to the real println in System.out.

So a simple snippet leads to a lot of learning.

The other hurdle is that many blogs are full of mind bending tricks you can do. Where's in Java the blogs are usually on how to work with an API, scala blogs are more about how you can bend the language. 

The final one is convincing people that scala is worth it. I think the crux of the issue is that most java developers want a language to work with other APIs. The language is a "glue" to facilitate use of collections,hibernate,spring, etc. Scala makes the "glue" feels nicer, so what? In my case, the reason I learned scala is because the CTO decided he loved the language and so made my team learn it and also established a study group. But when his focus changed to do other things people immediately went back to java.

Ron Gross

unread,
Aug 5, 2013, 9:31:34 PM8/5/13
to unders...@googlegroups.com
Can you Tl;DR his keynote for us?

Erez Bashan

unread,
Aug 6, 2013, 9:45:53 AM8/6/13
to Tomer Gabel, unders...@googlegroups.com
I fully agree with Johnson.

I remember, a couple of years after C++ came out, there was in book "Effective C++" which kind of went over the pitfalls and C++ and guided us how to *really* program in C++ (best practices etc).

I'm missing such a book/something in Scala (maybe it is there somewhere ?). The language is infinitely richer than C++, and to my conservative mind has infinitely more pitfalls I can fall to. I would love to have some guidance what *really* is ok to use, what are *really* good practices as opposed to academic tricks and experimentation. And it doesn't help that in Scala anything can be done in at least three ways. And it doesn't help that there isn't a guide even for the "minor" things (naming, brackets, spacing, etc).

Erez
Reply all
Reply to author
Forward
0 new messages