>
> * Embedded in RPM5 (under development)
I can only speak to this issue.
I chose JS embedding originally because JavaScripts was
suggested by Ralf Engelshcall: he packaged js-1.6 and
also created/hosts the @rpm5.org web site.
The rationale for choosing JS as an embedded language were
quite murky and complex, but basically boiled down to
There are more JS "programmers" than all other languages combined.
Even if that statement isn't literally true atm, the trend towards
browsers and JS is certainly true.
My own private motivation (and handicap from another POV) is that
JS == C
In most ways I -- as an experienced C programmer -- could start
using JS instantly. OTOH, there's lots more to JS than being
an approx. C interpreter, ymmv, I'm just stating my needs.
So I needed to learn JS binding as rapidly as possible. There's
currently 35+ classes of varying quality in @rpm5.org CVS.
I just changed most of the code to the JS 1.8.5 interface.
While most of the modules are likely of limited use solely to RPM,
there are a couple of modules that are lijkely of more interest:
1) Berkeley DB bindings (~95% complete, I used for prototyping
rpmdb schema changes).
2) Bloom filters -- while its trivial to implement a Bloom filter,
the hash generation is computationally intensive and likely better
done in C rather than JS for serious usage
3) Digests/crypto -- RPM implements >120 digests, including
all of the NIST SHA3 finalists. Implementing digests efficiently
needs SSE* and other optimizations, implementing JS is just painful.
RPM now also has 4 libraries (BeeCrypt/NSS/OpenSSL/Libtomcrypt)
with an API that will be tied into JS as I proceed. Note that
the crypto is *not* X.509 certs but rather OpenPGP format.
All/any of the above could be uncoupled fropm RPM and made available to
anyone interested without difficulty. And if no interest, well, my purpose
is RPM+GPSEE+JS "rapid application development. And the benefit of GPSEE is
* written in C
* has modules
* Wes Garland knos *a lot* about JavaScript
I hope the above helps your talk. If not well .. that's fine too.
I would imagine this list would include (please include status of use-
case):
* Command-line scripts (implemented)
* Bash scripting (under development)
* Embedded in RPM5 (under development)
* Apache module (planned)
* Standalone webserver (planned)
* Toaster oven controller (possible)
All/any of the above could be uncoupled from RPM and made available to
anyone interested without difficulty.