Lua "won" in games, Tcl won in electrical engineering software, Lisp won in various niche places, JavaScript won basically everywhere else.
Python does not seem a very popular glue language outside of Sublime Text.
nearly all the system config GUIs relased by Redhat
inkscape
quodlibet
csound
ntop
samba
ranger
libreoffice (but this supports a few other languages)
Try to run any modern Linux distro and tell me how far you get without installing Python.Python is the clear winner in the scientific computing space.
Traditional "glue" has been called any language that connects between different programs and systems (e.g. take data out of system X as CSV, preprocess them, input them it program Y, do something with the results etc.
Which Python is used for a lot, in the scientific (physics and biology at least) communities. And yes, wrapping C, fortran etc libs too.
Most low end everyday stuff in scientific and numeric computing is written in Python (including in Python wrapping fortran libs, e.g. through NumPy).
From Python.org itself, written by Guido Van Rossum:
Glue It All Together With Python - Python is an advanced scripting language that is being used successfully to glue together large software components. It spans multiple platforms, middleware products, and application domains.
And from Wikipedia, for the traditional definition as I've known for decades:
Glue languages: Scripting is often contrasted with system programming, as in Ousterhout's dichotomy or "programming in the large and programming in the small". In this view, scripting is particularly glue code, connecting software components, and a language specialized for this purpose is a glue language.
Pipelines and shell scripting are archetypal examples of glue languages, and Perl was initially developed to fill this same role. Web development can be considered a use of glue languages, interfacing between a database and web server. But if a substantial amount of logic is written in script, it is better characterized as simply another software component, not "glue".
Glue languages are especially useful for writing and maintaining:
- custom commands for a command shell;
- smaller programs than those that are better implemented in a compiled language;
- "wrapper" programs for executables, like a batch file that moves or manipulates files and does other things with the operating system before or after running an application like a word processor, spreadsheet, data base, assembler, compiler, etc.;
- scripts that may change;
- rapid prototypes of a solution eventually implemented in another, usually compiled, language.Which situations would that be?