Did you ever question your decision to become a software engineer? Have you ever wondered how on earth you could possibly think that fixing other people’s screw-ups for a living was worthwhile? Don’t you constantly remind yourself that spending one evening in the purgatories of hell would be much more pleasurable than that upcoming all-nighter you have to pull off because your team is behind schedule again? Or are you just that masochistic to do it voluntarily in your free time because that’s what nerds do? Actually, most of us probably do that. Coding sucks, but we’re loving it! Continue Reading…

When it comes to software architecture classes or programming courses in general, the term “pattern” seems to be the ultimate buzzword at universities. “Use this pattern here, that one over there, oh and here do it like the GoF but hell don’t you dare doing it like that guy did back in 1995”. The Gang of Four (GoF) has done quite a job promoting more or less standardized ways of dealing with certain coding problems. Most of these patterns are straightforward and frankly plain logical, but it’s good to read about them anyway. However, there is one specific pattern that gets hate from (seemingly) every coding-related website on the Internet. I’m talking about the infamous Singleton Pattern, probably the most overused and frequently misplaced programming anti-pattern of all time that’s creeping in even the best code bases – and of course it sucks! Continue Reading…

Welcome to this round gents and gals, it’s time for one of the big boys. C++ is probably best described as the grand-daddy of many modern, object oriented programming languages. Basically, it has been wielding influence all over the place and it is undeniably one of the most popular languages in existence that clearly deserves its place – or does it? Especially among newbies, C++ is commonly being hyped up to heaven – that is, until they fall flat on their faces and fracture their noses for being too cheeky. In the shadow of its popularity lie numerous flaws and caveats that will get even the most experience programmers hurt sooner or later. Frankly, it sucks – though the reasons why might not be entirely obvious. Continue Reading…

I enjoy programming. I love being creative. Solving problems is a challenge for me. If you’re a fellow nerd you might relate to that. You might also agree that sometimes our tools suck big time. “But hey, they are just tools. Use the most appropriate one for your tasks, you have a choice!” – Well, nope. More often than not I don’t have a choice. I can’t just switch to another language when I have to do maintenance work or bug fixing on a project. I can’t choose a tool that’s not compatible with our back-end system. Sorrowful I had to realize on numerous occasions that there are simply no alternatives. Frown Continue Reading…

I am not planning to continue writing exclusively about programming languages, but since I seemed to get away fairly well with my last rant about why PHP sucks, let’s continue down the same road and bash just a little on JavaScript. Repeatedly. With a sledgehammer. Smile While JavaScript’s quirks aren’t nearly as bad as PHP’s, they are still annoyances and will make your life miserable. It’s another example of a language that’s here to stay, simply because it is the only one that has been widely accepted and adopted for client-side browser scripting. At least with PHP you have a choice, with JS you don’t. You’re stuck with it. And guess what, it sucks. Continue Reading…

There are so many awful things involved in this abomination of a high-level programming language, it outright exceeds full-blown ridicularity. PHP sucks on so many levels that it isn’t even funny anymore mocking it. To be honest, it just makes me sad. Frown Its popularity is completely undeserved and I repeatedly find myself facepalming, thinking about how it is possible that this piece of junk gained even the slightest hint of acceptance. Believe it or not, I basically created this website just so that I could rant about PHP at an appropriate place. Continue Reading…