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.