Le 14/12/2010 20:12, Chris F.A. Johnson a écrit : > I stongly disagree with that statement. The shell *is* a programming > language, especially with the extensions in bash. > > In recent years I have stopped using any other language; the shell > is more than adequate for all my programming needs.
I use and abuse the shell but I do not consider it as a "real" programming language is because it was not really designed as one from day one. It rather grew from the command line interface as explained in this great interview of Steve Bourne: http://www.computerworld.com.au/article/279011/a-z_programming_languages_bourne_shell_sh/ As a consequence, there are just too many subtleties around quoting. Quoting (pun intended) the interview: "And so [the shell] is constrained to be both a command line interpreter and a scripting language. As the Unix command line interpreter, for example, you wouldn’t want to be typing commands and have all the strings quoted like you would in C, because most things you type are simply uninterpreted strings." If the shell was a "real" programming language, then I would not constantly forget quoting subtleties and I would not need to go here time and again: http://www.mpi-inf.mpg.de/~uwe/lehre/unixffb/quoting-guide.html#para:sh-input-nterp If the shell was "real" programming language, then we would not have such a massive ban on setuid scripts (I am not saying setuid is a great feature, this is not the point here; the point is why is the shell the only language under such a ban?)