I am pretty much against bugs. Ha!, I hear you say… ‘Pretty much against…’? Yes. Of course, I hate the little tiny creatures in programming code just as much as the real thing. But somehow fumigating a bunch of .cs or .js files does not really take care of the problem and my computer usually acts funny then three days later.
I was usually under the impression that you can eliminate bugs altogether. And to be honest, I do try to hold on to that thought, but it is getting harder. The problem is also that it is getting harder to actually find the cause of some bugs, and it is harder to point fingers to whom to blame.
Of course, the first level of blame lands on the programmer. And believe me, working a lot with new-comers into the development business, it sounds like most know their languages, but not the logics of good development. Of course I claim that I was not like that when I entered the workforce almost 20 years ago. I was way worse.
Right now a green developer loves to prove why they do things they do, because they taught them in school. But 20 years of pure experience, just like driving a car, being in long term relationships, or a hobby turning into a profession teaches you one thing we all know; school teaches you the foundation, experience teaches you the skills.
And if I see what can be done with computers now than when I got my hands on the old Wang and IBM computers in the early ’80s, I am absolutely amazed what some people can achieve.
But, back to the story. Bugs are hard to track these days. Because our computers are so vastly more superior than we had them before, there are layers upon layers of platforms and codes that everything is running on. And although that definitely reduces time in development, if not handled properly, it also is a maze of code that can easily be broken.
I still like working on everything writing all the code myself. I learned not to do it anymore, but it still feels more ‘safe’ to me. Building my own connections to a database, creating my own libraries and then use them. The reason why is that I am in control and the amount of layers upon what really cares is reduced by at least one.
Take jQuery for example. I do use it in many web production, because it simply is easy to use, and it creates better looking sites in a shorter amount of time. But it also brings in a huge disadvantage; it is not fully compatible. The newest versions are not compatible with older browsers; and that makes it more or less pretty useless for a wide aspect of sites.
The benefits outweigh the issues, but still, if I want to use the most solid version accepted by the most wide array of browsers, I am working 3 full versions in the past. Somehow, that doesn’t sound good to me.
But when you are developing for the web, you have to deal with your own code, then, say, jQuery as a library, your website itself, the browser it runs in, the server it runs on, the clients’ computer, the web server platform, and everything else until finally you hit the core basics of your computer. And one bug in any of that huge skyscraper of codes upon codes can topple everything.
And it makes me sad because fixing a problem because a whole lot more difficult, if not impossible, from time to time. Take the new computer of my wife that I actually recommended her to buy. A Samsung laptop, nice reviews, and wonderful Windows 8 index score and she has one problem after the other with it, with her laptop producing blue-screen-of-deaths on a regular basis. Now I am a huge promoter of Windows 8, and since I run it on all my machines, I never had one problem or BSOD.
So checking on her computer, there is no mistake to be found. Her drivers are fine, the log files are fine… no sign that anything ever goes wrong. But there it is, after a couple of minutes, it breaks down again.
And I become helpless. Somewhere, if it is in a hardware driver, in Windows, in the programs she is running, there is an error… but it is nowhere to be found. And then suddenly the option is to simply buy a new computer. And I hate giving into it. But I also don’t know where the blame is. I can put a lot of elements on the ‘this is not the problem list’ but it still leaves me with gazillions of options where the bug can be.
It is the age old law of progress I guess; The more we can do, the more can go wrong. And our tolerance of bugs is now so high, that we just accept some vital things going wrong these days, and we simply ignore them. Even I do that; if there is a bug in our site that does not affect more than 3% of all the visitors, it is classified as a low priority. It is sad but true. Especially if at the core it is a bug already recognized in a type of browser and the manufacturer is already fixing their problem, I have to decide to wait for their solution.
It makes me sad though… because I cannot wait to see what all is going to be able to do with computers in the future, it also worries me that if this problems becomes bigger than it already is (and it will) that the issues we experience will also be bigger. Now, don’t get me wrong, it will be something that will become a whole industry on its own to track and fix these issues, and when that happens, it is just a source of income and a perfect career move to have people move over to.
But I think I am getting older, and seeing some newbies completely coding off the deep end, I do worry.
Yes, I will be the grumpy old guy you know from your street, on computer lane. With my walking cane talking about the good old days. You know, those days where one bug could trip your whole computer. Yes, the time that Windows 3.11 did not have BSODs, it simply crashed your whole computer at once.
Yeah… those were the days 😉