3 ms·
JavaScript - without a doubt - has it's quirks, but it's a very nice and elegant language if you can restrict yourself to a subset of its features. The ECMAScri
by phoboslab 15y ago
JavaScript - without a doubt - has it's quirks, but it's a very nice and elegant language if you can restrict yourself to a subset of its features. The ECMAScript 5 standard and the Strict Mode[1] fix some of JavaScript's design problems. It's already implemented in Firefox 4 and should arrive soon-ish in Chrome (v8) and Safari (JavaScriptCore).
Also, jQuery doesn't "fix" JavaScript, it "fixes" the DOM. I.e. jQuery and many other libraries, have little to no use for programming games (shameless plug: e.g. with Impact[2]) or server side stuff. And some of jQuery's ideas have already been implemented natively in browsers[3].
JavaScript is extremely flexible and allows implementations of other languages like Coffescript with relative ease. I don't see a problem with "fragmentation"; it drives innovation.
[1] https://developer.mozilla.org/en/JavaScript/Strict_mode https://developer.mozilla.org/en/JavaScript/Strict_mode
[2] http://impactjs.com/ http://impactjs.com/
[3] https://developer.mozilla.org/en/DOM/document.querySelectorAll https://developer.mozilla.org/en/DOM/document.querySelectorA...
- wh-uws 15y agoYeah a lot of people conflate JavaScript with the DOM because the only place most people see js is in a browser where one of its major purposes is manipulating the DOM. Admittedly the DOM has had a checkered past. But js's story is much bigger than that. Also I would argue that jQuery just uses a different set of the language's syntax than many programmers would ever encounter just coming from the c-style languages. It forces you to use closures before many programmers actually know what one is. Some never do or never need to.
- olegp 15y agoFurther to this, a lot of the problems one has with the DOM and browser differences are a non issue on the server where you tend to work with much more mature engines, such as Rhino or V8. Our only minor gripe at Akshell (http://www.akshell.com http://www.akshell.com), which incidentally the original poster should check out, is the hype around asynchronous I/O on the server. It appears to be a case of premature optimization and tends to throw off new developers just starting out with the language. Since ease of development is our top priority, Akshell defaults to a synchronous model.