Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment Re: Citation Needed (Score 1) 354

Wrong.

No, it's true. Inheritance breaks encapsulation. This is a indisputable fact. It's VERY well established in the literature. The problem, it seems, is that you simply don't understand what that means. Do you have an ACM DL subscription? If not, get one. You'll find plenty has been written about that very subject.

That's exactly the point, just as with Javascript they don't slog through them, they're just not even aware of them and as a result they write wrong code, buggy code, vulnerable code.

Have any evidence? Because I don't think you do. (I think you're making this up as you go along.) Where's the research? Make use of your ACM DL subscription.

That's not fair. I know you can't actually produce anything like that. How about some specific examples like I asked for in an earlier post? Surely, you have something specific in mind?

Now, I will agree that people don't use JavaScript correctly. That was the point of my first post. The problem isn't the language, of course, but people trying to use the language like it's a class-based, not prototype-based. Once you learn the language, you'll find that there's nothing wrong with it. There are no "quirks", as you like to say, it's just different. Give Scheme and Forth a go and you'll find they're just as different, but not poorly designed in any way. (The difference? You can't pretend that Scheme and Forth are just like Java and C# like you can with JavaScript. If there's any problem with JavaScript, it's that the familiar syntax makes naive developers think that there's nothing new to learn.)

More buggy than an equivalently skilled developer would produce with better designed languages

Again, what makes a language poorly designed? What makes a language "better designed"? Is there some ultimate ideal language design? I still don't think you've thought this through.

instead quoting lines from books that are now nearly 20 years old

I did no such thing! (I actually had a much older paper in mind when I told you that inheritance breaks encapsulation.) You had never heard of such a thing and did a google search (as I asked), landing on Wikipedia, where you learned that the subject was mentioned in the GoF book.

you're obviously not willing to learn enough about this topic to have a rational conversation

I'm not willing to learn?!

How about answering the very basic questions about your assertions? Asking questions shows a willingness to learn, doesn't it? I've not asked any difficult questions, after all. If you want me to learn, surely you could take the time to answer them, or at least direct me to the relevant research from which I'm sure you've formed your opinions?

You're not just repeating empty platitudes, right?

Comment Re: Citation Needed (Score 1) 354

That you don't know much about language paradigms? The problem is that the three pillars of OOP are inheritance, encapsulation, and polymorphism. In Javascript you can't do inheritance without sacrificing encapsulation

Umm... Inheritance is fundamentally incompatible with encapsulation. This isn't exactly a big secret. Google "inheritance breaks encapsulation".

The fact you believe PHP has no underlying quirks that are a result of bad language design and that must be learnt to use even the base language properly without introducing faults speaks volumes

Well, what are they? (Dare I ask after your failure to do the same for JavaScript?) One of the greatest strengths of PHP is that it is incredibly simple to learn and use. What are these mysterious quirks that millions of amateurs are apparently willing to slog through learning before hacking out yet another home-grown CMS?

not have poor design traits that result in inherently more buggy software at all skill levels. Javascript has all too many of those, and that's the problem.

What are these so-called "poor design traits that result in inherently more buggy software". More buggy that what?

I don't think you've thought this through.

Comment Re: Citation Needed (Score 1) 354

Hint: It doesn't matter if learning the language let's you work around these things, the fact I highlighted them demonstrates precisely that I do know the language,

As I pointed out, Your "points" 1 and 4 show that, in fact, you don't understand the language. (This statement isn't even coherent: "This is a relic of the fact that Javascript wants to be both OO and Prototype based". What other conclusion could I draw?)

Points 2 and 3 clearly shows that you don't understand the scoping rules. Once you actually learn the language it becomes clear that there are no issues to "work around". The rules are simple and clear. There are no inconsistencies. Though it looks like you want to introduce some...

Why in a code block like a function would you ever want a variable to become global by default? This is kludgy, it would've been better to only go global if you explicitly declare global.

