in reply to At Last, a Useful Definition of "Scripting Language"
I don't think there's any reasonable definition of "Scripting Language" that would include C. If you want to script something on *nix, you use sh, ksh, csh, bash, perl, ruby, etc., not C.
IMO, one aspect of a scripting language is that you don't need to wrap your executable code in anything magical, like a main() function. A scripting language should be able to take a single line with a single statement and execute it.
A question to you *nix-heads: Does a shell script have to have a #! line at the start, or is this just a nice-to-have to make sure the right shell executes it?