The Free On-line Dictionary of Computing (30 December 2018):
Ousterhout's dichotomy
applications language
Ousterhout's fallacy
Ousterhout's false dichotomy
system programming language
    John Ousterhout's division of high-level
   languages into "system programming languages" and "scripting
   languages".  This distinction underlies the design of his
   language Tcl.
   System programming languages (or "applications languages") are
   strongly typed, allow arbitrarily complex data structures,
   and programs in them are compiled, and are meant to operate
   largely independently of other programs.  Prototypical system
   programming languages are C and Modula-2.
   By contrast, scripting languages (or "glue languages") are
   weakly typed or untyped, have little or no provision for
   complex data structures, and programs in them ("scripts")
   are interpreted.  Scripts need to interact either with other
   programs (often as glue) or with a set of functions provided
   by the interpreter, as with the file system functions
   provided in a UNIX shell and with Tcl's GUI functions.
   Prototypical scripting languages are AppleScript, C Shell,
   MS-DOS batch files and Tcl.
   Many believe that this is a highly arbitrary dichotomy, and
   refer to it as "Ousterhout's fallacy" or "Ousterhout's false
   dichotomy".  While strong-versus-weak typing, data structure
   complexity, and independent versus stand-alone might be said
   to be unrelated features, the usual critique of Ousterhout's
   dichotomy is of its distinction of compilation versus
   interpretation, since neither semantics nor syntax depend
   significantly on whether code is compiled into
   machine-language, interpreted, tokenized, or
   byte-compiled at the start of each run, or any mixture of
   these.  Many languages fall between being interpreted or
   compiled (e.g. Lisp, Forth, UCSD Pascal, Perl, and
   Java).  This makes compilation versus interpretation a
   dubious parameter in a taxonomy of programming languages.
   (2002-05-28)