A couple of days ago I received an #Ingress invite: I am addicted now. And I am not a hardcore gamer. The last video game I played with obsession was Boulder Dash Part 1, 2 and 3 on a C64...

You are playing the game in your real world (I can't wait to play Ingress with Google Glasses). We have winter now in germany. It snows and it is really cold, but I am hunting outdoors for Action Points.

Yesterday I found two not-occupied portals in my home area. This morning - before work - I decided to own the portals. They were located in a Botanic Garden, close to a Biology faculty in Hamburg. Normally, this is a public park. But they closed it because of snow and ice! There was a fence and a security guy at the main gate. I asked him to get in, but he said it was closed. Too dangerous. He asked if I belong to the faculty. I was holding my "scanner" in my right hand (Galaxy Nexus, making strange noises).

I think I could have said I belong to the University, but I did not want to "social engineer" him too much. So I said "no, I just need to get to this geo location", while pointing in the direction of the portals. He made a funny face. My answer made no sense to him. But I guess he was used to botanic scientists saying funny things to him, so he answered: "Okay, then go ahead". I "hacked" my way into the closed botanic garden. I attacked one enemy portal and occupied two other portals and linked them.

The place was beautiful. I was alone there. Just the snow, the portals and me. ﻿

This is one of the best pieces on programming and modeling that I have ever read.

"So you can write Java code that's object-oriented but C-like using arrays, vectors, linked lists, hashtables, and a minimal sprinkling of classes. Or you can spend years creating mountains of class hierarchies and volumes of UML in a heroic effort to tell people stories about all the great code you're going to write someday."

Steve gets to the core of the problems of the Java platform: Yes, you can write "un-bloated" code in Java, but people are over-modeling their software today. They create way too complex type hierarchies/networks, glue code together with complicated frameworks, making things more complicated than needed.

Read it carefully and then the next time you are writing code, just for one minute, try to forget all this pattern-madness, the mainstream OOP-theory and all the stuff you read on the web from self-appointed Java-Gurus and so-called "software architects" and ask yourself: How can I make this piece of code more simple.

Hm, my impression when reading Steve's blog post was that he was not after Frameworks but after the languages actually. My greatest problems with people bashing bad code style is that most people are not able to tell you how to do it right(TM). When you write a big enterprise application which evolves over the years I'm pretty sure most developers in the world wouldn't be able to keep it as clean and simple as an ideal program should be for the implemented features.

You could say that the problem is the system of evolving software as such but then, rewriting on every occasion is bad practice either. :-)﻿