by adi
border:

Enthusiasm is overrated. Developers who get religious with their programming language is something I can’t understand... Religion, you know, blinds people...

 

by ittayd
border:

Coda Hale is Yammer's infrastructure architect. Yammer is moving their infrastructure code from Scala to Java. Typesafe's CEO (the company founded by Scala's creators) asked him for his reasons and his email was made public by mistake. Read more here

 

I've worked for 2 years now in on a complex scalable service exposed via web-service created in Scala and my experiense was very different. Here are my thoughts.

 

First, to summarise the main points of the email:

by ittayd
border:

Dependent types is a term that describes using values as types.  This means you can encode some properties of an object in its type. Once you do that, it allows a type checker (a compiler) to verify that the object (type) is used in a suitable way.

 

For a trivial example, imagine that Scala's AnyRef would have been defined as: 

AnyRef[Null <: TBoolean]

 

Where TBoolean is:

trait TBoolean
trait TTrue extends TBoolean
trait TFalse extends TBoolean

 

by ittayd
border:

.

by ittayd
border:

A collection of lessons for learning Scala, created by Twitter.

by ittayd
border:

All the lectures from the last Scala Days conference, including videos and slides. Lots of good stuff.

by ittayd
border:

This is a short post about an experience I had where the loss of type safety caused a nasty bug.

 

Look at the following code:

val tenYearsFromNow:Long = System.currentTimeMillis + 10 * 365 * 24 * 60
* 60 * 1000

 

It has a bug. Can you spot it?

 

The bug is that 10 * 365 * 24 * 60 * 60 * 1000 is computed as an integer and oveflows. tenYearsFromNow then holds a value that is twenty days from now.

 

by ittayd
border:

A series introducing Scala to Java programmers.

by ittayd
border:

snakked is a Scala library to extract information from a few formats (xml, json, beans) retrieved via URL / file.

by ittayd
border:

Dependent types is a term that describes using values as types.  This means you can encode some properties of an object in its type. Once you do that, it allows a type checker (a compiler) to verify that the object (type) is used in a suitable way.

 

For a trivial example, imagine that Scala's AnyRef would have been defined as: 

AnyRef[Null <: TBoolean]

 

Where TBoolean is:

trait TBoolean
trait TTrue extends TBoolean
trait TFalse extends TBoolean

 

Pages