Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Scala: Martin Odersky’s Object-oriented meets functional: An exploration of Scala

DZone's Guide to

Scala: Martin Odersky’s Object-oriented meets functional: An exploration of Scala

· Agile Zone
Free Resource

Reduce testing time & get feedback faster through automation. Read the Benefits of Parallel Testing, brought to you in partnership with Sauce Labs.

My colleague Charles and I attended Martin Odersky’s ‘Object-oriented meets functional: An exploration of Scala‘ two day Scala workshop hosted by Skills Matter at the end of last week.

It was run by Iulian Dragos who wrote his Phd thesis on how to improve the performance of the Scala compiler.

The course was a bit adapted from the original in that it came at Scala more from an application developer’s point of view rather than that of a language geek.

Therefore there was more mention of the tools and frameworks that you might use in a Scala project rather than just focusing on the language.

We’ve been using Scala for just over a month on my project so we came into the course we a little bit of experience and having already read some books and blogs.

My general feeling was that this course would be more beneficial for someone who had never done any Scala and we had actually originally intended to go on the course before starting on the project but the timing didn’t work out.

At one stage it felt like we were reading a list of all the stuff that we’ve learnt over the past few weeks with respect to val/lazy val/def so we could probably have saved a bit of time if we’d attended the course first!

The most interesting bit of the workshop for me was when we worked through some exercises using the collections library.

I’m still not completely sure when one should be using a for comprehension as opposed to just calling the higher order functions directly.

I’d always thought that the latter was the preferred approach but Iulian was able to create some really concise solutions to problems by using for comprehensions.

We got the chance to talk to Martin Odersky over Skype towards the end of the workshop and he pointed out an interesting slide deck doing the rounds on twitter which suggests ways to convince your boss to let you use Scala.

It mainly focuses on the fact that you’ll have less lines of code and therefore a more maintainable code base.

I think the way to ensure that this happens is to take my former colleague Graham Tackley’s advice and start off coding Scala as “Java without semi colons”.

If we start by trying to include as many of Scala’s esoteric language features in our code as possible then I imagine we could bury ourselves very quickly!

Overall this is very much an introduction course aimed at application developers who haven’t used Scala or a functional programming approach before and for that audience I think it’s reasonably useful.

I expect Miles Sabin’sAdvanced Scala Development‘ training course would be more interesting to people who are interested in the language more than the tools or have some experience with Scala already.

The Agile Zone is brought to you in partnership with Sauce Labs. Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure.

Topics:

Published at DZone with permission of Mark Needham, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}