Picking a new language – Part 2 – Which one?

11 03 2008

I ultimately decided that Scala is the ideal language for me to learn right now. Why? I want a language that runs on the JVM and integrates with Java because cross platform support is important to me and I want to leverage my existing knowledge of the Java class libraries. I also wanted to learn more about functional programming, having used both imperative and object oriented programming languages before. And I wanted to steer clear of dynamic languages, at least for now. I think the next language I learn after Scala will be a dynamic one.

On this blog I will document my progress as a Java desktop application developer using Scala to write real desktop applications. I figure this will be an interesting use case and a contrast to the mathematical and web application examples you will find elsewhere.





Picking a new language – Part 1 – Why?

6 03 2008

I keep asking myself why do I want to learn a new programming language when I am already comfortable and productive with Java? I think the honest answer is that I am bored! I have been programming (or trying to) since I was a kid. Over the years I’ve used various forms of BASIC, Pascal, Delphi, ProTEL (proprietary real-time embedded language), C and Java. I’ve also dabbled with assembler, LISP, Cobol, Perl and JavaScript at some point or another!

Between the ages of 16 and 26, I learned how to program properly, starting with Pascal and ending with Java. On average I learned a new language every other year during that time. In the last 5 years I have programmed only in Java and a little bit of C. I have taken a cursory look at Ruby and Groovy in that time, but I haven’t dedicated any time to them or used them in anger, so I figure I owe myself at least two new languages this year!

The next question that I have to answer is what to learn, which I’ll pick up in part 2!