Shade7510
psychic stalker
That is to say, it's mostly people complaining about things they don't understand, or that they're using wrong, or that DHH or Zed Shaw said was crap so it must be true. Rarely, you'll see a valid complaint that can be easily shot down by pointing out that there's a better way to do the same thing.
now that makes sense. when i hear someone complain about JS my first though it why they're complaining and my second is why they don't fix what they don't like about it. but of course, things aren't always that simple. i imagine that even if someone wanted to fix their issue with it there are issues that keep them from doing so. now that i think about it, if someone wanted to do a major convenient update for a programming language would that possible?
They have to do it through the ECMA organization, with the working group for ECMA-262. Ideas for the language often get prototyped at Mozilla, which does a lot of the front-line work to figure out what ideas are workable and which aren't.
The problem is that most of the ideas that were pushed into ECMA-262 5.1 edition are absurd. Things like a class-based OOP system bolted on top of the rest of it. It fixes none of the problems and makes the language worse in the process. The
problem is that most of the issues people b***h about
aren't problems at all, and are mostly important parts of the language design. And then Microsoft, Google, Mozilla, Apple, Opera, and a bunch of others want
their ideas in the language, even when they conflict with everyone else's ideas.
And now people are using JavaScript as the "assembly language of the web," because it's universally supported in all browsers, and there's been success in building languages and tools on top of JavaScript. Some of them are good, some of them are really cool (like Emscripten), but most of them just add piles of crap on top of an otherwise reasonable language, in an effort to make it more palatable for people that are too ignorant, impatient, and incompetent to actually
get JavaScript.
Shade7510
psychic stalker
But everyone wants it to be a class-based OOP system with Java semantics. But it's not, that's a stupid idea, and they're stupid people for wanting it.
what would be the pros/cons of making is a class-based OOP system?
makes me a bit discontent that i wouldn't already know the answer to this. then again maybe i'm just rushing myself to learn things a bit more than i need to. The concepts of "pros" and "cons" are irrelevant and distracting.
Class-based OOP is a pile of stupid, compounded by decades of legacy bullshit from everything else. It is, in my not-so-humble opinion, one of the worst abstractions available to programmers. It's a terrible tool in C++ (which was originally C plus classes), and it makes Java and C# pants-on-head retarded in large, complex projects. A handful of languages, like Scala and Ruby, manage to make it work, by using the concept consistently and flexibly across the entire language. Ruby does it by adding the concept of mix-ins, while Scala does it with the traits concept.
There are far better abstractions: The message-passing OOP of SmallTalk, Erlang, Eiffel, Objective-C, and several others was the original OOP metaphor, devised by Alan Kay. A similar concept, using coroutines and continuations, was built on top of LISP in a few different, incompatible dialects of the language.
Prototypal OOP, like in JavaScript and Self, is a completely different concept. It's more powerful and flexible than class-based OOP, and works a lot more like OOP
should. It uses delegation, rather than coroutines and continuations, but it works almost as well.
Class-based OOP is a model based on a fundamental misunderstanding of message-passing OOP, carried through to a perfected form of stupidity.
Functional languages like Haskell and Standard ML take the tack of instead using category theory to model computation in a way very similar to OOP in many ways. Functors and Monads are significantly more powerful than any of these OOP concepts.
Shade7510
psychic stalker
As for JQuery, it's mostly just people complaining that they don't understand JavaScript Prototypes. I.e., people who don't know what the hell they're doing.
i think i could understand that. when you're not sure what to do or even where to start you tent to get frustrated. it seems that they're two options people tend to choose from in these situations. either they complain out loud about it or suffer silently about it. but i guess that doesn't necessarily mean that one should cry out and expect others to just fix their issues.
The majority of the complaints specifically apply to writing JQuery modules and extensions. Doing so requires that you fully understand how prototypal OOP works in JavaScript. It's not simple, and it's understandable that people have trouble with it. Like I said, it's
weird.