JavaScript Inventor Speaks Out
Anonymous Coward writes "Brendan, on his mozillazine blog talks about JavaScript 1, 2, and in between in light of DHTML and AJAX. In an informal blog entry he answers frequently asked questions such as fixing Unicode in regular expressions, multi-threading, weak numeric typing, and obfuscating code."
Why not use ASP? Or .Net? Open source my ass...
Oh yeah, FP.
fr1st ps0t!!
HAHAHA I R cool.
Multi-threaded popup windows. Or not.
I'd rather use a browser configured to show me the world wide web as a bunch of hypertext documents, not as a bloated adware-infested and spyware-infested application that moves crap around inside the browser window and pops up windows.
gas the jews
GNAA Announces Immediate Release of OSX_x86_YHBT
Ich Bindawalross (London) - GNAA (NYSE: GNAA) President timecop released a statement today regarding the immediate Internet release of MacOS X for the x86 architecture, available on many BitTorrent networks. After making the statement, timecop yielded the stage to a second speaker at the press conference, Apple Computer co-Founder and CEO, Steve "Rim" Jobs, now fully recovered from his recent gender reassignment surgery to field questions from attending press members.
"We here at Apple Computerth [sic] have decided on a slightly different path for the upcoming version of the MacOS X," Jobs states before bursting out into high pitched giggles. "We have replaced our overpriced and bloated software with an efficient and easy-to-use interface. I would like to take this opportunity to announce a merger larger than a Zimbabwe nigger cock: GNAA and Apple Computer."
Returning to the podium, timecop began speaking again, while Steve Jobs submitted to orally pleasuring his ten inch nigger cock. "Dedicated faggots have been loyally purchasing the homosexual software and hardware abomination that is Macintosh computers. Apple has been striving to provide software customers with the most flambouyantly homosexual combination available. However, in recent days, this hasn't been enough.
"There has been increasing pressure from the disgustingly obese Lunix nerds and the socially well-adjusted and popular Windows users to convert, as well as pressure from OS X emulators to provide consumers with increasingly gay products. Apple Computer has decided to merge with GNAA in order to broaden the appeal and better serve the interests of all those who buy Macintosh products. Furthermore, we will adopt Apple's "Step 2 ???? PROFIT!" marketing model. This will also stop Apple from going out of business, which they probably would have otherwise."
At this point, timecop paused and deposited a quart of Gaynigger seed into Steve Jobs' mouth.
"GNAApple is committed to our new OS X86. Rather than give the user the difficulty of finding pornography themselves, we provide them with the classic hello.jpg, redundantly archived and brand labeled throughout the 950 MB DVD image, as well as a bundled copy of GPA (Gay Porn Avalanche). Now, greater efficiency in masturbatory pursuits can be provided to all."
"As Slashdot users, many of you might have been exposed to the pirated release, and information pertaining to it. We would like to thank Rob "CmdrCocko" Malda for running the first article, leading to the release of information about our upcoming merger. We would also like to extend our gratitude to thepiratebay.org and XiSO for helping us spread the release over the 'underground scene.' We thank you, the IRC channels who put it on their hacked .edu xdcc bots and fserves who hosted it on your dialup connections.
Steve Jobs, recovering from the large dosage of AIDS from the variety of syphilitic, festering sores of GNAA members, rose to his feet at this point during the press conference. "Our previous versions of OS X were released prematurely, and as a result the operating system was unstable and fragile. Our team of software engineers have also decided to abandon the weak and inefficient UNIX backside in favor of a more efficient and robust alternative: WinNT. The pirated version of our new operating system has had record acclaim from users of the Jewish-based internet news organization known as "Slashdot".
"Those doubting the superiority of our new release need only read user testimonials."
"The Torrent going around as: Mac OS X Tiger X86 READNFO-XISO It's a complete fake. When the image is booted it shows a picture of a guy showing off his Bu** H**e." - Anon Coward
"if you unrar, burn, and boot like the .nfo file says, it just
It's Brendan Eich, not "Brendad"
If the "write once, run everywhere" feature was implemented. ;)
On a related note, I had an interview at Adobe a while back and the interviewer mentioned that javascript was the scripting language for a lot of their products. I drew a blank on that one since I had no idea how use javascript for an application (and, subsequently, didn't get the job). When an application uses javascript for the scripting language, does that mean a javascript parser is also implemented into the application? Or can javascript be used in a standalone environment?
JavaScript was invented to confuse people when Java was new. Now nobody uses Java. Why not change the name to something less confusing?
what the hell are people thinking?
so people can't figure out how to block your version of pop-up windows? or to find the real links to files/streams? among other things, i'm not very familiar with it.
but this stinks of DRM type shit. somewhat like that amazon fiasco that prevents the same user from viewing all the pages of a book.
to purposefully obfuscate code is the same as a painter purposefully maasking the meaning of a painting. it's absurd and reeks of evil.
if you want to "hide and hoard" your code, don't write javascript in the first place.
if i'm off base, someone tell me. but to me this is rediculous.
Science : Proprietary , Knowledge : Open Source
Thank you for inventing Javascript so I can disable it.
Here are the three most-duplicated bug reports against core language design elements tracked by Mozilla's bugzilla installation:
^ from the article.(it was a table, excuse me for my crap formatting)
Clientside is pretty much dead to me.
I hate the whole write once, debug everywhere attitude. why bother writing some script in js if you have a dual xeon server for serverside processing.
perpetually dwelling in the -1 pits
It's a pity JavaScript rarely gets the attention it deserves as a legitimate programming language. Most guides to C begin with teaching you how compilers work; most guides to JavaScript teach you how to swap some images.
This is unfortunate as it's quite powerful: it supports first-class functions and an excellent generic object-system, not to mention the usual suspects such as dynamic memory management.
Hopefully its apparent resurgence these days (as browser vendors get their compatibility acts together) will change this.
((lambda x ((x))) (lambda x ((x))))
The difference between the Javascript language and the browser objects themselves has become more and more clear to me as I've worked heavily with both more complex Javascript like AJAX (where you aren't spending much time directly interacting with browser objects, but rather staying "inside" Javascript), working with JScript.NET for commandline programs, JScript in WSH and HTA as well as Photoshop scripting.
.NET assemblies etc.)
Many of the things that bother me about "Javascript" turn out to be problems with IE or Mozilla's objects and not the language itself. Don't get me wrong, things like the Javascript date objects still bug me, but I'm growing to like the language itself much more than I used to.
If you've only ever used Javascript in a browser, you may not realize that much of what you're working with is really the browser's object model. All of the window., document., document.form, etc. interaction form.submit(), etc. are all browser object properties and methods.
I noticed before posting some questions about scripting outside the browser. In those environments, you just get a different set of objects instead of document.form, you get objects for the filesystem or an active image, just like in any other programming language that uses objects from outside (COM objects,
The Glass is Too Big: My Take on Things
Honestly. Why should you be able to? Amazon SELLS books. It's not an on-line library. That's not the service they are offering.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
Try this site to see what I mean.
http://www.masswerk.at/jsuix/
I was hoping he would talk about the decision to put JavaScript in the Netscape browser. I seem to remember at the time that the magazine columnists were saying Sun was upset that Netscape chose JavaScript over TCL and the fact that they chose to name it JavaScript since that confused the masses of people who generally weren't even sure what Java was yet. I guess they were in a hurry to innovate scripting into the browser before you know who did or we would have ended up with vbscript as the de facto web language. But I've always wondered why they didn't go with TCL. It probably could have been embedded and extended just as easily and there were already lots of programmers familiar with it who could have jumped right in with both feet.
Bah. I read the entire article and the words 'I apologise for the inconvenence' don't appear anywhere.
JavaScript has contributed nothing but unnecessary complexity to reading website documents. As if animated GIF images aren't enough a bad choice, now we have Flash media to insult the relevant HTML document format. Isn't Javascript responsible for pop-ups and also serve as the delivery mechanism to attack one's computer through the webbrowser?
For all the damage JavaScript has caused, I refer this flame to express my anger to remove javascript.
As someone who'd only used Javascript in creating DHTML, I'd worked up a good hate against it. But what I'd hated was really the ridiculously incompatible implementations of the DOM in IE/Netscape. I also hated the embedded space itself--shitty delivery method (encoded or called from HTML, no #include, no namespaces).
Then I started writing extensions for firefox. I'm trying to show my company that (firefox + xul + js) > (ie + activex). I'm mostly successful, since we already have lots of XML over HTTP data services primed for XmlHttpRequest.
But it turns out that the language doesn't suck so bad. Sure the namespace problem is JS's fault, but the rest is the embedding. Using JS for firefox exntensions allows you to code to one platform; make more OO libraries, etc. I even generate classes from the DTDs I make the XML services from.
Who would've thunk it's really a decent language in the dynamic, lambda-toting, functional-ish area?
It's ECMAscript. Name hasn't caught on yet. ECMA = European Computer Manufacturer's Association, I do believe. Mozilla used to have some bugs where you couldn't use that as the attribute value for a "script" element. Or maybe that was with SVG.
It's also responsible for Google Maps. That's the only big one that jumps out at me, but there are a few other uses I've seen, that I've liked. Try out greasemonkey, and make javascript work for you.
Or does obsfucating code and open source sound like they don't belong in the same sentence? (Yes, I did RTFA. Just curious as to the response.)
Windows has detected an undetectable error.
it. Do not share in our group Whether you exactly what yo0've *BSD has steadily Cycle; take a in time. For all
And his screed basically ends up as a bullet-point on some MPAA/RIAA's powerpoint slide.
If there's a "war", then we should make note of who the "warriers" are.
Anyway give people an inch (We want preview before buying!), and they'll take a mile. (We want to 'hack' the website to get the entire book so we don't have to buy it).*
*I'm reminded of that old joke: How do you know there's intelligent life out their? A) Because it hasn't come here.
As well as GMail, the new Google Custom Frontpage (You know you can drag those boxes around?), and hmm.. well, just disable JS in your browser and see how many websites still function. It's ubiquity is why popups exist, as the GP pointed out, but the reason popup blocking software exists is because simply turning off JS would "break the internet," in the eyes of most users.
https://www.eff.org/https-everywhere
Undoubtedly most browser based attacks do use Javascript. Perhaps when this guy invented it he should have thought of a security architecture that works? When you are celebrated as the inventor of something so powerful, it would just be a graceful thing to take a little responsibility for the way your invention has been abused.
--
I Love Microsoft blog
They're two entirely different languages made by two entirely different companies for entirely different purposes that have evolved in entirely different ways.
You mean we KNOW who invented javascript and we haven't sacked him yet? Hurry! Grab the pitchforks, and lets get pop-up-ad-window on his ass!
that can be embedded in server-side solutions
You should read:
that can be embedded in any solutions
Write boring code, not shiny code!
It never ceases to amaze me how people can do sometimes extensive work with JavaScript and still not spot what an elegant and powerful language it is. Sure, most of that work is about doing meaningless browser-related stuff and wrestling with bad APIs, but come on. I really do expect from an averagely talented real IT person to be able to separate that from the langauge, and be able to recognise the things it can do that their normal language can't. Its almost single-abstraction design that turns out to be able to do just about everything and still look nice and procedural and newbie-friendly totally rocks.
sudo ergo sum
"Lisp in C's clothing" http://www.crockford.com/javascript/javascript.htm l
In this world nothing is certain but death, taxes and flawed car analogies.
Finally somebody who isn't a total dickhead speaks up on the Ajax craze.
..."
"With DHTML and AJAX hot (or hot again; we've been here before, and I don't like either acronym)
Bingo!
The man's right on.
We suffer more in our imagination than in reality. - Seneca
Anyone who uses Javascript in a web site should be shaven, sterilized and destroyed...
I agree! javascript is wonderful. of course many will complain about the speed of the whole thing but if a zx81 could run BASIC at a reasonable speed i'm sure my Pentium-M should hold javascript together (and it does). it's text oriented, interpretive structure is a strength and should be discussed as such (interpreter ALWAYS had massive advatanges over compilers but speed is what everyone wanted)
;-)
I'm _very_ much looking forward to Firefox 1.1, javascript + SVG will open up whole new avenues. e.g. animated mathematics projects that are easily and freely distrubutable (in fact all you need is a website). biological simulations, simple chemical and physical simultations. whilst these can be done now with sprites SVG + JS will make these things shine.... and of course... more games.
Not only that but the source code is available AND the turn around time from code to testing is just an F5 away.
The only browser issure that REALLY must be sorted out is that of SOUND. I want to be able to trigger sounds like i can images... on onload, onsubmit, anywhere in my code (ususally on a timer).
At the risk of sounding preverse the only other thing i'd like would be to stop the system rendering and queue all my requests then render when i say so. preferrably on vsync
Time flies like an arrow. Fruit flies like a banana.
This doesn't do what you'd expect it to do:
function hrs_up() {
h = document.theform.hr.value;
if (h < 23) {
h += 1;
};
document.theform.hr.value = h;
};
function hrs_dn() {
h = document.theform.hr.value;
if (h > 0) {
h -= 1;
};
document.theform.hr.value = h;
};
function mins_up() {
m = document.theform.mn.value;
if (m < 59) {
m += 1;
};
document.theform.mn.value = m;
};
function hrs_dn() {
m = document.theform.mn.value;
if (m > 0) {
m -= 1;
};
document.theform.mn.value = m;
};
This is because someone had the {IMHO crap} idea to use the addition operator for concatenating strings. That worked OK in BASIC {in those days, almost nobody had a full set of punctuation marks on their keyboard}; but unfortunately, JavaScript doesn't know the difference between strings and numbers like BASIC used to. So you end up having to subtract negative numbers when you meant to add.
Perl and PHP don't suffer from this of course, because they use two *different* operators for two *different* operations.
Je fume. Tu fumes. Nous fûmes!
"In this world nothing is certain but death, taxes and failed car analogies."
A failed car analogy is like a Corvair: Exciting, but dangerous.
A failed car analogy is like a Moller flying car: Everybody wants one, but they won't be available for 10 years.
A failed car analogy is like the Flintstones's car: It takes a lot to get started, but then its momentum carries it along for some distance.
A failed car analogy is like a Pacer: Its creator thinks that it's great, but everyone else thinks that it's stupid.
A failed car analogy is like the Jetsons's flying car: It folds up into a briefcase.
A failed car analogy is like a Pinto: If you hit it the wrong way, it will explode.
A failed car analogy is like a Ford Model T: Very out-of-date, and you need a special license to use it.
A failed car analogy is like a Hummer: It sounds sexy until you realize that it doesn't mean what you thought it meant.
JS is a can of worms. I want my browser to be just a browser and not run any code any XXX site sends me. It opens many security holes and makes writting a www browser a very complicated task.
So why not disable it?
Because many sites won't run.
The only solution is if many people disable js and then sites will not use it because they'll lose visitors.
And BTW, the dude is not an "inventor".
Javascript is an attack vector; it is to exploits what a pond is to mosquitoes. I tell everyone to disable it in their browser, email reader, pdf reader, etc... I wish it would go away! Web designers/programmers that require Javascript to access their site should be hung upside down by their private parts.
Javascript is a rushed to market idea in order to make some cool things happen in browsers. You can't call it a programming language and I even hesitate to call it a scripting language.
I think the inventor ought to be bound and stoned to death.
Karma means nothing to me, so suck it...
flash is popular because people like you can do "cool" things easily and it's been wedged in IE for a few years.
I'm sorry, but this comment simply doesn't hold:
JS is not going away, so it ought to evolve. As with sharks (and relationships, see Annie Hall), a programming language is either moving forward, or it's dead.
No, when a programming language doesn't chance, it's called a standard. Look at what we've been able to do keeping html, css, and javascript a stable target for so many years! It's like Space Invaders on the Atari 2600 -- nobody who created that console, its hardware designed specifically for playing Combat and Video Olympics, expected someone to be able to slap six sprites in a row, much less have the player shoot then down one at a time. The 'standard' that was the 2600, however, gave a stable platform for programmers to learn tricks that would give the console life well beyond its creators' expectations.
We've got something like that with javascript, and we can see what happens when we compare to something like Visual Basic 6. Developers are still upset about Microsoft's decision to drop official support for VB6 in an attempt to force people to upgrade to VB.NET. Know what? Those upset programmers have found that VB6 hasn't rusted and simply continue using it to create their apps. There are more companies than you'd know (here's one) whose major apps are/were written in VB6, the 'prototyping language'. They're not quite ready to cast the baby out with the bath.
Fix bigs in javascript? Absolutely. The issue is that we've reached a point where nearly every browser anyone uses supports a 'single' flavor of javascript and we're all familiar with how to make our code work with the few quirks that remain crossplatform. There is a standard on nearly every box on the net that coders can assume will be there for them. I wouldn't want to see anyone mess this stable delivery platform up, splitting the user base into something like what we had in the Netscape 4.x/Mozilla/IE 4 & 5 days. Now *that* was an ugly time to code.
The bottom line is that evolution is an overused metaphor. You've got two choices if you'd like to propagate your genes into the future: immortality or reproduction. Immortality was a little too difficult to accomplish for living, unique individuals. Perhaps there were little organisms that could live forever, but something squashed 'em. They're gone. That's not a problem in the digital world, folk. We can make as many exact copies of an individual as we'd like. Javascript modules are not unique. They don't need to evolve. (I mean, come on, he even mentions sharks, a design that hasn't changed in millions on millions of years!)
Javascript should shoot to become an immortal standard, not another field of play and debate.
It's all 0s and 1s. Or it's not.
Can anyone recommend a good Intro-to-JS book (not an intro to programming book) that doesn't get bogged down in web-related/browser details?
text/javascript seems like it will always be faster than java. it doesn't have to load the virtual machine. in theory this _could_ be very fast (vanderpool/pacifica???). but... just isn't. javascript is ready to go as soon as the browser has loaded the page. tokenisation/compilation is damn near minial and strcmp isn't slow these days.
Time flies like an arrow. Fruit flies like a banana.
Ruby would be beyond cool as a default scripting language for web browsers. It's small and light, and seems to do everything else pretty well.
Got time? Spend some of it coding or testing
After all, you have the source to numerous web browsers written in C. Just add a rolloversrc attribute to the img tag.
Not supported in MSIE, of course, unless you happen to be on their developer team. (-:
Got time? Spend some of it coding or testing