Jan. 13th, 2010

juan_gandhi: (Default)
Seems like on Haiti facebook now is the primary way of communication, since phones are all dead.

JRebel, eh

Jan. 13th, 2010 06:09 pm
juan_gandhi: (Default)
Seems like the coolest stuff since if not sliced bread, but something like that
juan_gandhi: (Default)
So, ACCU, an association of c/c++ users, had invited Douglas Crockford to give a talk regarding the current state of JavaScript.

If you do not know who that Crockford is, you can stop reading now.

I expected to see hundreds of attendants, there were hardly 30 people. Weird.

Crockford told us a brief history of JavaScript. How there is a language owned by a non-existent company, with the name (JavaScript) owned by Sun, and this language has more programmers than any other language in the world.

Turned out it is now used in some Adobe products, as well as on certain backend platforms, and may as well eventually turn out to be the language of choice for all kinds of applications.

Some people write compilers Java -> JavaScript, and Python -> JavaScript (I personally wrote Forth -> JavaScript before I figured out that nobody cares about Forth anymore, and bandwidth gain is insignificant anyway).

Before JavaScript was introduced in Netscape, the people were told to develop something like basic, to replace Java. Remember that Java was available for web programming since 1995. They wanted to use plain Scheme, but were not allowed, so they repainted Scheme and, for marketing purposes, called it JavaScript; Sun gave them an exclusive right for using the trademark. For the same reason when Netscape tried to introduce server-side scripting, and called the same language LiveScript, Sun said "no", and this is how J2EE was born.

Microsoft developed their own flavor, JScript, and Sun did not like it again, and so eventually people desided to turn it into a standard, and went to Europe, ECMA, which is European Computer Manufacturers Association (what? computers manufactured in Europe? By whom? Bulgaria?), became the boss, so to say.

Their name for the language is ECMAScript.

ActionScript was renamed by Adobe into ECMAScript. But it is not. It has nothing to do with ECMAScript standard. Just wrongly-assumed name.

And then why? Dreamweaver and other Adobe products already have JavaScript inside; the best solution for Adobe would be to abandon that buggy, stupid, nonsequitur, unreasonable language, ActionScript, and just start using JavaScript everywhere. The language, JavaScript, is in no way attached to DOM.

By the way, the only slow thing in JavaScript is DOM manipulation. Which is not even the language feature, but the browser feature.

Now what went wrong with ECMAScript standard? They worked on it since 1999. The problems were the following:
- none of the committee members ever used JavaScript;
- IBM did not agree to vote for any standard that does not include their new decimal floating point standard, which unfortunately so far is not supported by any hardware, and implementing which would make all calculations hundreds of times slower;
- Intel... hmm, Intel was against too, forgot why;
- Microsoft has all the right ideas, but nobody was eager to bond with Microsoft, because they are perceived as evil

But! Those theorist had one problem: they could not work out a good standard that would have strict typing and would have what they were promising: speed; every time you introduce strict typing, it meant tons of overhead for runtime type checking - oops.

And still, there were some people (like Crockford) that were fighting for the right solutions, for the good parts. They came up with "ES3.1" standard - a neat set of improvements, language sucks a little bit less, and does not gobble resources; eventually they agreed that ES3.1 should be a part of ES4, but the problem was in understanding of "being a part": either everything in 3.1 should be included into 4, or only parts of 4 could be allowed to be included in 3.1.

Eventually, the theoretical programmers were so behind, that ECMA came up with the solution: take 3.1, call it ES5, and release it. And it was released in December 2009. So there.

One of the problems with ES4 was too much of pressure from Java programmers turned JavaScript programmers. They thought JavaScript was a cheap Java, and, they thought Java is what the language on the client should be.

They had Java on the client since 1995. It flopped, and JavaScript won. Why so?

One of the funny reasons is binary code validation. Turns out that Java's deep code checking takes more time than if you just took source code and compile it on receiving - checking it at the same time.

Oh, and how about using Java in Flash? There was such idea. Macromedia wanted to use J2ME - but Sun said no: it runs on a computer, and so should use full J2SE. Which is way too huge for Flash.

And so it goes.

And by the way, OOP failed miserably on the client side.

And by the way, JavaScript is crawling back into backend programming.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

September 2025

S M T W T F S
 1 23456
78910111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 3rd, 2025 09:28 am
Powered by Dreamwidth Studios