Yes, I am a Java developer and yes, I still like the language. But sometimes it feels like I should ignore everything I learned about code quality and write really bad code. I often get the feeling, when somebody looks at my code, it looks too simple and people think a monkey could write that. And it works without a problem so the task was a really easy one. So why should they pay me that much money. If I would write terrible, not understandable code, people would probably think, that code looks not easy at all, the problem must have been a hard nut to crack. And because the code is hard to read and test, there are probably some bugs in it, so they need to pay me more to fix them. The same is true for extensions, simple understandable code can be extended way to easy, so I need less time that I got paid for. And if I don’t use code generation, but rather use a language where I also have to take care of the language itself, instead of just the problem domain itself, I even need longer. What – again – means more money.
The problem is, I like writing good, simple, understandable code, that is easy to maintain, way too much. And I also like code generation, because it speeds things up and makes the whole product more robust. But sometimes there is no argument good enough, to compete against code in old languages, that was “optimized” for years. There are no tests, but hey it somehow works more or less, so why change it.