Another day, another dollar — how to become a better programmer

By Ron

On my way off to work once again. I feel good today, slept well, and a new found enthusiasm. That’s a hard word to spell. Thank God for spell checking :-) . But I wish I knew a way to keep my fingers on the keyboard more. When I invoke spell checking, a window pops up and I need to use the track-pad to select the word, and then click OK, and then click on the tiny little close icon in the window corner. Please tell me how to do all that without using the mouse. I’m using a MacBook BTW.

This morning I woke up just thinking about my job. I spent a day working on a problem, finding a solution — but I did it in the old C-style way, for that is the way I’m most familiar with and I feel most comfortable with. That is my 18 years of experience showing. Well… I showed it to someone else, and he showed me a different way of doing it — in the newer C++ way. Changing 20 files became just one file. And the change was smaller, simpler. But still, I find the C way much easier to understand. With C I can understand each line and know exactly what’s going on. With C++ it’s harder to know the actual flow. C++ is great when it works, but if things are not done just right, it can be very difficult to figure out why things don’t work. I guess C is the same way. I’ve spent countless hours, late nights, debugging code to find out why it’s just not working.

Strange, for the newer programmers not exposed to C, who learned C++ in school, 10 or 20 years younger than I am — to them the C way of doing things is a mystery, but they are so much better at C++ than I am. I need to try to get myself better with C++. Or, maybe I should leapfrog them and learn about C# instead? Or Java. There’s always something new to learn and I love learning. I think, above all else, that is why I’m still here. I can be thrown into any situation, with almost any piece of code or problem, and I can find a solution. This past year I worked on 7 various problems. If the code I’m working on is C++, then I try to find a C++ solution. If it’s older C code, then I work with C. I can work on the lowest geometry/math type algorithms, or the high level UI code.

I think my weaknesses is I still find it hard to look at C++ code and to figure out how to use it to create a solution. Like, if I see a class and I want it to do something more, I think of adding a method to it to do what I need. And when I look at C code, I know exactly what is going on. When I look at C++, I have no idea. I can cut and copy C++ code, but I don’t really understand why or what the best way…. it’s like reading Greek to me, and I realize that really I don’t understand it enough.

Really what I need is to work on a design and then pass the design to other people and discuss it and figure out how to make it better. I think really C++ causes me difficulty because it requires too much brain and memory activity. Like I often get into the problem where I’m in a tool, it calls a class, which calls another class, and then I need to find the class it’s derived from, and go up and down the hierarchy, and deeper and deeper — and then I forgot how I got to where I am and even why I’m there and what the problem I was trying to solve. That is, C++ is like a maze to me and many times I get lost in it. Does this make sense to people?

I wish… I wish there was some C++ forum or a way for me to improve my programming skills. Not sure if I should learn C++, or Java, or C#. CSS though is nice.

Plan for today is to continue learning… learning about RW and how to modify the theme to make a nice blog. I like learning and it seems no end to the things to learn. The only question is how to decide what to learn.

Leave a Reply