Thomas 'PointedEars' Lahn <PointedEars@web.de> writes:
[color=blue]
> Lasse Reichstein Nielsen wrote:[/color]
[color=blue]
> I just did not *see*/tested unregistered URI schemes and relied on
> friend Google.[/color]
That's where I found the information. I had never heard of Mocha or
mocha: and livescript: schemas before.
[color=blue][color=green]
>> So, Javascript aka. Livescript aka. Mocha is correct.[/color]
>
> Mozilla/5.0 including Netscape 6+ implements JavaScript 1.5 and I get
>
> | mocha is not a registered protocol.
>
> `livescript:alert("bla")' does nothing, interestingly.
>
> So I say: It is incorrect. See the point?[/color]
No. Netscape 4, made by the people who created Javascript, used the
words "mocha" and "livescript" about it too. They might not do that
any more, but they did. At some point, Javascript was also known as
Mocha and Livescript (and personally, I would have preferred if they
stayed with "Livescript"). And some people still remember.
I can't see what Mozilla has to do with this.
[color=blue][color=green]
>> When you write
>> <script type="text/javascript">
>> IE interprets the content using its JScript interpreter.[/color]
>
> No, it interprets what is similar to JavaScript with its script
> interpreter. AFAIK that is not a JScript interpreter but one
> that knows also VBScript, part of the Windows Script Host.[/color]
The Windows Scripting Host has several separate interpreters built in.
It can also be extended with, e.g., PerlScript or PythonScript.
The interpreter IE uses for scripts with type="text/javascript" is
the JScript interpreter.
[color=blue][color=green]
>> It is fair to say that JScript is also known as Javascript,
>> so Javascript aka. JScript is correct.[/color]
>
> It is incorrect, JScript is _not_ JavaScript.[/color]
No, but it is *also known as* Javascript. Perhaps incorrectly, but it
is. You would be hard pressed to find people who would claim that
"IE doesn't support Javascript".
[color=blue]
> It is Opera's implementation of ECMAScript, and they falsely call
> it JavaScript.[/color]
Actually, they don't (I should have checked!).
They call it ECMAScript+DOM, and they list their support for non-standard
JavaScript and JScript properties. So that was a lousy argument for me :)
[color=blue]
> Most people call `Internet' now what is in fact the World Wide Web,
> a software application of and for the hardware Internet. People
> call many things by the wrong name because they cannot or refuse to
> understand that this makes a difference.[/color]
Language is a funny beast, and in most countries it is fully
democratic. If enough people decide that something is called
something, then that's what it's called.
While I would love to agree with you, and only use Javascript for the
products of Netscape Corp, even the name of this group shows that that
is now how the word is used. (As a side note, the similar Danish group
is named dk.<something>.clientside, which (while not Danish) is
actually a more fitting name)
When people ask "Javascript" questions, we make sure to give answers
that work in both Opera ECMAScript and JScript too ... because we know
that that is what is meant.
[color=blue]
> ECMAScript is a (programming) language,[/color]
Ok, I was reaching there. It is a programming language.
What the ECMAScript standard says is:
---
This ECMA Standard is based on several originating technologies, the
most well known being JavaScript (Netscape) and JScript
(Microsoft). The language was invented by Brendan Eich at Netscape and
first appeared in that company's Navigator 2.0 browser. It has
appeared in all subsequent browsers from Netscape and in all browsers
from Microsoft starting with Internet Explorer 3.0.
---
(BTW, notice that they call it "The language", as if Javascript and
JScript are the same language.)
[color=blue][color=green]
>> Another is to say that Javascript is ECMAScript (plus som more).
>> And that Javascript Core *is* ECMAScript.[/color]
>
> No, it is not.[/color]
Ok, Javascript Core is an implementation of ECMAScript, extended with
extra features?
[color=blue][color=green][color=darkred]
>>> ECMA does neither watch over JavaScript[/color][/color][/color]
Was the point here that ECMA watches over ECMAScript, not Javascript?
[color=blue][color=green]
>> Obviously you can find the places in the specification that says that
>> what he considers errors, is in fact required by the specification.
>> He thinks the specification should be (or rather: should have been)
>> changed.[/color]
>
> I already know what he "thinks", but I cannot agree with it.[/color]
That's your choice. I agree with some of it.
[color=blue]
> As he tries to impose his opinion on others referring to the
> document, and I was asked to tell what I find wrong about it, I
> answered the question and stated my case.[/color]
You were pointing out that what the standard specified, was different
from what he wanted. There was no need to find the places in the
specification. We know it disagrees.
[color=blue][color=green][color=darkred]
>>> | JavaScript's C-like syntax, including curly braces and the clunky for
>>> | statement, makes it appear to be an ordinary procedural language. This
>>> | is misleading because JavaScript has more in common with functional
>>> | languages like Lisp or Scheme than with C or Java.[/color][/color][/color]
[color=blue][color=green]
>> If Javascript/ECMAScript had tail recursion, you could program
>> functional programs in it.[/color]
>
> And if my grandma had wheels, she would be a motorcycle.[/color]
Just a comment. One thing that I would want changed in ECMAScript.
[color=blue]
> I am pretty sure he has not. What is stated about the execution
> of statements does not fit to a functional language at all.[/color]
No. And?
In *many* ways, Javascript/ECMAScript has *more in common* with
languages like Scheme (first class functions, dynamic typing) and Self
(prototype based object inheritance) than with ordinary procedural
(and even class based OO) languages.
The similarity to Scheme is not as clear as that to Self, but it's
there. If you program Javascript/ECMAScript like you program Java,
you will make lousy programs. The language is different and the
most efficient way to program it is also different ... and has
*more in common* with languages like Scheme and Self.
[color=blue]
> You note the `if'? So if you state that the Guide and Reference is
> not a JavaScript specification, then ECMAScript cannot be a JavaScript
> specification, too, since Netscape's JavaScript as described in the
> Guide and Reference has been always a superset of ECMAScript. So there
> is no JavaScript specification at all.[/color]
Sounds fair.
Ok, from now on, I will use the following notation:
JavaScript (captial S): The JavaScript Core + DOM produced by Netscape
ECMASCript : the language defined in ECMA 262 v3.
Javascript (small s): Any implementation of ECMAScript used in a browser.
The last group of languages needed a name, so I'll use the one that
is commonly used about it.
/L
--
Lasse Reichstein Nielsen -
lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'