Logo

Raúl Raja

  • Archive
  • RSS
  • Ask me anything

Scala Resources & Community links for the newcomer

During the last couple of months I have been asked a few times among colleagues and friends hot to get started with Scala. People come to Scala from diverse backgrounds such as… - Java folks looking for a better Java or just tired of waiting for Java features other modern languages such as C# already offer. - Ruby, PHP, and programmers that come from a scripting background looking for type safety. - People trying to bridge the best of both OOP and Functional paradigms. Scala is a vast language full of features with a very technical community. Don’t let your first step discourage you as you don’t need to know everything about Scala to become productive quickly. People in the mailing list will often talk about some crazy shit you don’t need to know just yet. Monads, Monoids, Combinators, Macros and things you may not even know how to pronounce,… Seriously guys as you start to learn about it it’s gonna blow your mind. It’s gonna take some time to digest all the info but it sure it’s worth it. Here is a few resources / steps may help you get started focused on its community and not so much on the technical details of downloading and running your first scala “hello world”

  1. Take the Coursera Progfun Course

    The first thing I’d recommend based on my experience is that you take the Coursera Progfun Course. This course sure is a great learning experience folks not used to functional programming that come from an imperative lang such as Java. Martin Odersky guides you through very interesting concepts regarding functional programming, immutability, collections, tail recursion, the Scala programming language principles. It is a great source of knowledge even for the most experienced Java programmers.

    image
  2. Subscribe to the scala-user mailing list

    A very active mailing list with topics ranging from newbie stuff all the way to hardcore discussions about new lang features. People are friendly and eager to help.
    image
  3. Join the G+ Scala Community

    Complementary to the scala-user mailing list there is also other social resources like the G+ community. You can find people sharing here articles, questions and all things Scala.

    image
  4. Browse available books see which one fits your style better.

    There are dozens of Books by now about Scala and other related scala frameworks and libraries such as Play, Akka, Lift…

    image
    Other books not listed above
    • Atomic Scala
    • Scala for the impatient
  5. Subscribe to RSS feeds to find interesting articles about Scala.

    image
    • Cake Solutions Team Blog
    • Implicit.ly
    • Kotan Code
    • Lambda the Ultimate
    • Reddit for Scala
    • DZone Scala Search
    • Scala and typesafe stack in Stack Overflow
    • Algorithmically Challenged (Awesome posts by D. Sobral)
    • Artima Scala Buzz
    • Blog of Adam Warski
    • Code Commit
    • Coderspiel
    • Daily Scala
    • Foursquare Engineering Blog
    • James Strachan’s Blog
    • Jim McBeath
    • Planet Scala
    • Ruminations of a programmer
    • Scala-lang.org feed
    • The Typesafe Blog (Scala + Akka + Play framework)
  6. Swing by SpeakerDeck presentations and Github project lists

    Discover what the community is building with Scala. There are tons of great OS projects being currently developed on Github.

  7. Attend live events and meet the community in person

    • Scala Days - Major Scala Event
      image
    • Scala Tribes - Communities Worldwide
      image
    • Scala Meetups
  8. Other resources and links of interest to newcomers

    • 10 Scala One Liners to impress your friends @ Mkaz.com
    • Resources for learning Scala @ BionicSpirit.com
    • Up to Date Scala Documentation
Did I miss anything? Please contribute to this post with any interesting links and help fellow developers learning Scala find their way around the most interesting Scala resources available.
    • #Scala
  • 1 week ago
  • 1
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

47 Degrees in NYC for Scala Days!

If you are around for #ScalaDays and want to meet the guys at @47deg and @47deg_es, ping us and we’ll get together to discuss #scala and #apps over beers! cheers!

    • #Scala
    • #scaladays
    • #47deg
  • 2 months ago
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

Scala vs Java manipulating collections

One of the nicest scala features is for comprehension loops. They allow you to express the expected outcome of the loop and manipulate Seq, List and other collections in a way that saves time and removes clutter from its Java counterpart.

Consider the following…

https://gist.github.com/raulraja/4971984
The Java code is just straightforward iterate over the collection, turn its values to ints and then check if the int is even before we add it to a new collection. Both of the scala code result in the same result a List[Int] of even numbers. Depends on your style or the logic involved you can take several approaches.
  1. Go for the yield style where as you iterate over a collection with a for comprehension and a guard the yield sends new elements to the resulting List.
  2. Use the map and filter FP style approach where you map the collection to a new collection of Ints that is then filtered and yields a new collection of even ints.
  3. Check out some other ways to do the same task more efficiently in scala as well contributed by some members on the G+ Scala community
    • #Scala
    • #java
  • 3 months ago
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

Sending Email with Scala and Akka Actors

How many apps have you built where you have to send out emails for any variety of reasons?

As I make my way learning about Akka Actors I decided to use them in one scala app I’m working on.

I decided to used them for this task not just because of the scalability and easy concurrent model but also for 3 main reasons.

  • The builtin configurable supervisor strategy allows you to monitor child workers and decide what policy applies should there be an exception.
  • I could easily reschedule email delivery attempts on common email exception often times thrown by SMTP servers.
  • Actor routers allow you to dispatch messages to a pool of actors in an intelligent way. In this case we use the SmallestMailboxRouter which sends messages to actors in the pool with a smaller workload.

The code is dependent on apache commons-email and some built in play! framework 2 stuff but getting rid of it would be trivial for anyone wanting to reuse it on a different context.

https://gist.github.com/4543801
    • #scala
    • #akka
    • #java
  • 4 months ago
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

About

Co-Founder and Dev @47deg

Me, Elsewhere

  • @raulraja on Twitter
  • Facebook Profile
  • raulraja on Flickr
  • raulraja on Foursquare
  • Linkedin Profile
  • raulraja on github

Twitter

loading tweets…

Top

I Dig These Posts

See more →
  • Post via javielinux
    5 consejos para crear tus estilos en Android

    A continuación dejo algunos consejos a la hora de crear estilos y temas en Android. Todos estos...

    Post via javielinux
  • Video via jorgegalindo
    Video

    Ayer me puse tierno y posteé un video de como utilizar la tecnología para planear tener un bebe… Pues pilla! Como utilizar Google Glasses para ligar...

    Video via jorgegalindo
  • RSS
  • Random
  • Archive
  • Ask me anything
  • Mobile

Copyright Raúl Raja 2013.

Effector Theme by Pixel Union