Welcome to Gaia! ::

WWLink's avatar

Dapper Gaian

650 Points
  • Dressed Up 200
  • Happy Birthday! 100
  • Gaian 50
That's kinda ridiculous if they throw a ban at a really old member for that :
Scriptkitten's avatar

Smitten Kitten

So I've determined I still have much to learn.

From the time I started getting into programming, I was told libraries only existed to provide programmers with the functions they were too lazy/too inexperienced to write themselves. I can't remember where I heard that, but it's been ingrained into me ever since. So, being the masochist I am I avoided them like the plague and tried to write everything from scratch... and would get frustrated because I never could figure out why I could do anything text-based but nothing more.

Yep yep, I'm preeeetty dumb.

So I'm in my little corner looking at jQuery. It hurts my head even more than JavaScript. ._. The tutorials on their site don't make a lot of sense to me. Maybe I should just give up on jAnything for a while and stick to PHP since I'm actually okay at it... </rant>
Shade7510's avatar

Benevolent Borg

13,950 Points
  • Perfect Attendance 400
  • Millionaire 200
  • Invisibility 100
what makes JS and JQ so disliked anyways? i know i've heard why before but i keep forgetting. didn't it have something to do with the language being too buggy or not being well built or something?
Shade7510
what makes JS and JQ so disliked anyways? i know i've heard why before but i keep forgetting. didn't it have something to do with the language being too buggy or not being well built or something?
It has to do with what color to paint the bike shed that no one uses.

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.

JavaScript is kind of a weird language. It looks like C, but it's not C. It looks like Java, but, oh hell no, it's not Java. Actually, it's a Scheme dialect. It just uses C-like syntax. Well, actually, it's a Self dialect. It just uses Scheme semantics and a C-like syntax.

It's a weird language. And most people can't seem to get over that. It's actually a quite nice language, once you get it: It's functional, has Scheme scoping semantics, and a powerful prototypal object mechanism. It's pretty cool.

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.

It's got problems, to be sure: Optional semicolons actually cause more problems than they solve, for one thing. But it's a fine language for what it is. We can do better, but most of the complaints I've heard are wrong-headed and stupid.

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.
WWLink's avatar

Dapper Gaian

650 Points
  • Dressed Up 200
  • Happy Birthday! 100
  • Gaian 50
Am I right to think that it's better to learn javascript first before trying to use jquery?
Scriptkitten's avatar

Smitten Kitten

WWLink
Am I right to think that it's better to learn javascript first before trying to use jquery?
Probably. But at this point I'm hoping if I just keep reading maybe eventually it'll click... I absolutely agree with it being a weird language. Things that work one way in one language make no sense in JavaScript, at least not to me.

It's a bit depressing, actually. Scriptkitten can't even write a script. ._.
Shade7510's avatar

Benevolent Borg

13,950 Points
  • Perfect Attendance 400
  • Millionaire 200
  • Invisibility 100
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?

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.

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.
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.
WWLink's avatar

Dapper Gaian

650 Points
  • Dressed Up 200
  • Happy Birthday! 100
  • Gaian 50
I find ObjC more soothing than C++. mrgreen
Shade7510's avatar

Benevolent Borg

13,950 Points
  • Perfect Attendance 400
  • Millionaire 200
  • Invisibility 100
psychic stalker

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.

honestly? you'd at least hope to find comfort in knowing that they're are at least some people in charge who know what it is they're doing and the best way to do it. but then again if the public complains about something enough i guess you'd eventually be willing to do anything to shut them up.

Quote:

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.

sounds like people in general. technology seems to have become more designated toward luxury rather than actual scientific progress. though that isn't to say there hasn't been any actual progress i suppose.

anyways is there a place all those tools are stored or how would you know when something like that is released i guess is what i'm wondering?

Quote:

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.

this is the first time i've heard of scala. there are a lot more languages than i had thought. is there a reason scala hasn't become more popular than java?
Am i the only one who seldom remembers the address of a place, just how to get there?
Shade7510
psychic stalker

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.

honestly? you'd at least hope to find comfort in knowing that they're are at least some people in charge who know what it is they're doing and the best way to do it. but then again if the public complains about something enough i guess you'd eventually be willing to do anything to shut them up.
Yeah, so it's kind of nice to see what kind of things get discussed at, for example, the JTC1/SC22/WG21, and the kinds of things that come out of their meetings. Compared to ECMA-262, ISO14882 is well-reasoned. JavaScript may be simpler and more clearly-defined, but at least there's rationale behind C++ sometimes.

Well, that's a bit of an exaggeration. JavaScript is a nice language, but the standards committee is only interested in making nice, and not in making a good language.
Shade7510
Quote:

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.

sounds like people in general. technology seems to have become more designated toward luxury rather than actual scientific progress. though that isn't to say there hasn't been any actual progress i suppose.

anyways is there a place all those tools are stored or how would you know when something like that is released i guess is what i'm wondering?
They pop up on Hacker News and the JavaScript subreddit all the time. Most of them are hosted on Github.com and code.google.com, and a lot of them exist only because someone felt like doing it today.
Shade7510
Quote:

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.

this is the first time i've heard of scala. there are a lot more languages than i had thought. is there a reason scala hasn't become more popular than java?
It's newer. Scala is only 10 years old, and was designed on and for the Java Virtual Machine. Scala and Clojure are actually quickly supplanting the Java Programming Language almost everywhere in new projects. There are even a lot of new projects being created to make Scala or Clojure versions of popular Java packages, specifically because both languages put Java completely to shame on its own turf.

(To be clear, though, Scala and Clojure are generally slower than Java right now. It's changing fast, but when I say they're better, I mean in that they offer better abstractions and better syntactical and semantic tools within the language than Java can possibly bring to the table.)
The20
Am i the only one who seldom remembers the address of a place, just how to get there?
Yes.
Lanackse-Kanvae's avatar

Perfect Lunatic

11,100 Points
  • Dressed Up 200
  • Forum Regular 100
  • Elocutionist 200
No mention for the fact that JS is dynamically typed so that your variables could be pretty much any type and switch at the drop of a hat?

Most people are used to statically typed languages like Java and C (at least I'm pretty sure C is like that) and that difference can confuse people.

An example of this is when taking 2 inputs from dialogue boxes and want to subtract one from the other.

Java would automatically type the input as a String so if you wanted to do some maths with the inputs, you'd have to put it through a parseInt command.

JS wouldn't give two shits and just do the maths.
psychic stalker
The20
Am i the only one who seldom remembers the address of a place, just how to get there?
Yes.
Oh. Ok.


Lanackse-Kanvae
No mention for the fact that JS is dynamically typed so that your variables could be pretty much any type and switch at the drop of a hat?

Most people are used to statically typed languages like Java and C (at least I'm pretty sure C is like that) and that difference can confuse people.

An example of this is when taking 2 inputs from dialogue boxes and want to subtract one from the other.

Java would automatically type the input as a String so if you wanted to do some maths with the inputs, you'd have to put it through a parseInt command.

JS wouldn't give two shits and just do the maths.
Weakly typed languages - my nemesis! Seriously, most problems i had with Matlab and now R are due to the language using whatever type it sees fit, converting it in only half of all cases and then complaining that something doesn't work halfway down - or just ignoring the problem and moving on like nothing happened.

Quick Reply

Submit
Manage Your Items
Other Stuff
Get GCash
Offers
Get Items
More Items
Where Everyone Hangs Out
Other Community Areas
Virtual Spaces
Fun Stuff
Gaia's Games