On 02/09/2013 04:26 PM, Tim Roberts wrote: > Most people would call bash a "scripting language", but it is also clearly > a programming language. It has syntax, variables and expressions. I > suspect it is Turing-complete, although I haven't seen a proof of that. > > I would assert that scripting languages are a proper subset of programming > languages, not a separate category.
I'm pretty sure Bash is turing complete. I know it's been shown that sed is turing complete, and awk probably is too! If I recall, the way to show a language is turing complete is to implement a turing machine in it. I'm pretty sure bash could handle that, though maybe with help from a standard set of unix tools one always finds used in conjunction with the shell. Here's one implementation: https://github.com/thulsadum/bash-turing-machine/blob/master/turing.sh I would say that "scripting language" isn't a definition of a type of language, but rather a description of how a language is put to use in a particular case. For example, when embedded in a game, lua is used as a scripting language to automate and extend the game in certain ways, by exposing game objects to the lua engine and allowing interpreted lua code to manipulate (script) them. Javascript is the same thing in other programs. But whether you call javascript a scripting language in firefox, or something much more (as it's actualy required for firefox to function at all), is a matter of personal preference really. I've seen python embedded in apps to act as a scripting language before. I've also seen full-blown apps written in python. So yes, the distinction, as made by the original poster, isn't really necessary. -- http://mail.python.org/mailman/listinfo/python-list