Scala Blog.
About:
Some of the interesting Scala features and idiosyncrasies.
As a experienced JAVA coder with no prior experience in functional programming I wanted a good overview of Scala language. There are tons of great tutorials to learn Scala out there. Specifically, the Martin Oderskey's coursera course is really good. But if you just want an introduction to Scala I recommend this video. The speaker keeps things informative & interesting till the end of an hour long video :)
Google Guice is the dependency injection framework for JAVA and Scala. I had encountered an interesting difference between how Guice integration @Inject is used in JAVA and Scala. All the docs on Guice Github page teach you how to use Guice with JAVA. For eg. this is how you would do injection in the constructor of a java class.
class BillingService { private final CreditCardProcessor processor; private final TransactionLog transactionLog; @Inject BillingService(CreditCardProcessor processor, TransactionLog transactionLog) { this.processor = processor; this.transactionLog = transactionLog; } public Receipt chargeOrder(PizzaOrder order, CreditCard creditCard) { ... } }Here @Inject is how you tell Guice that you want to inject this constructor. Now, it seemes intuitve that in Scala @Inject should work. But notice a valid Scala code below. The brackets after @Inject is a must in Scala.
class BillingService @Inject()( processor: CreditCardProcessor, transactionLog: TransactionLog)