To be honest, I have very little hope of having a reasonable conversation with you on the topic of programming languages.
I was thinking the same thing. So far, all I can get out of you is "it sucks!" or "you suck!". If you want a reasonable conversation, you need to participate in one!
I'll give it one last try: Why do you think that "Javascript's scoping rules are horrible"?
I've seen a lot of students come to an understanding of why global variables cause problems.
Indeed they do. But that's not the issue here. The claim here is that "Javascript defaulting to global unless you explicitly declare local with var is a bad thing" which, additionally, is "CS 101 stuff". While I've been accused of "not understanding", I've never actually posted anything on the subject! I did ask the parent to enlighten me and support his ultimately unsupportable assertions.
He also briefly discusses scoping. If it's something you care about, you can go read it.
It was your criticism. You claimed that "Javascript's scoping rules are horrible". If you are unwilling to support that assertion, that's up to you.
Let's be honest here. You actually don't have any reasons. You just heard that ridiculous meme and parroted it back.
It's not complicated. Just get past the pitifully superficial and I'm sure you'll be able to puzzle that one out.
So... no answer on the alleged problems with Javascript's scoping rules? (I'm not too surprised. It turns out that that particular myth evaporates the instant you look in to it. I guess that's why it's not as popular now as it used to be.)
Fanboy? No, I'm just not irrational. I find the "PHP is the bad because I dunno why, just is" crowd irritating. Hold any opinion you want, just make sure that it's the result of thought, not a substitute for it!
He doesn't even understand why Javascript defaulting to global unless you explicitly declare local with var is a bad thing and that's really CS101 stuff.
Well, then please, enlighten me! What makes it bad? How is that reason any way related to CS, let alone something you'd encounter in a 101 course?
believes Javascript and PHP are the pinnacles of quality language design
When did I ever say that? On PHP, all I've said is that it's not the unusable abomination unthinking slashdotters believe it to be. It's a perfectly average language, well suited to the task for which it was designed. If you disagree, please, offer a reason. (Hint: "It's just like, really bad, man" isn't a reason.)
Javascript is a surprisingly well-designed language. It's not without it's faults (no language is perfect) but it's certainly a cut above other popular languages.
I'm 90% sure that the reason Javascript was built as a prototype-based language is because that was the easiest way to create the interpreter.
Possibly, but the reason doesn't seem relevant. Being accidentally well-designed isn't exactly a strong criticism!
Javascript's scoping rules are horrible, though.
Sorry, what's wrong with them? I've heard that before, but I've yet to hear an actual reason. I've looked, but can't even begin to understand this complaint.
I make a better case for him as an atheist terrorist above, quoting from his list of demands. I'd like to note that while you can dismiss it if you'd like, you'd also be forced to dismiss other acts of religious terrorism like various abortion clinic bombings and the murder of George Tiller by the same reasoning.
Of course, Lee was just the first one that came to mind. There have been other incidents.
Gregory Arthur Weiler II - Arrested in a plot to burn down 48 churches. His atheism remains unconfirmed, though step 20 of his plan was "Self-Promote for the next 4 years while beginning list of goals written in Oklahoma having to do with destroying and removing church buildings from U.S., a tiny bit at a time - setting foundation for the years to follow" He was also suspected, in an unrelated case, of burning down a Mosque.
This one is a bit dubious, but made the news anyway.
The East Texas church arsonists were suspected of being motivated by atheism due to some of the books found in one of the arsonists homes. Again, that remains unconfirmed. (Their motivation was not disclosed.)
Moving on, it's not unreasonable to believe that someone could commit an act of terror "in the name of atheism". As atheism grows in popularity, you're bound to find more and more unstable people that identify with atheism and, consequently, more violent atheist organizations. It's not uncommon for atheists to believe that all religion is harmful. It's won't take much for a few of the disenfranchised to add "it must be stopped at any cost".
It appears that way, as he was championing a popular atheist cause.
It shouldn't really surprise you. Atheism isn't simply a lack of belief to a lot of people. For many, it's an ideology to which they attach a variety of things (from logical positivism to scientism) depending on the individual atheist or atheist group with which they identify.
You can say "that's not really atheism" if you like, but, to them, those things are a necessary consequence of atheism.
So, yes, I think it's fair to call Lee an atheist terrorist. As atheism grows, we should expect more nuts like him to appear.
just reasonably good. At the very least, certainly better than PHP.
Not that. PHP's only real problems are inconsistent naming and parameter order. (Interestingly enough, a problem partially shared by python in spite of PEP 8) Unlike Python, it doesn't suffer from any serious design flaws.
Here's an example that you're undoubtedly tired of hearing about: Meaningful white space. It looks like just a matter of personal preference at first, but has far-reaching consequences. I've mentioned in the past how it makes some editors unusable and it makes moving code from one indentation level to another (even with a good python-aware editor) a crap-shoot. But those are just the problems you'll find on the surface. The consequences of that seemingly harmless decision don't end there. Look at the absurd problems that decision has caused to lambdas! (Problems, I will note, that are not shared by PHP.)
I call a problem like that serious or 'deep' because it cannot be fixed without making a dramatic change to the language or introducing a major inconsistency in to the language.
I don't mention problems like scoping, as those just show a lack of planning -- not necessarily a major issue with the language's design. Python got crufty so much more quickly than other languages because its design wasn't well-planned from the start, leading to lots of strange problems and ad-hock solutions over the years. GvR appears to have committed Brown's first deadly sin of compiler writing: to code before you think.
Javascript, in contrast, is nearly 20 years old and has not accumulated much, if any, cruft. It's actually improved. (Though it looks like it's about to start accumulating some cruft...) Its major problems (i.e. new and constructor functions) were there from the start (due to external pressure) and they exist as problems because they stand in direct opposition to an otherwise clear, consistent, and simple design.
In this town a certain man, very wealthy, but, as it afterwards appeared, a great rogue, having been buried, after his death sallied forth (by the contrivance, as it is believed, of Satan) out of his grave by night, and was borne hither and thither, pursued by a pack of dogs with loud barkings; thus striking great terror into the neighbors, and returning to his tomb before daylight. After this had continued for several days, and no one dared to be found out of doors after dus, -- for each dreaded an encounter with this deadly monster, -- the higher and middle classes of the people held a necessary investigation into what was requisite to be done; the more simple among them fearing, in the event of negligence, to be soundly beaten by this prodigy of teh grave; but the wiser shrewedly concluding that were a remedy further delayed, the atmosphere, infected and corrupted by the constant whirlings through it of teh pestiferous corpse, would engender disease and death to a great extent; the necessity of providing against which was shown by frequent examples in similar cases....
It would not be easy to believe that the corpses of the deat should sally (I know not by what agency) from their graves, and should wander about to the terror or destruction of the living, and again return to the tomb, which of its own accord spontaneously opened to receive them, did not frequent examples, occurring in our own times, suffice to establish this fact, to the truth of which there is abundant testimony....
Moreover, were I to write down all the instances of this kind which I have ascertained to have befallen in our times, the undertaking would be beyond measure laborious and troublesome
Python 3 is simply a new language, which disposes with a lot of cruft that accumulated over the years in Python 2 (remember, we're talking about something that's 20 years old at this point).
Odd, that doesn't seem to have been a problem for many much older languages.
Then again, it's Python. Where design is concerned, it makes PHP look like lisp.
I started her on FORTH. Immediately after grasping the power of higher level code over machine instructions she was hounding me about "But how does the code turn into the machine code?!" I helped her build a simple toy calculator language / interpretor / and compiler
At first I thought "Cool story, bro..." and then I saw...
I've also successfully used Java VM bytecode as a good intro to computing, but its stack centric design doesn't do justice to the underlying hardware
So then I was all like "Not familiar with FORTH, are you?"
But I kept on going and then I read...
I self learned on BASIC and suffered from that brain damage far longer than I should have. I wouldn't start someone on JavaScript for the same reason.
And now I know that you're just laughably incompetent. So I'm back to my first thought...
You caught me! I'm advertising my free and open source projects
Yeah, we already puzzled that out. It wasn't exactly difficult.
to get rich.
WTF? Where did you come up with that?
You must very smart
Snappy comeback. That AC will surely think twice before stating the obvious in the future!
Look, I'm sorry that your project isn't getting the attention or praise that you had hoped it would garner. It happens. Try not to let this depressingly empty thread discourage you. Just keep making new stuff and you're bound to hit on a project that gets a lot of attention.
There are a few truly awesome languages. Languages that can be called beautiful, rarer still. LISP is, without question, chief among them.
Unfortunately, they tend to be impractical. LISP, for example, is undoubtedly a write-only language. That's probably why everyone loves it, but hardly anyone actually uses it.
To be honest, I have very little hope of having a reasonable conversation with you on the topic of programming languages.
I was thinking the same thing. So far, all I can get out of you is "it sucks!" or "you suck!". If you want a reasonable conversation, you need to participate in one!
I'll give it one last try: Why do you think that "Javascript's scoping rules are horrible"?
I've seen a lot of students come to an understanding of why global variables cause problems.
Indeed they do. But that's not the issue here. The claim here is that "Javascript defaulting to global unless you explicitly declare local with var is a bad thing" which, additionally, is "CS 101 stuff". While I've been accused of "not understanding", I've never actually posted anything on the subject! I did ask the parent to enlighten me and support his ultimately unsupportable assertions.
He also briefly discusses scoping. If it's something you care about, you can go read it.
It was your criticism. You claimed that "Javascript's scoping rules are horrible". If you are unwilling to support that assertion, that's up to you.
Let's be honest here. You actually don't have any reasons. You just heard that ridiculous meme and parroted it back.
You like Javascript but not OOP?
It's not complicated. Just get past the pitifully superficial and I'm sure you'll be able to puzzle that one out.
So... no answer on the alleged problems with Javascript's scoping rules? (I'm not too surprised. It turns out that that particular myth evaporates the instant you look in to it. I guess that's why it's not as popular now as it used to be.)
BTW the quote isn't from Dijkstra
Yes, it is.
Fanboy? No, I'm just not irrational. I find the "PHP is the bad because I dunno why, just is" crowd irritating. Hold any opinion you want, just make sure that it's the result of thought, not a substitute for it!
He doesn't even understand why Javascript defaulting to global unless you explicitly declare local with var is a bad thing and that's really CS101 stuff.
Well, then please, enlighten me! What makes it bad? How is that reason any way related to CS, let alone something you'd encounter in a 101 course?
believes Javascript and PHP are the pinnacles of quality language design
When did I ever say that? On PHP, all I've said is that it's not the unusable abomination unthinking slashdotters believe it to be. It's a perfectly average language, well suited to the task for which it was designed. If you disagree, please, offer a reason. (Hint: "It's just like, really bad, man" isn't a reason.)
Javascript is a surprisingly well-designed language. It's not without it's faults (no language is perfect) but it's certainly a cut above other popular languages.
but since jQuery came around it appears more like a tool for inventing infinite ways to shoot yourself in the foot.
Ugh... Try not to judge javascript on the basis of that abomination.
I'm 90% sure that the reason Javascript was built as a prototype-based language is because that was the easiest way to create the interpreter.
Possibly, but the reason doesn't seem relevant. Being accidentally well-designed isn't exactly a strong criticism!
Javascript's scoping rules are horrible, though.
Sorry, what's wrong with them? I've heard that before, but I've yet to hear an actual reason. I've looked, but can't even begin to understand this complaint.
It is also more than flawed enough to justify some competition.
How so? Are you familiar with the language at all?
The tag has a "language" attribute for a reason
Not any more. It's been depreciated for a while now.
I don't see 'N' in the H2O equation. [...] This is bogus.
Indeed. This is why fish can't possibly exist.
I make a better case for him as an atheist terrorist above, quoting from his list of demands. I'd like to note that while you can dismiss it if you'd like, you'd also be forced to dismiss other acts of religious terrorism like various abortion clinic bombings and the murder of George Tiller by the same reasoning.
Of course, Lee was just the first one that came to mind. There have been other incidents.
Gregory Arthur Weiler II - Arrested in a plot to burn down 48 churches. His atheism remains unconfirmed, though step 20 of his plan was "Self-Promote for the next 4 years while beginning list of goals written in Oklahoma having to do with destroying and removing church buildings from U.S., a tiny bit at a time - setting foundation for the years to follow" He was also suspected, in an unrelated case, of burning down a Mosque.
This one is a bit dubious, but made the news anyway.
The East Texas church arsonists were suspected of being motivated by atheism due to some of the books found in one of the arsonists homes. Again, that remains unconfirmed. (Their motivation was not disclosed.)
Historically, I can point to The League of Militant Atheists or to the Cult of Reason
Moving on, it's not unreasonable to believe that someone could commit an act of terror "in the name of atheism". As atheism grows in popularity, you're bound to find more and more unstable people that identify with atheism and, consequently, more violent atheist organizations. It's not uncommon for atheists to believe that all religion is harmful. It's won't take much for a few of the disenfranchised to add "it must be stopped at any cost".
Among his demands to the Discovery Channel:
forums of leading scientists who understand and agree with the Malthus-Darwin science
Civilization must be exposed for the filth it is. That, and all its disgusting religious-cultural roots
Talk about Evolution. Talk about Malthus and Darwin until it sinks into the stupid people's brains until they get it!!
It appears that way, as he was championing a popular atheist cause.
It shouldn't really surprise you. Atheism isn't simply a lack of belief to a lot of people. For many, it's an ideology to which they attach a variety of things (from logical positivism to scientism) depending on the individual atheist or atheist group with which they identify.
You can say "that's not really atheism" if you like, but, to them, those things are a necessary consequence of atheism.
So, yes, I think it's fair to call Lee an atheist terrorist. As atheism grows, we should expect more nuts like him to appear.
There are no terrorists for the cause of atheist ? People like James Lee don't exist?
James Lee, Atheist Terrorist
Look him up.
Yeah, that link is popular -- but it's mostly nonsense.
I don't consider Python perfect or ideal,
I can agree with that.
just reasonably good. At the very least, certainly better than PHP.
Not that. PHP's only real problems are inconsistent naming and parameter order. (Interestingly enough, a problem partially shared by python in spite of PEP 8) Unlike Python, it doesn't suffer from any serious design flaws.
Here's an example that you're undoubtedly tired of hearing about: Meaningful white space. It looks like just a matter of personal preference at first, but has far-reaching consequences. I've mentioned in the past how it makes some editors unusable and it makes moving code from one indentation level to another (even with a good python-aware editor) a crap-shoot. But those are just the problems you'll find on the surface. The consequences of that seemingly harmless decision don't end there. Look at the absurd problems that decision has caused to lambdas! (Problems, I will note, that are not shared by PHP.)
I call a problem like that serious or 'deep' because it cannot be fixed without making a dramatic change to the language or introducing a major inconsistency in to the language.
I don't mention problems like scoping, as those just show a lack of planning -- not necessarily a major issue with the language's design. Python got crufty so much more quickly than other languages because its design wasn't well-planned from the start, leading to lots of strange problems and ad-hock solutions over the years. GvR appears to have committed Brown's first deadly sin of compiler writing: to code before you think.
Javascript, in contrast, is nearly 20 years old and has not accumulated much, if any, cruft. It's actually improved. (Though it looks like it's about to start accumulating some cruft...) Its major problems (i.e. new and constructor functions) were there from the start (due to external pressure) and they exist as problems because they stand in direct opposition to an otherwise clear, consistent, and simple design.
Not even close -- low-level at best.
In this town a certain man, very wealthy, but, as it afterwards appeared, a great rogue, having been buried, after his death sallied forth (by the contrivance, as it is believed, of Satan) out of his grave by night, and was borne hither and thither, pursued by a pack of dogs with loud barkings; thus striking great terror into the neighbors, and returning to his tomb before daylight. After this had continued for several days, and no one dared to be found out of doors after dus, -- for each dreaded an encounter with this deadly monster, -- the higher and middle classes of the people held a necessary investigation into what was requisite to be done; the more simple among them fearing, in the event of negligence, to be soundly beaten by this prodigy of teh grave; but the wiser shrewedly concluding that were a remedy further delayed, the atmosphere, infected and corrupted by the constant whirlings through it of teh pestiferous corpse, would engender disease and death to a great extent; the necessity of providing against which was shown by frequent examples in similar cases. ...
It would not be easy to believe that the corpses of the deat should sally (I know not by what agency) from their graves, and should wander about to the terror or destruction of the living, and again return to the tomb, which of its own accord spontaneously opened to receive them, did not frequent examples, occurring in our own times, suffice to establish this fact, to the truth of which there is abundant testimony. ...
Moreover, were I to write down all the instances of this kind which I have ascertained to have befallen in our times, the undertaking would be beyond measure laborious and troublesome
-- William of Newburgh in The history of William of Newburgh: The Chronicles of Robert de Monte
Care to be more specific?
It's not worth it. I've learned to never argue with a zealot.
Python 3 is simply a new language, which disposes with a lot of cruft that accumulated over the years in Python 2 (remember, we're talking about something that's 20 years old at this point).
Odd, that doesn't seem to have been a problem for many much older languages.
Then again, it's Python. Where design is concerned, it makes PHP look like lisp.
Naw, it's still $50. His time is worthless.
If you spend $50 and gain something equivalent to a $5000 camera, then you have essentially created a $4500 profit.
Math. How does it work?
I started her on FORTH. Immediately after grasping the power of higher level code over machine instructions she was hounding me about "But how does the code turn into the machine code?!" I helped her build a simple toy calculator language / interpretor / and compiler
At first I thought "Cool story, bro..." and then I saw...
I've also successfully used Java VM bytecode as a good intro to computing, but its stack centric design doesn't do justice to the underlying hardware
So then I was all like "Not familiar with FORTH, are you?"
But I kept on going and then I read...
I self learned on BASIC and suffered from that brain damage far longer than I should have. I wouldn't start someone on JavaScript for the same reason.
And now I know that you're just laughably incompetent. So I'm back to my first thought...
"Cool story, bro"
You caught me! I'm advertising my free and open source projects
Yeah, we already puzzled that out. It wasn't exactly difficult.
to get rich.
WTF? Where did you come up with that?
You must very smart
Snappy comeback. That AC will surely think twice before stating the obvious in the future!
Look, I'm sorry that your project isn't getting the attention or praise that you had hoped it would garner. It happens. Try not to let this depressingly empty thread discourage you. Just keep making new stuff and you're bound to hit on a project that gets a lot of attention.
but it was created to be a "glue" between web pages and Java,
What?
There are a few truly awesome languages. Languages that can be called beautiful, rarer still. LISP is, without question, chief among them.
Unfortunately, they tend to be impractical. LISP, for example, is undoubtedly a write-only language. That's probably why everyone loves it, but hardly anyone actually uses it.