Kibbee.ca
icon
Programming is hard.

I've always been pretty good at programming. At least a little better than average. I like to think so anyway. Then every once in a while, you see something like this, and you start to wonder why some people think that programming is easier than it really is. I'm talking specifically about the last part that states:

A program is thus a collection of elementary objects that use signals to communicate. This approach is ideal for graphical programming and the use of plug-compatible components. Just drag them and drop them, and they connect themselves automatically. This will open up programming to a huge number of people that were heretofore excluded.

Programming isn't that simple. There will never come a time when we can drag and drop components around and get a fully functional program. Sure you can use VS.Net, drag around some components, enter your connection strings, and you have a fully functioning CRUD application. But you really haven't programmed anything. You haven't applied any logic to the data you're entering. You can store and retrieve data, but you can't do anything with it.

Programming is hard for 2 reasons. The first reason is, is that people have trouble explaining what they want. Ask a programming what they spend most of their time doing, and it's probably something like going over requirements, trying to figure out exactly what they mean. Most people will say they want one thing, when what they really want is another. They don't know what is, and what isn't possible, so they'll ask for completely outlandish things, or they'll ask for something way more complicated than they need, because they don't see the easy solution.

The second reason that programming is hard, is that people have trouble explaining what they want. Wait now you say, didn't we already go over this? You're a quick one. Let me explain. Now that they programmer has everything in his head, and all the requirements are sorted out, he now has to tell the computer what he wants. Now this is even harder than the first step. Because computers are dumb. Even dumber than people. So, when you tell a computer to do something really stupid, the computer will do it. With blinding speed and accuracy. The computer doesn't question your logic, so long as your sentences are grammatically correct, it just follows instructions. This can have dire consequences. Most of the times when programs crash, or don't do as they are expected, it's because the programmer didn't properly explain to the computer what it was supposed to do.

So when you take those two major aspects of programing, 1, getting the people to clarify what they actually want, and 2, getting those instructions to a computer in a clear and concise manner, it get's really hard. So when you anybody recommends that non-programmers should program, or that there should be a way for this to happen, don't believe them. Programmers are trained, and work their whole lives trying to tell computers what they want, and they still don't do that good of a job. What makes people think that people who have trouble getting their point across to people would have any more luck getting their point across to a computer?

One last point. If you are a programmer, and are working on things that you think could be done by dragging and dropping some pre-determined components. Well, I feel sad for you, because you aren't really programming, and you should be doing something much more interesting than dragging controls around a form. You should be doing something that racks your brain, and pushes your skills to the limit.

No Comments Posted