Programming is not about programming
I was reminded today of what should be ever obvious. You can not program the solution to any problem properly until you have fully bound the problem itself. With all the hullabaloo over this feature or that feature of a particular language, it’s easy to forget why your even programming in the first place. The obvious answer… to solve problems. While writing a script or an application you always create a form of mental inertia. The language you’re using tends to call out solutions to problems you’ve hardly begun to understand. This is a good thing, to a point. I think this inertia stems from the collective input of the creators of your language. The shape of the language drives you in certain directions. The same can be said about design patterns. You’re gaining production time by not reinventing the wheel every time you code. It is important to remember that this inertia, like the skier flying down hill, has to be controlled. But that was a lesson I learned on a different day. Today I had to solve a large problem twice because I let the language and patterns get out in front of me. Programming is not about programming. It is about problem solving. As obvious as this is, I really felt the need to remind myself.
I don’t know about you, but the world has always revolved around me. As my inertia heads one way, no walls stand in the way.
Seriously, has not the scorn of humanity been a lack of skills to communicate. If only we could say exactly what we thought, and verbalize the pictures as we saw them, there wouldn’t be a need to change directions due to a conflict of thoughts.
Amen to that my friend. I think the lesson learned here applies to many aspects of our job. Little tidbits like “Keep it simple” and “Stick to the basics” fall short because what we do in no way can be described as simple or basic. What we must do, and do well, is execute the fundamentals of our trade. It just doesn’t hurt to review what those fundamentals are from time to time.
Another note about programming. It is amazing how many things are out in the virtual world. Keeping up with them, or keeping up with your friends who do a better job than you at keeping up with them is an effort in itself. But keeping up with them, helps in the long-run when trying to find the best way to keep on track of a project.