Ah, I've gotten so used to block-scoped JS that I forgot that it was a problem. Hence, I looked at the code, knew what it did, and was not surprised.
You're right of course, especially w.r.t. the second var.
I really hope they make that an strict-mode warning in ES5. Unfortunately, they can't make it make an error because it would break (badly written) ES3 programs.
> Sure a JavaScript engine may have shipped on "every computer ever" but it's been embedded into a browser. > So the next step is to decouple it from that browser-based engine and use it to create local apps?
Microsoft has been shipping the Windows Scripting Host, wsh, with Windows since like Windows 98 or something.
It can run JScript or VBScript, and automate ActiveX controls. You can create local apps with full Windows GUI, drag and drop, context menu on the desktop, blah-de-blah. It can even be made to talk DAO.
Optionally Typed Objects -- not here today, tried for ES4, failed in comitted
Lockable values - do you mean "const" instead of "var"? If so, here today in Tracemonkey
Locable Object Members - seal is here today in Tracemonkey
Multi-threading with Mutexes - No good way to do this nowadays. SpiderMonkey 1.7 supported this without mutexes (mutexes would be easy to graft on, including in pure script). Rhino (moz js on java) might be able to do this.
Ability to load compiled libraries - doable today, GPSEE, built on tracemonkey, implements this (both pre-compiled native JS, which is what I think what you want, and native-language modules. And mixed-mode FWIW)
"Complete" JavaScript includes way too much browser-specific shit. Take out stuff that is not core JavaScript, and suddenly the two books are of the same order of magnitude.
If I was him, I would have somehow figured out a way to add 285,000 TOR exit nodes.
THAT would have been fun. Every user in the country hits their quota, while completely screwing the ISP's transit quotas. They would never dare bill all of their customers for that kind of overage, they would HAVE to eat it.
> There are some contrived instances which might benefit significantly > - but generally the gains are trivial.
I don't know how you define trivial, but JITs and runtime linkers benefit from PC-relative addressing in the x86_64 ISA, which means you can do less branch patching and entry point trampolining.
True, this isn't a 64-bit optimization, but it's not available with the x86 ISA.
> This is a device designed for permanently disabling people without visible damage, > and it should be banned under international law just as blinding weapons are.
This weapon is capable of disrupting religious ceremonies; ergo it is already banned as weapon of Mass disruption.
> I think it's more than just a stretch to categorize that vehicle as a motorbike. > For one think, bikes are nimble and corner easily and accurately. > That thing, if it turns corners at all, is probably like a paralytic elephant.
Those very same comments could make about those idiotically over-raked choppers. Nobody questions that THOSE are motorcycles.
Ah, I've gotten so used to block-scoped JS that I forgot that it was a problem. Hence, I looked at the code, knew what it did, and was not surprised.
You're right of course, especially w.r.t. the second var.
I really hope they make that an strict-mode warning in ES5. Unfortunately, they can't make it make an error because it would break (badly written) ES3 programs.
NO, you idiot, take out the stuff that's not JavaScript before comparing against a book that is about JavaScript.
Christ Almighty, the trolls are stupid today.
Hmm, Didn't think about JScript.NET.
Seems like it's about as popular as Rhino.
Which still doesn't get all the way to "most engines". :)
> Sure a JavaScript engine may have shipped on "every computer ever" but it's been embedded into a browser.
> So the next step is to decouple it from that browser-based engine and use it to create local apps?
Microsoft has been shipping the Windows Scripting Host, wsh, with Windows since like Windows 98 or something.
It can run JScript or VBScript, and automate ActiveX controls. You can create local apps with full Windows GUI, drag and drop, context menu on the desktop, blah-de-blah. It can even be made to talk DAO.
Optionally Typed Objects -- not here today, tried for ES4, failed in comitted
Lockable values - do you mean "const" instead of "var"? If so, here today in Tracemonkey
Locable Object Members - seal is here today in Tracemonkey
Multi-threading with Mutexes - No good way to do this nowadays. SpiderMonkey 1.7 supported this without mutexes (mutexes would be easy to graft on, including in pure script). Rhino (moz js on java) might be able to do this.
Ability to load compiled libraries - doable today, GPSEE, built on tracemonkey, implements this (both pre-compiled native JS, which is what I think what you want, and native-language modules. And mixed-mode FWIW)
> Silly you indeed. I would hate to use 3 different debuggers for every bit of code I
> write, to make sure it works on every platform.
And I suppose you write your C code for Linux, and cross your fingers when you ship it to Solaris, AIX, Iris, and Windows customers?
Or do you maybe test it on all the platforms you support?
You may have a point with Ruby or Python.
But PHP? Give me a freakin' break. It is far, far, far, far, far worse from a language design POV than JavaScript.
I tried your test program and the output was exactly as expected (456,123 for x=1,0).
So, what was your point? That you can use the var keyword twice in a scope block?
I think that might be addressed in ES5 "use strict", although that doesn't throw any warnings on current tracemonkey.
> The absence of a trim method is not a DOM problem: I should be a method available on String.
IIRC it is in the ES5 draft, and implemented in at least TraceMonkey.
Apples and Oranges.
"Complete" JavaScript includes way too much browser-specific shit. Take out stuff that is not core JavaScript, and suddenly the two books are of the same order of magnitude.
> most implementations of JS have threads, its just that its transparent to the language.
Really? Name two.
To the OP: Threads are not the only solution to concurrency. JS works will event loops.
A linear increase in growth rate represents an exponential increase in growth. Calculus 101.
Interesting.
First off, your one-instruction CPU, I guess you didn't need to express the instruction in machine code, just the arguments.
Here's the funny question, why not develop an assembler with synthetic instructions, like SPARC v9? It would certainly make it easier to program.
Thanks a lot, a6e. Now I have to clean freakin' rice and tandoori sauce offa my monitor!
What if she got pregnant by raping Stephen Hawking?
Wait, my /. uid has the same order of magnitude as the Nagle Algorithm Dude's?
Suddenly, I feel 1,337 times cooler!
I dunno. He had a column in Byte magazine I used to like.
If I was him, I would have somehow figured out a way to add 285,000 TOR exit nodes.
THAT would have been fun. Every user in the country hits their quota, while completely screwing the ISP's transit quotas. They would never dare bill all of their customers for that kind of overage, they would HAVE to eat it.
> It's actually quite interesting what Chinese goverment is capable of on technical terms.
Not really. They have a near-monopoly on Asian Kids.
Hey, don't blame me. I voted for Kodos!
> There are some contrived instances which might benefit significantly
> - but generally the gains are trivial.
I don't know how you define trivial, but JITs and runtime linkers benefit from PC-relative addressing in the x86_64 ISA, which means you can do less branch patching and entry point trampolining.
True, this isn't a 64-bit optimization, but it's not available with the x86 ISA.
OMFG, that is the BEST Simpsons analogy EVER.
*rotflmao*
> This is a device designed for permanently disabling people without visible damage,
> and it should be banned under international law just as blinding weapons are.
This weapon is capable of disrupting religious ceremonies; ergo it is already banned as weapon of Mass disruption.
> I think it's more than just a stretch to categorize that vehicle as a motorbike.
> For one think, bikes are nimble and corner easily and accurately.
> That thing, if it turns corners at all, is probably like a paralytic elephant.
Those very same comments could make about those idiotically over-raked choppers. Nobody questions that THOSE are motorcycles.
You forgot one thing: "Ability to wheelie, provided engine can produce sufficient power"
That eliminates all the poseurs on segways, but allows scooters.
Now scooters... do THEY count? How about Burgmans?
Personally, I wave.