Get Adobe Flash player

Search

Search this site for:


Related Links






Valid XHTML 1.0 Transitional

Valid CSS!





Garbage To Us, Instructions To The Computer

The beginning

Software development process used to be a mysterious process to me also, until I actually become part of it.

What I know is that I can ask the software to do something just by clicking part of a screen that look like a button.

Most of the time when I try to look into what is inside the software using normal editor or word processing software -- I see garbage.

The question is how these "garbage" are created and somehow can control the computer?

What are the "garbage"?

The garbage is actually "instructions" to the computer. More specific, are instructions to the microprocessor inside the computer.

Microprocessor is a special kind of electronic chip that can process instructions. These instructions are referred to as machine code, machine instructions, machine language etc.

Since microprocessors are digital device, they only understand instructions in digital format -- binary -- ones and zeros. The garbage that you see when you open a software file using normal word processor is actually bunch of ones and zeros.

It looks like garbage because normal word processor tries to group these ones and zeros together, normally into group of 8 and interpret them based on standard that is called ASCII and tries to display them in form of ASCII characters.

ASCII characters are 256 characters that contains alphabets A to Z (capital letters), a to z (small letters) and numbers 0 to 9. Other than these well known characters, ASCII also defines other special markers to represent keyboard functions such as "escape", "carriage return", and "space". For the full representation go to http://www.lookuptables.com/

Garbage to us human, are instructions to the microprocessor. All things that happen in the computer when software is running are the result of the task that is done by the microprocessor based on instructions that given by the software itself.

In short software is a "recording" of instructions to microprocessor that is created and arranged by computer programmers. Whenever you do a double click on a software icon that launch the software is merely to tell the operating system to "play" the recorded instructions inside the software.

How programmers record the instructions?

When you want to record something into tape you can use tape player that has recording function. The tape player is the one that convert your voice into magnetic patterns that is copied into the magnetic tape. You don't expect some one will play around a magnet to magnetize the tape with the pattern that represents human voice. Theoretically it still can be done, but no point doing it the hard way.

It is the same for the software instructions. The instructions can be created by putting together the ones and zeros that represent the instructions, but it is not done this way now. This is how it was done when computer first created. In the old movies you can see big computers that use "punch cards". These cards are actually contains the instructions – hole represent either one or zero, and no hole represent the opposite.

In the modern days, with advancement in software tools we have created the "tape player" to create the software instructions.

Instructions to the computer are given in "high level" programming language such as C++, Java and VB. These programming languages are referred to as high level because instead of in form of binary, they use subset of English language to represent the instructions.

A software tool called compiler reads the high level instructions and generate the actual binary machine instructions that is understood by the microprocessor. Compiler is our "tape recorder".

Even high level programming languages are big improvement compare to machine instructions in binary, they are still quite complicated for normal computer users. Because of this the computer scientist and engineers are continuously coming up with new tools that can make the task to instruct computer easier such as speech recognition software and graphical based software.


About the Author: Shamsul is the owner and webmaster for http://www.dzikry.com a site with free information for software development. Go there and download free article (in PDF) on introduction to software development.

Source: www.isnare.com