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.