What's the difference between a “script” and an “application”?

前端 未结 20 2105
南旧
南旧 2020-12-04 14:53

I\'m referring to distinctions such as in this answer:

...bash isn\'t for writing applications it\'s for, well, scripting. So sure, your application m

20条回答
  •  北荒
    北荒 (楼主)
    2020-12-04 14:57

    It's often just a semantic argument, or even a way of denigrating certain programming languages. As far as I'm concerned, a "script" is a type of program, and the exact definition is somewhat vague and varies with context.

    I might use the term "script" to mean a program that primarily executes linearly, rather than with lots of sequential logic or subroutines, much like a "script" in Hollywood is a linear sequence of instructions for an actor to execute. I might use it to mean a program that is written in a language embedded inside a larger program, for the purpose of driving that program. For example, automating tasks under the old Mac OS with AppleScript, or driving a program that exposes itself in some way with an embedded TCL interface.

    But in all those cases, a script is a type of program.

    The term "scripting language" has been used for dynamically interpreted (sometimes compiled) languages, usually these have a lot of common features such as very high level instructions, built in hashes and arbitrary-length lists and other high level data structures, etc. But those languages are capable of very large, complicated, modular, well-designed programs, so if you think of a "script" as something other than a program, that term might confuse you.

    See also Is it a Perl program or a Perl script? in perlfaq1.

提交回复
热议问题