Monday, December 25, 2006

What I want (for now)

I want to learn more about Scala. I've already read most of the documentation. I even did some hello-world type exercises. But, that is about as far as I can go without trying to apply it to some real-world problems. I don't have any extra time to make up problems to solve, which means I would have to use it in projects at work. Doing so presents a couple of challenges:
  1. Using a new language can be incredibly unproductive (at first) and detrimental to deadlines. I can't afford to bite off too much.
  2. We have a team of 5 developers, and being able to work with each other's code is very important. I would be sorely ticked-off if I had to fix a bug and found myself struggling with some scripting-language-of-the-week.
I intend to use the next few weeks to explore ways to minimize the first challenge. Since Scala compiles to Java bytecode, we should (in theory) be able to gradually incorporate Scala code into our projects where it makes sense and provides some benefits. In practice, there are many issues relating to our environment and the libraries/frameworks/tools that we use that might cause heartburn.

The second challenge is not as straight forward. Personally, I'm interested in learning new concepts and applying them. Scala has many features that make it attractive as an alternate language, especially for Java developers. However, what is interesting to me is not necessarily interesting to other people. Plus, I have a history of chasing interesting but impractical technologies.

But, I figure that exploring the technical challenges can keep me occupied before I try to convince four other people that using Scala is a great idea.

No comments: