I’m a Java, C# C++ programmer by trade and having worked on software projects involving those languages throughout my 10 year career. Yet I have on many occasions struggled with dealing with the complexities in code written in those languages and am often disappointment with the lack of language support in those languages for dealing with those complexities.
For this reason I’ve been searching for better language alternatives where complicated code can be written concisely and expressively. By concisely, I mean code that can do as much, but written in fewer lines and by expressively, I mean code that is self-evident and can be easily understood.
Ideally the language should be performant, reliable and one that could realistically be used in a production environment. It should also interoperate with and ultimately replace an existing widely used language.
At this point in time, Scala fits those requirements well and is therefore the language with which I have the most interest.
The Scala language interoperates well with Java and runs natively on Java Virtual machine and is in my opinion what Java should have been. I intend to blog about why I like the Scala language and techniques I learn in this language that I think are noteworth in writing complex scalable software.