"Normal" is entirely relevant. Normal could be a scripting language for one programmer, and it could be a compiled language for another. And then you have languages which are a mix of the two (Java), or can be both interpreted and compiled.
Basically, scripting languages are interpreted by some interpreter. No compilation is needed. This means a change you make is seen in real time. If you have a program that calls some Python script, and you make an edit to that script then the next time it is called the change will be seen. This makes a whole lot of tasks significantly easier. It also makes your code portable to any platform which has the given interpreter.
Well, the main difference is that normal programming languages do not exist :)
There are many programming languages out there, and you can read about them either on wikipedia, or other places in web. You can also check tutorials to understand how language works, thus understanding differences between languages.
And web development rely on many langauges. For example, facebook is written in C++ and php.
You can read about C++, C, Haskell, python, perl, LUA, Fortran, Clojure, COBOL, Java, C#, D, F#, Lisp, Perl, Php, Pascal, and many more. Check what are their aims, how their syntax looks like.
Generally, each language is created with some general thought that dominates project(e.g. C++ was designed to be "C with classes"). And each language should be used where it fits best, and where you like it best.