I think I mentioned this before but I, too, am getting fed up. And you know what? I lay the blame squarely at the feet of Java and C#.
They are languages that promote a "more is more" philosophy. They are languages that promote ivory tower construction. They are languages that rely heavily on 3rd party tools to be usable. They are languages that do not promote simplicity. They are excessively verbose languages. They are championed by mediocre programmers who, in turn, come up with mediocre frameworks who tout them as state of the art. They are languages that have their mediocre programmers convinced that type systems make their code more robust (it doesn't). They are languages controlled by companies that do not have your interests at heart. In short, they are languages that suck the joy out of programming.
Each language generally forms a community of sorts. A certain personality then tends to develop from that community based on the type of developers that it attracts. The Java and C# community, quite frankly, suck because their programmers tend to be mediocre. The sorts of programmers who just want to collect a paycheck and go home. Paul Graham hit on this, then backed down. I won't. Look at EJB. It's convoluted SHIT. How about Struts? More SHIT. Like Forrest Gump's mom used to say, stupid is as stupid does.
Oh, to be sure, the makers of these languages do their best to make them more dynamic with things like "Generics" or "Collections". The mediocre followers of these languages proceed to get very excited about said features because they have never used a dynamic language in their life and don't realize just how unimpressed the rest of us are. But they will never, ever, be dynamic languages.
This all brings me to why the software industry is getting worse. It's because the makers of these languages, especially Microsoft, are not interested in making programming easier. If anything they want to make it more difficult. Just look at the WS protocol MS is touting now. More convoluted SHIT. It's not about simplicity, it's about CONTROL. It's about tying you to their language, their tools and their platform.
I can argue with Java and C# programmers all day. I and others may even convert a few to Perl or Ruby or Python. But, it's a losing battle. Sun and MS are winning the battle where it counts - with upper management.
And so, I have to decide what I want to do with my life if I get out of development. Should I stay in computers and switch to something like system administration where I don't have to deal with this crap any more? Or should I say goodbye to programming forever and do something else? Carpentry? Real Estate? I don't know. All I know is that I'm tired of the way things are and where they're headed.