The difference between programming and scripting (as I see it and believe to be correct) is that a script is a plain text based program (instruction set) that uses an installed interpreter to execute. A program is a compiled binary file that is already somewhat specified for the host operating system kernel. A script calls the interpreter which interfaces the kernel such as the Windows Scripting Host, CMD.EXE, COMMAND.COM (calling io.sys), PERL, BASH, etc.

     Using an interpeter to read and evaluate script text into machine logic requires more time than compiled programs. Scripts are often limited to the interpreters ability to hook into the underlying OS to accomplish a task. Obviously a compiled language (working directly with the kernel) can do anything it wants and is not limited to the available commands of a script interpreter.

     Where to begin somewhat depends on where you are focused on going. I began with DOS, then HTML, then JavaScript, then to Unix's SH, BASH, and PERL. Parrallel to this in school, I was learning Pascal, COBOL, and C. The Pascal class opened up my ability to develop logic and use ARRAYs with FOR loops. At the time I learned ARRAYs in school, I was working on a JavaScript search feature for state park facilities and at a halt, after the class, I solved the problem that night.

     Scripting and Programming is simply a matter of understanding psedocode, which is code (logic) in English statements. These are known as algorithms, defined by an Arab mathmatician roughly as "a solution to a reoccuring problem." As you make your way, you eventually understand the simularities between all languages.

     I think JavaScript is a good way to start. It will teach you programming aspects while using Internet Explorer as a simple interpreter. It is well documented and help is widely available. It you want to make a Windows Script, you will have to understand logic, JavaScript is a good way to make cool scripts while learning solid concepts.

     Once you think you know everything, you will have to learn object oriented programming or OOP. Once you begin to develop reusable and extendable code, you will use OOP. Image a program for controlling a bicycle: You develop an object (code set) that represents the brakes of a bicycle. Since the bike will require two brakes (front and back), you create an OBJECT called brakes which is just code to define and implement a brake on a bicycle. Since you need two, you call two instances of the class or object called brake. One for the front and one for the back. Once you use OOP for a real world need, you will appreciate it and be able to apply the concept more often.