The benefit of tertiary education — and its undeniable continuous devaluation over the years — is a broad and heavily debated topic. Whether getting a university degree is a worthwhile endeavor from an educational point of view or whether it’s just effort that directly translates into a piece of paper employers expect you to have is for every individual to decide. During my time on the computer science bench, I have often asked myself “why on earth do I have to study this when they could be teaching that instead?” The university’s priorities did not seem to align with mine, or with workplace requirements for that matter. In this post, I’m going to explore a number of topics that haven’t been taught at university when they really should have been.
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!
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!
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.
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:
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.