The Competition Won’t Eat Java’s Lunch Anytime Soon

In a previous post, I drew some comparisons between the evolution of computer languages and natural languages. One such is Turing completeness: native speakers express everything they want with a limited toolkit of vocabulary, sounds, and syntactic rules that must not be too hard to master. Another parallel is the slow, incremental nature of language evolution. Languages avoid breaking changes, given the billions of lines of legacy that would otherwise be rendered unreadable.

Image by Cup of Couple licensed from
Continue reading “The Competition Won’t Eat Java’s Lunch Anytime Soon”

Java Is More Like English Than You Think

At a recent in-house event celebrating the launch of Java 17, I was asked to give a talk on the future of the language. I don’t have a hotline to Oracle, so I took the opportunity to dust off my linguistics degree and point out how the nature and comparatively glacial evolution of human languages is not unlike what you can witness in computer languages, compressed within decades. This is the first of two posts based on that talk.

Image by Shvets Productions licensed from
Continue reading “Java Is More Like English Than You Think”

Agile’s Creative Adaptation Can Be Exhausting

This article was previously published on DZone.

No product of our human intellect, however ingenious, is immune to criticism. Especially if it’s ubiquitous, it will meet with disapproval somewhere. The way we apply Agile principles is a hotly debated topic, whereas the community generally stands by the original Agile Manifesto. Is it therefore a question of not doing things right, or might we not be doing the right thing? After all, large-scale projects still founder and software quality has not improved by leaps and bounds since 2001. 

Image used under license from
Continue reading “Agile’s Creative Adaptation Can Be Exhausting”

You’re no rockstar, but you have more Yoda appeal than you think

I don’t like to blog about blogging, but there’s an opinion regularly put forth by fortysomething developers that gets me worked up. The gist runs as follows: the writer no longer likes being a software developer and based on their own anecdotal evidence wonders why so many other similarly disillusioned old hands flock to management positions. Disappointed that real progress in the art of programming is stagnant, they complain that people – not them! – keep making the same stupid mistakes. As if history doesn’t repeat itself everywhere all the time.

Not a dead-end career yet!
Continue reading “You’re no rockstar, but you have more Yoda appeal than you think”

Don’t share your hobby projects for the wrong reasons

There is a consistent thread in my career, other than not having been fired from a project since 2001. It is the repeated failure to carry an Open-Source project that deserves to be called more than an amateur attempt. I throw in the towel. I’m not going to breathe new life into my Hibernate-killing polyglot ORM framework for the JVM. And if I do, I won’t share it with the world. I have given up and given in, and I know exactly why it happened – or rather didn’t happen.

We’ve all heard and probably repeat the claim that any serious developer should boast an impressive portfolio of Open-Source work. I’m not talking about being a core contributor to the likes of Spring or the Apache foundation. If that were a prerequisite to landing a job, I think few of us would work at all. I mean the thousands of one-man-band projects out there on github in varying stages of abandonment. Merely showing your job is also your hobby doesn’t make you special.

Image from
Continue reading “Don’t share your hobby projects for the wrong reasons”