The obsession with building a better screwdriver

I was ever so excited to join a team working on a major Scala codebase for a suite of in-house reporting tools. My only experience with the language up to that point were self-study, hobby projects and a Coursera course. Two years on and I am mainly doing Java again, at my own request I might add. Has the love affair reached its end? Not entirely, but it has cooled.

There is a pretty big gap between the conceptual soundness of a language and the grim reality of building working software with it. However well designed, it can never be a joy to work in without a stable and extensive support system, starting with the IDE through to testing frameworks, proofing tools, etc. No JVM language can match the range and maturity of the tooling we have for Java, especially when you go beyond mere IDE support.

Continue reading “The obsession with building a better screwdriver”

Do we need a whole new “Ekosystem”?

There’s a joke that if you ask a developer to code a program to process widgets, they’d rather build a domain specific language and tool stack first to make life easier for when they might one day build the software that does the actual work.

A lot of development effort is under way to build a true Kotlin ecosystem, but I don’t think it’s all good news. Read more in my latest post for NLKUG.

Kotlin’s invoke: it looks like a duck, quacks like a duck, but isn’t a duck

SUMMARY: Kotlin has given us a fresh perspective on some very ingrained OO-habits, particularly the pervasive use of nouns for objects that have only one public method.

Speaking like a native

Pronouncing a foreign language so convincingly that you can pass for a native speaker is one of the hardest tricks to pull off. While it comes natural to young children it is something that very few adults ever master. That is because our ears have become attuned to the speech habits of our native language and we interpret every foreign language according to these patterns. Continue reading “Kotlin’s invoke: it looks like a duck, quacks like a duck, but isn’t a duck”

The case for Kotlin

Ryan Cooke puts the euphoria about Kotlin into perspective in his post by highlighting some of the challenges in using it for production. He makes some good points, to which I would like to add my own.

He mentions that Kotlin has only recently reached the top 50 in the TIOBE index. Actually I think that’s no mean achievement, given that this ranking is calculated from the number of search engine results for queries containing the name of the language. Kotlin simply hasn’t been around long enough to amass that much internet presence. It says little about growth potential, whereas the recent benediction by Google as a first-class Android language bodes well. Continue reading “The case for Kotlin”