Non-Browser javascript Implementations - Rhino

J

Jorge

On reflection, the section seems a bit muddled (e.g. Whitebeam is not
an engine, it is a use of Mozilla's SpiderMonkey). If the intention is
to list some javascript engines and uses, perhaps that section should
be re-written to firstly link to details of the implementation, then
to some examples of its use, e.g.

  WebKit SquirrelFish:http://trac.webkit.org/wiki/SquirrelFish
    Used in the WebKit and Safari browsers, can also be used for
    developing Dashboard Widgets
     http://developer.apple.com/macosx/dashboard.html

SquirrelFish is just the name of *a*version*of* JavaScriptCore.

There's a JavaScriptCore shell -for you to use independently of
webkit- installed into:

$ /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/
Resources/jsc

And there's an alias that points to the latest version inside every
nightly Safari:

$ /path/to/safari/Contents/Frameworks/10.6/JavaScriptCore.framework/
Versions/A/Resources/jsc

For example:

$ jsc -e 'print([print, typeof print])'
function print() {
[native code]
}, function
 8. Nitro - precursor to SquirrelFish

Nitro is SquirrelFish Extreme, it's currently the latest version of
JavaScriptCore.
 
G

Garrett Smith

Bwig said:
Garrett said:
Bwig said:
Garrett Smith wrote:
Bwig Zomberi wrote:
Garrett Smith wrote:
[...]

Will you include BESEN?
http://besen.sourceforge.net/
Launching the BESEN IDE...

alert(typeof Object); // undefined

I'm afraid that implementation is not yet ready.

Okay. Will you complete the Javascript Library Groups list and include
David Mark's? Right now only two are listed.

Earlier in this thread, RobG proposed the removal of the links to
Prototype and jQuery with reason.

There was a period of time when this NG had a lot of posts requesting
help with Prototype and jQuery. As a response to that, there were long
threads that did not provide the original poster with what he was
looking for. The links were added to provide direction for those who
wanted help with the library and did not have interest in learning
javascript.

That problem had never occurred with David Mark's library users.
 
R

RobG

RobG said:
RobG wrote:
[...]
Javascript Library Groups (Google Groups)

  • Not sure that section is useful. Prototype.js is just about dead, the
    jQuery forum has moved to a different site and there are a number of
    other "popular" libraries whose discussion forums aren't listed. Might
    be best to say "search for a relevant group".

    As in:-

    | No javascript libraries are endorsed by this group. If you are looking
    | for help using a library, visit that library's discussion group
    | instead.

    And just remove the links found at:
    <http://www.jibbering.com/faq/#libraryResources>


  • Yes, I think that would be best.
    ?

    The phrase "or ask in


    I proposed quite some time ago something to the effect of: If you are
    interested in discussing the design of such libraries, c.l.js is the
    right place to do that.

    What I really meant was ask for directions to a suitable group, not
    for help with a specific library. I think it would be useful though if
    when users of libraries asked questions they were given a response
    that answers their question without the use of the library. I think
    that is far more useful that just chiding them for using a library
    (where "library" means one of jQuery, Prototype, YUI or whatever).


    [...]
    I see it.

    What about splitting that section into two:

    I think the problem with such a list is maintenance. The section on
    browsers likely needs to be updated a couple of times a year, adding
    other implementations increases the maintenance significantly with
    little benefit (there aren't many questions about javascript outside
    browsers).

    How about a heading like "Using javascript without a browser", so the
    use is categorised, not particular implementations. It can then
    discuss how it can be used for server-side processing, Dashboard
    widgets, script shell, etc. to avoid pigeon-holing those that fit into
    more than one category.

    The section could be general with an advisory tone and links to some
    of the better supported implementations and to Wikipedia (I realise
    Wikipedia isn't authoritative, but it's a simpler solution than
    attempting to maintain a comprehensive and current list in the FAQ).

    If readers are looking for a particular type of implementation they
    should be encouraged to ask in the group - discussion of such topics
    is interesting to some and worth recording.
 
J

Jorge

Why not use something along the lines of "Embeddable/console-based
[run-time environments/Virtual Machines] for 'javascript'".
I'm guessing the main point here is to list VM's available for use
outside the browser right?

Then why not "standalone" ?
 
D

Dr J R Stockton

In comp.lang.javascript message <[email protected]
september.org>, Mon, 12 Apr 2010 00:12:51, Garrett Smith
Rhino is a non-browser javascript implementation and it does not appear
in the FAQ resources under:

Non-Browser javascript Implementations

I think the link should be on the list:
<http://www.mozilla.org/rhino/>

That page contains a link :

Help
Some resources if you get stuck.

When I click the link, in FF 3.0.19, transfer gets stuck. I need a Help
link ...

The Documentation link likewise; I wanted to see what compliance it
claimed.
 
D

Dr J R Stockton

In comp.lang.javascript message <e885d7b6-5b34-4217-9291-2fb593c25b6b@30
g2000yqi.googlegroups.com>, Tue, 13 Apr 2010 00:20:43, Sean Kinsey
Rhino is a non-browser javascript implementation and it does not appear
in the FAQ resources under:

Non-Browser javascript Implementations

I think the link should be on the list:
<http://www.mozilla.org/rhino/>

Why not use something along the lines of "Embeddable/console-based
[run-time environments/Virtual Machines] for 'javascript'".
I'm guessing the main point here is to list VM's available for use
outside the browser right?

ECMA-type script engines can be classed as follows
Used in Web browsers
Used in Windows Script Host or similar
Used in others.
Some can appear in more than one of those.
 
G

Garrett Smith

RobG said:
RobG said:
RobG wrote: [...]

Javascript Library Groups (Google Groups)

  • Not sure that section is useful. Prototype.js is just about dead, the
    jQuery forum has moved to a different site and there are a number of
    other "popular" libraries whose discussion forums aren't listed. Might
    be best to say "search for a relevant group".

  • As in:-

    | No javascript libraries are endorsed by this group. If you are looking
    | for help using a library, visit that library's discussion group
    | instead.

    And just remove the links found at:
    <http://www.jibbering.com/faq/#libraryResources>


  • Yes, I think that would be best.


  • Removed locally.
    What I really meant was ask for directions to a suitable group, not
    for help with a specific library. I think it would be useful though if
    when users of libraries asked questions they were given a response
    that answers their question without the use of the library. I think
    that is far more useful that just chiding them for using a library
    (where "library" means one of jQuery, Prototype, YUI or whatever).

    Something like that be appropriate under /faq/#reply.
    [...]
    I see it.

    What about splitting that section into two:

    I think the problem with such a list is maintenance. The section on
    browsers likely needs to be updated a couple of times a year, adding
    other implementations increases the maintenance significantly with
    little benefit (there aren't many questions about javascript outside
    browsers).

    How about a heading like "Using javascript without a browser", so the
    use is categorised, not particular implementations. It can then
    discuss how it can be used for server-side processing, Dashboard
    widgets, script shell, etc. to avoid pigeon-holing those that fit into
    more than one category.

    Maintenance would be any easier using one list for "Using javascript
    without a browser" only if fewer links were included.

    The links I proposed, for Rhino, Spidermonkey, and V8, seem unlikely to
    change. They're good URLs (or "Cool URIs").

    For someone who is learning JS it is at least an eye opener to the fact
    that javascript is more than something to add interactivity in web pages.

    The two categories -- one for "other host environments" and one for
    "standalone implementations" seem to cover all of the possible sub
    categories of "javascript outside a browser".

    [...]
 
G

Garrett Smith

[posting order restored]

(see also:
But is JavaScript not just ECMAscript 262 with server side and client
side extensions, mainly around HTML handling?

Yes. JavaScript™ is not ECMA-262 with server and client side extensions.

JavaScript™ was a trademark of "Sun Microsystems". I assume that it is
now a trademark of Oracle, which acquired Sun. JavaScript™ is the term
used to describe Mozilla's version of ECMAScript. See also:

<https://developer.mozilla.org/en/About_JavaScript>

The term "javascript" has made its way in to common language as a term
used to describe ECMAScript. See also:
<http://jibbering.com/faq/#ecma>

Other trademarked proper nouns have also become words. For example, the
word "dumpster" is used to describe an industrial-sized container
designed to receive, transport, and dump waste; "adrenalin" is used to
describe the catecholamine "epinepherine", "frisbee" to describe a
flying disc toy; "google", (v) means search the web using Google, and so
on and so forth.

You can see that in my previous reply, I used two of those trademarked
proper nouns to poke fun at Thomas' objections.

Thomas does not approve of this usage of javascript. The usage can be
ambiguous with Mozilla's implementation.

[...]
 
G

Garrett Smith

Dr said:
In comp.lang.javascript message <e885d7b6-5b34-4217-9291-2fb593c25b6b@30
g2000yqi.googlegroups.com>, Tue, 13 Apr 2010 00:20:43, Sean Kinsey
Rhino is a non-browser javascript implementation and it does not appear
in the FAQ resources under:

Non-Browser javascript Implementations

I think the link should be on the list:
<http://www.mozilla.org/rhino/>
Why not use something along the lines of "Embeddable/console-based
[run-time environments/Virtual Machines] for 'javascript'".
I'm guessing the main point here is to list VM's available for use
outside the browser right?

ECMA-type script engines can be classed as follows
Used in Web browsers
Used in Windows Script Host or similar
Used in others.
Some can appear in more than one of those.
A list of Standalone ECMAScript Implementations is what I had in mind.

I know Rhino is a popular one. It is used in YUI Compressor, ShrinkSafe,
JSDoc Toolkit, among others.

However, why not add in a link to V8 an Spidermonkey?

<http://code.google.com/p/v8/>
<http://www.mozilla.org/js/spidermonkey/>

But then if that is done, the list of "Other ECMAScript Implementations"
separating the standalone implementations from the hodge-podge "other"
makes sense. That list would include Rhino, DMD, Spidermonkey, V8.

The link to FESI should be removed. It is an implementation of
ECMAScript edition 1.
 
J

Jorge

Rhino is a non-browser javascript implementation and it does not appear
in the FAQ resources under:

Non-Browser javascript Implementations

Nor SpiderMonkey,
nor the v8 shell,
nor the JavaScriptCore shell,
nor way too many other things that should be in the resources faq but
aren't.
 
G

Garrett Smith

Garrett said:
Dr said:
In comp.lang.javascript message <e885d7b6-5b34-4217-9291-2fb593c25b6b@30
g2000yqi.googlegroups.com>, Tue, 13 Apr 2010 00:20:43, Sean Kinsey
[...]

However, why not add in a link to V8 an Spidermonkey?

<http://code.google.com/p/v8/>
<http://www.mozilla.org/js/spidermonkey/>

But then if that is done, the list of "Other ECMAScript Implementations"
separating the standalone implementations from the hodge-podge "other"
makes sense. That list would include Rhino, DMD, Spidermonkey, V8.

The link to FESI should be removed. It is an implementation of
ECMAScript edition 1.

The link to FESI has been removed. Should the proposed list of
"standalone implementations" should not be under "online documentation".
It's a stretch, but another category might be appropriate. I haven't
thought of one yet.
 
A

Asen Bozhilov

Garrett said:
Launching theBESENIDE...

   alert(typeof Object); // undefined

In which version you get that result? I use:

1.0.0.162

And I get expected result:

alert(typeof Object); // function
 
G

Garrett Smith

Asen said:
In which version you get that result? I use:

1.0.0.162

I got that in:

1.0.0.154

Other built-in and host objects are the same.

alert(typeof Function); // undefined
alert(typeof alert); // undefined
And I get expected result:

alert(typeof Object); // function
So they fixed it. I didn't play with it much beyond my initial tinkering
which indicated a pretty glaring flaw, right? I mean typeof Object ===
"undefined" should be obvious; it's a plain vanilla test case; nothing
tricky about it.

How much have you played with it? Have any formal tests been run on it?
 
G

Garrett Smith

Garrett said:
[...]


How much have you played with it? Have any formal tests been run on it?

I have added BESEN to the list. I have still not used it that much. It
appears to be actively maintained and I can confirm that the bug I
initially found is fixed.

The two lists proposal:

| Standalone ECMAScript Implementations
|
| Rhino: An open-source implementation of JavaScript written in Java.
| http://www.mozilla.org/rhino/
| Besen IDE: ECMAScript Edition 5 with IDE.
| http://besen.sourceforge.net/
| DMD Script: Console and MS Active Script implementation of ECMAScript.
| http://www.digitalmars.com/dscript/
| V8: Google's open source JavaScript engine.
| http://code.google.com/p/v8/
| SpiderMonkey: Mozilla's C implementation of JavaScript.
| http://www.mozilla.org/js/spidermonkey/
|
|
| Other ECMAScript Implementations
|
| Developing Dashboard Widgets on Apple Developer Connection.
| http://developer.apple.com/macosx/dashboard.html
| Win32 Scripting, Using Scripting to Automate Windows.
| http://cwashington.netreach.net/
| Whitebeam Apache Module: Server Side JavaScript in Apache
| http://www.whitebeam.org/

I have no experience with server side javascript, such as Whitebeam
(listed). Node.js and Jaxer have interest these days. I have not used or
looked into either of those, so I cannot recommend either.

If someone feels that the list should contain an item that is not
listed, and has experience using it. Otherwise, I will update the FAQ
with the above list.
 
J

Joe Nine

Garrett said:
| Win32 Scripting, Using Scripting to Automate Windows.
| http://cwashington.netreach.net/

If someone feels that the list should contain an item that is not
listed, and has experience using it. Otherwise, I will update the FAQ
with the above list.

That cwashington site is closing down. I just got this message:

After 13 years of serving the scripting community with a completely FREE
site (no fees, donations, or ads) Win32Scripting is closing its doors.
 
G

Garrett Smith

Joe said:
That cwashington site is closing down. I just got this message:

After 13 years of serving the scripting community with a completely FREE
site (no fees, donations, or ads) Win32Scripting is closing its doors.

OK, removed that. I feel like I was going to do this before. I remember
seeing that page.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,079
Messages
2,570,574
Members
47,205
Latest member
ElwoodDurh

Latest Threads

Top