If you understood the very simple rules, you'd know exactly why that happens. You'd also understand why it would be "kludgy" (inconsistent) to make it work like you suggest!

A good, well designed language, doesn't require you to take extra steps to "learn the language" beyond the concepts necessary to use it at a base level, Javascript does (and so do languages like PHP) and that's exactly why it's kludgy.

Here's something fun: PHP perfectly fits your criteria for a "good, well designed language" as it "doesn't require you to take extra steps to 'learn the language' beyond the concepts necessary to use it at a base level". Why, it's even a better fit than your exemplars: Java and C#.

That's embarrassing!

Here, I'll give you a chance to redeem yourself: Following your newly revealed definition for "good, well designed language" how does JavaScript fail to meet your criteria that would not also disqualify languages that you consider well-designed like Java and C#?

Good luck.

Comment Re:So much for... (Score 1) 743

No, the constitution recognizes the need for a regulated militia and the right of the people. Otherwise:

1. It would be self contradictory, since regulating your militia is, in turn, regulating arms, which the text says shall not be infringed
2. It wouldn't be located next to the third amendment, which also puts the freedom of the people over soldiers of the union
3. It would be unique, as the fifth amendment also refer to the militia as external to the people
4. It would be misplaced, as rights specifically granted to a government entity (states) that wasn't already addressed in the articles is all the way in the back at amendment ten
5. It would be redundant, since the military is already presumed to exist as in Article 2

Anyone can argue whether they like it or not, but the fact is the second amendment, quite clearly, refers to the right of the people. Anyone claiming otherwise is mistaken at best and selectively manipulative at worst.

This is an absolutely brilliant post. Clear and concise.

Comment Re: Citation Needed (Score 1) 354

1) You say stop trying to use it like an OO language yet the language supports OO features badly.

No, I said to stop treating it like a class-based OO langauge. JavaScript's objects are prototype-based. Just because you don't understand it doesn't mean it's bad. Try learning the language before you complain about it.

2) If you don't prefix a previously unused variable it goes into the global scope. What. The. Fuck.

Try learning the scoping rules. It makes perfect sense.

3 try learning the language.

4 is advice given to you by someone else who doesn't understand JavaScript, and also shows clearly that you don't understand 1.

5 Possibly your only legitimate complaint. Just use semicolons all the time, problem solved. Why you don't find similar complains about optional brackets in JS, C, etc.? All the same complaints apply.

7 is unsubstantiated nonsense.

8 Perhaps you don't know what NaN means? (Hint: NaN is a value, not a type) You'll find that in Java, Python, etc. NaN==NaN returns false as well.

Need I go on?

Please don't.

despite it's prevalence one simply cannot argue that it's a "good" language

You might want to learn the language before you make such a pronouncement.

Comment Re:If this were an Apple Device (Score 1) 279

That's a completely different kind of product, you know.

Apple TV is more in line with the Visio CoStar than it is to the Ouya. Sure, you get a bit more bang for your buck with the CoStar, but their intended to be used for similar purposes.

That Apple sells a random product for less than $100 is completely irrelevant to the parents comment.

Comment Re:Some fundamental, unchecked assumption here ? (Score 3) 210

To be clear, he said "Tabarrok seems to tacitly assume that innovation can be regulated via legislation". Which, to answer your question, he supported by quoting the article: "So, we’ve constructed the patent system: people have a 17 year exclusive right to such public goods. That is, we’ve made them excludable by law".

I honestly don't see how you could possibly still be confused, having read both the article and the parent's posts.

Submission + - Slashdot is broken! (slashdot.org) 3

jackb_guppy writes: Slashdot today has been unusable by stupid java tricks that keep refreshing the home page very 20 seconds.

In other news the NAS is reading this post!

Slashdot Top Deals

We are each entitled to our own opinion, but no one is entitled to his own facts. -- Patrick Moynihan

Working...