450 likes | 1.18k Views
SCRIPTING LANGUAGE. SCRIPTING LANGUAGE. The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these, a computer program within a computer program.
E N D
SCRIPTING LANGUAGE • The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these, a computer program within a computer program. • Historically, there was a clear distinction between "real" high speed programs written in languages such as C, and simple, slow scripts written in languages such as Bourne Shell or Awk. • Technology improved, the performance differences shrank and interpreted languages like Java, Lisp, Perl and Python emerged and gained in popularity to the point where they are considered general-purpose programming languages and not just languages that "drive" an interpreter.
SCRIPTING LANGUAGE • Languages such as Tcl and Lua, were specifically designed as general purpose scripting languages that could be embedded in any application or used on their own. • Other systems such as Visual Basic for Applications (VBA) provided strong integration with the automation facilities of an underlying system. • Embedding of such general purpose scripting languages instead of developing a new language for each application also had obvious benefits, relieving the application developer of the need to code a language translator from scratch and allowing the user to apply skills learned elsewhere.
SCRIPTING LANGUAGE • The Common Gateway Interface allowed scripting languages to control web servers, thus communicate over the web. Scripting languages that made use of CGI early in the evolution of the Web include Perl, ASP, and PHP. • Some software incorporates several different scripting languages. Modern web browsers typically provide a language for writing extensions to the browser itself, and several standard embedded languages for controlling the browser, including ECMAScript (more commonly known as JavaScript), CSS, and HTML.
SCRIPTING LANGUAGE • A scripting language is a form of programming language that is usually interpreted rather than compiled. • Conventional programs are converted permanently into executable files before they are run. In contrast, programs in scripting language are interpreted one command at a time. • Scripting languages are often written to facilitate enhanced features of Web sites. These features are processed on the server but the script in a specific page runs on the user's browser. • In most cases, it is easier to write the code in a scripting language than in a compiled language. However, scripting languages are slower because the instructions are not handled solely by the basic instruction processor.
SCRIPTING LANGUAGE • Scripting languages allow rapid development and can communicate easily with programs written in other languages. • Scripting languages can be used to create specialized GUIs (graphical user interfaces) and forms that enhance the convenience of search engines, Web-based e-mail and e-commerce. • Many Web sites require that the user's browser be set to run scripts to take advantage of all the features of the site.
SCRIPTING LANGUAGE • Scripting languages generally have these properties: • Source code is present at run time in production system (though it may be compiled into ByteCode, native object code, or some other format for performance reasons). Application code is not delivered as object code for the underlying processor (some stable system libraries may be pre-compiled in this way however). • Use of an interpreter or VirtualMachine is generally required; though the OS may arrange for the appropriate interpreter to be invoked automatically. • Explicit compilation or linking phases are not needed (implicit compilation to ByteCode or other low-level representations may be performed as an optimization)
SCRIPTING LANGUAGE • Variables, functions, and methods typically do not require type declarations. There are automated conversions or equivalence between types, particularly between strings and other types. • Very powerful built-in types - typically a dictionary, a set, a literal type that can act as either numerics or strings. (It's a sad reflection on the state of language design that dictionaries and sets can be considered "very powerful".)
SCRIPTING LANGUAGE • The ability to generate, load, and interpret source code at run time through an eval function. (Perl, Python, Tcl, JavaScript, shell scripts, REXX, APL; missing in VB [But present in VBScript]) • Interface to the underlying operating system, in order to run other programs and communicate with them. (Support for bare system calls is essential for systems programming languages, but not for scripting languages, which more often need higher-level abstractions that are portable across operating systems). • Plays well with others. Can be easily integrated with larger systems. Scripting languages are often used to "glue" more-rigid systems together. True of REXX; probably not true of APL. • Rich I/O capabilities, including pipes, network sockets, file I/O, and filesystem operations.
SCRIPTING LANGUAGE • Language interpreter can be embedded within another application, allowing users to automate application operation, to provide customized handling of application events, or to define new application functions using the scripting language. • The ability to map external components to the semantics of the built-in types and/or some component-based protocol (ie. SimplifiedWrapperAndInterfaceGenerator, OCX, COM)
SCRIPTING LANGUAGE • Examples • AppleScript • AwkLanguage • EmacsLisp • GuileScheme • GroovyLanguage • JavaScript • LuaLanguage • PerlLanguage • PhpLanguage • PythonLanguage • RebolLanguage • RubyLanguage • SmalltalkLanguage • ToolCommandLanguage • UnixShells, MS-DOS .BAT, Windows .CMD • VisualBasicForApplications (VBA), VbScript