"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog


Thursday, June 28, 2007

Not My Type, Or: Tests As Hypotheses

From the Scala discussion list...

I bet 90% of the type system goes over my head.
Me too. I think I gave Scala a fair shake for a few days. I have programmed a fair bit more than that in Haskell seven years ago.

I "get" functional programming when it comes to lists, recursion, higher-order functions, lazy evaluation, even monads at the "pragmatic" level of state, I/O, etc. in Haskell.

What I don't "get" is thinking in the various type systems. Maybe this could be called "type-first programming" as opposed to "test-first programming".

For this reason I believe, and the discussion thread, with the few posts it has, starts to confirm, that Scala has a tough row to hoe to become significantly more popular. A book is in the works, and perhaps the momentum Scala has gained so far will promote more in the "how to think in Scala" category.

As it stands I am ready to put Scala alongside Haskell, on my shelf for programming languages: interesting, not my cup of tea, nothing I will invest in at this point, but I am willing to be convinced if others do the leg work that makes the case for taking it back off the shelf.

I remain a dynamic language fanatic, especially a test-driven one, where small, incrementally developed tests are my program's hypotheses, as opposed to various type systems.

I would like to see other languages follow Scala's lead in finding fairly simple ways to become significantly more concurrent within a JVM. Either that or abandon the thing for a better platform.

1 comment:

Patrick Mueller said...

I gave up after the +/- type constraint stuff. Doomed by it's own complexity. Bummer.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.