3 ms·
I mean "embedded" as in a "scripting environment hosted by a bigger app" (nothing to do with embedded systems in hardware sense, obviously). I thought the term
by klibertp 12y ago
I mean "embedded" as in a "scripting environment hosted by a bigger app" (nothing to do with embedded systems in hardware sense, obviously). I thought the term is widely used for this, for example there's a guide to "embedding python"[1] and they use the same term in Lua[2].
For me, such an environment is defined - in practical terms - by the lack of some features you expect from "general" programming environment. No stdout/stdin, no fork, no exec, no file and file system access, no threads, no sockets - and if you get some of this it's via an embedding app, not standard means. It's hard to work in such an environment because it's very rare for app developers to provide you with all the standard tools you have when developing standalone program. One of the most painful experiences I had with such env was with Google Refine - now Open Refine - which allowed scripting in Python (via Jython) and Clojure, but only really supported executing single statements in a tiny textbox, without any real error reporting and without access to anything external (like to files). It was a nightmare, and it's generally how this looks like: MS Office, Web browsers, Emacs are the exceptions here, definitely not the norm.
[1] https://docs.python.org/2/extending/embedding.html https://docs.python.org/2/extending/embedding.html
[2] http://www.lua.org/pil/24.html http://www.lua.org/pil/24.html