Programming come across to many as a profession which is boring and geeky. You would be deemed a ‘no-lifer’, as you do nothing in front of the computer for long hours except programming. In contrast to the general consensus on programming, I think it is a very challenging profession.

It requires more than just typing skills. You are not considered a programming guru just because you scored an ‘A’ grade by ripping a project done by a fellow classmate during your Polytechnic days. Strong logic, planning and a good analytical mind are a definite must.

Despite having a passion for programming, I believe I speak for the vast majority of programmers when I say that we share a love hate relationship with it. The grueling process of coding ultimately leads to a tremendous sense of achievement when we are able to obtain our objective. In rare occasions where we meet a stuck in a mud problem, a simple trip to the toilet or a good few hours of rest would get our minds moving into the right direction. Of course this only occurs if you have no problem grasping programming as a whole.

Language advancements

However regardless of which programming language you are dealing with, be it one of a server, browser or database, there is always going to be advancements. For e.g. functions being deprecated in favor of new ones which would utilize memory more efficiently. In short, we would have to find an alternative to the deprecated functions to obtain our objective.

My current theme; Minimoo is heavily enhanced by the MooTools Javascript framework. Despite knowing MooTools 1.2 would be in full swing in a very short period of time, I still stuck to coding with version 1.1 for stability. Less than 2 weeks after completing my theme, MooTools 1.2 was thrown in and I had to replace the deprecated functions with new ones as well as take another approach as there was a substantial difference between the 2 versions in the way they were constructed.

In cases whereby we have been so used to a particular version’s syntax and approach, we are totally lost when we are being smacked with something totally new. Such was the case in version 1.2, it took me a long time to come to terms with the differences between the two versions and eventually I managed to make use of the latest version to get it to do what the previous version managed.

Looking back, it was time needlessly wasted but in one way or another, it not only benefited the end users but the programmers as well.

As a programmer, what do you hate about programming?