Computers
A computer is a complex calculating machines with interchangable instructions. The interchangable instructions (lists or sequences of calculation commands) are called programs. Like any other data on computers, programs are stored in binary (base 2). That means that any instruction is made up of a bunch of zeros and ones. With digital storage media, this binary code can be read or written by magnetic heads, that leave microscopic magnetic signals for 1, and don't for 0. Or on CD-ROMs and DVDs, the data is stored with tiny dents in the disk's surface for 1. There are probably better ways to microscopically store data (Like base 4 acids in DNA), but this is the way it's always been done.

Programming
Programs are lists of computer instructions. They can be edited in their raw binary form manually, or through another program interface, or they can be modified in hexadecimal (base 16). To edit machine code (binary, or object code) you need a bin/hex editor. The Microsoft Visual C++ IDE comes with one, as well as several Linux distributions. And freeware editors can be downloaded. The object code is direct instructions for the CPU (Central Processing Unit). But an easier way to do programming, (to create or modify computer programs) is to use a human readable programming language. Several popular programming languages include Microsoft Visual Basic, C, C++, Java, Perl, COBOL, Pascal, and Fortran. Someone who knows and uses a programming language is called a programmer. Through an ascii editor (like notepad, that comes free with windows) a file (organized cluster of computer data with atributes like creation date and a name) is translated into standard screen characters (english letters, words, and symbols). Almost every hexadecimal signal is asigned to an ascii character. Object code cannot be viewed properly through and ascii editor, but standard text files can. A standard text file containing human readable programming language instructions is called source code. Source code must be in a format that a compiler or interpretor program can understand. Compilers and interpretors are programmed to run groups of binary computer instructions from human readable programming language commands. Programming languages also have a special format like english grammer that controls the flow of the instructions. Of course, different programming languages have different commands and formats. The interpretor interactively translates and runs machine instructions from the source code without modifying it, but a compiler translates source code into binary object code files (or executable files). GNU (the free software s foundation) currently has free compilers for download that compile every language that I mentioned except Visual Basic.

IDE
An IDE (Integrated Developing Environment) usually includes a binary editor, compiler, text editor,
debugger, and interpretor all in one program or interface.

Bugs
are errors that a programmer made in the source code. If he made a format (syntax) error, or tryed to call a command that didn't exist, or called a command wrong, the compiler usually catches it and gives an "error message". But sometimes it compiles fine, but was programmed to do the wrong thing (like the y2k bug). This is called a design or symantic error.

Debugger
A debugger is a computer program that helps you find such errors. GNU also has GDB, the GNU debugger for free download.

Interface
An interface is used in event driven programming. In event driven programming, the program instructions sit and wait for a signal from running code sequences. They may monitor the keyboard or mouse for input. They respond to the input when the event takes place. These code sequences, or functions are the interface, like the "environment" in an
IDE. Another example of such an event driven program is Microsoft Windows, or your web borwser. The other type of programming has a simple sequence of getting data and reponding to it. But that type of program can only get one kind of data to go to one function at a time. More complex programs are usually event driven. I don't have time right now to explain all of the programming languages and how that work, as well as everything else in technology (not that I claim to know it all) but I'll try to add more information soon. For some HTML information, try The HTML Tutor . Thanks for your patience.