Programming hints and tips

Work with your computer; use tools to do your work

As a programmer, you only spend a small part of your time actually typing code. Most of your time is spent thinking. Most of that thinking is probably about how to solve the current problem, or how the system should be designed, but a lot of it is about where the change goes, or where the code with the error is.

Since humans are very good at creative work, but lousy at repetitive work (in both cases, compared with a computer), it makes sense to get your computer to do the grunt work for you. This means creating and using tools to do the repetitive pieces of your work, and free your mind for the thinking part of the job.

Of course, you don't want to have to write a search program every time you have to look through the code. Part of the trick to using tools effectively is to learn what tools are out there. With the right tools, and enough knowledge about how to use them, you can get the computer to do a lot of your work for you.

Most programmers know about the grep tool and use it for simple searching. It saves us from writing that search program every time we have to look through the code. But did you know that grep can do more than just search for strings? By getting familiar with grep's options, you can use grep for more than just searching. You can use it for counting errors found in test logs, for creating, or helping to create, batch files which you can use for fixing code, or many other things.

And grep is only one, simple, tool. There are many other tools out there. I encourage you to find out what tools you already have, and take another look at the options they provide. With a little human creativity, you can probably use some of the tools you already have to solve tomorrow's problem.

Want to:
Read more from the soapbox
- Read Awk Words.
- Look at my AWK scripts.
- Read Robert's Rules Of Coding.
- Go back to the front gate.
- Visit another wagon.

Make a product that even an idiot can use, and only an idiot will want to.
Page maintained by Rob.