On Programs and Programmers

Here’s something I’ve been thinking about lately:

Computers are much more about people than seems obvious.

Programs come out of people’s needs. People need to solve a problem. They contact a programmer or sysadmin or whatever to either write or configure a program so that it does what they need. The computer specialist gathers specifications to make it fit the general needs of the people who are going to use it and they regularly bring it over to be inspected.

Similarly, when writing programs one of the big things that people emphasize is that:
1. You should document what you’ve done so that others can change it later.
2. You be organized about the way you write your code so that it’s easy to figure out what parts connect to each other. Thus major advances in programming are more often than not about ways of making programs easier for people to understand. The horrible spaghetti programming that it’s so easy to do with assembly is replaced by functional programming which is replaced by object oriented programming.

The funny thing about this is that while normal people care about computers because they solve problems (in theory), computer specialists (programmers, sysadmins, etc…) care about them because of the activities they they are allowed to engage in while using them (troubleshooting, abstract logical problems, and so on). Thus, those of us working in the field tend to be excited about the small stuff that allows us to do our jobs and aren’t as bothered by things that are a little hard to operate.

It’s not too surprising then that programs tend to be a little harder to use than one might hope. Honestly, I can’t help but wonder if they will ever get better whle they are designed by people who like using computers.

So anyway, that’s what I was thinking about. It’s a little obvious but hey, it’s the first post in almost a week. I’ll try come up with an original thought tomorrow.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.