I think I'm starting to see why you are looked down upon in this community. The average human-being can come to a simple conclusion about you: you're a self-centered asshole who thinks he's always rational(even when you are blatantly erroneous) about every thing in every way and thinks that he is superior to practically everyone in this community.It isn't a difficult conclusion to reach. I am "superior to practically everyone in this community". I am usually right, and I am not overly complaisant when everyone else is wrong. If somebody is going to post something in the tutorial section, then it should be 100% accurate, 100% relevant, and 100% beneficial to BYOND design. Though I don't agree with the primary focus of this topic (that libraries will somehow make better, more self-sufficient BYOND developers) the actual criticisms that I provided about the examples could have been easily fixed.
The biggest problem with BYOND, especially in the community/help forums, is that it is a circle of noobs "helping" noobs, which never leads to any actual improvement.
From what I can tell, you're against using parent_type, for what ever reason that may be.Feel free to read up on why you shouldn't use parent_type
http://www.byond.com/forum/?post=302547
Incompetent: You lack the ability to act mature, you are in capable of using parent_type, and you are not qualified to be calling yourself "the best developer in this community". The reasons behind(besides the evident) you getting banned once every what? 2-3 weeks? speaks for itself.Should I know who you are? Or are you just another noob troll who has been around for barely a month, but tells stories about BYOND's history?
Popisfizzy wrote:
In fact, you've basically tried to anti-teach inheritance and namespaces with that pathetic '''tutorial''' of yours.The broken inheritance that parent_type provides should indeed be "anti-taught".
This is why it's a strawman. You see, you're claiming that an /obj subclass has a similar relationship to a /mob as ammunition does to a gun.That is an accurate representation. By parent_typing your /gun/ammo to /datum, it strips it of the proper class data that you should be able to rely on.
Oh, and the fact that you claim using parent_type "turns" one class "into" another indicates you still have no idea how namespaces are used.This is exactly what it does. By parent_typing an /obj as a /mob, you will no longer inherit /obj class data, but will instead be artificially classed as a /mob. It does not work as a namespace, like you seem to think it does, namespaces could provide additional class data, parent_type is an unnecessary full override that essentially creates an entirely new (broken) subtype within a type. A namespace is more accurately compared to a top level /datum or an entire library.
It's confusing to you and appears non-beneficial to you because you are ignorant of how to properly benefit from inheritance and namespaces.It is confusing because /obj/X should behave as an /obj, not as a /mob. It is not beneficial because there are more practical, intuitive, and correct methods to create type paths in DM.
Because you've never used a more complex programming language and, and hell let's admit it, because you're not a real programmer, you can't conceive of how these may be properly used.What was that you said about projecting?
You're claiming that he is wrong because his example was wrong, even though his actual implementation was fine?I'm not saying his example was wrong, just lacking.
If I'm understanding you right (and it's entirely possible I'm not because your statement only barely makes sense when read a certain way), this is like claiming the Pythagorean theorem is fundamentally wrong because someone's example used an equilateral triangle.If somebody is attempting to explain the Pythagorean theorem to you using an equilateral triangle, then yes, they are doing it wrong. Providing broken examples isn't the best way to teach.
Please explain why, so that others may dissect your inept application and/or understanding of concepts like polymorphism, encapsulation, inheritance, and so forth.You want me to explain why it isn't effective to create a procedure that does nothing but return another procedure? Or why using parent_type to break inheritance isn't an acceptable practice? That was the entire point of these discussions. As I said earlier, explaining things to you for a 4th time probably won't accomplish much. Just go back and reread things if you couldn't understand them on your first attempt.
You have never attempted to explain them to me. To my knowledge, you have never attempted to explain them to anyone on these forums. In fact, you've basically tried to anti-teach inheritance and namespaces with that pathetic '''tutorial''' of yours.
No, those are strawmen. I don't think you know what a strawman is. Per Wikipedia, "A straw man is a component of an argument and is an informal fallacy based on misrepresentation of an opponent's position." Let me explain why these were straw men.
The main difference here is that the /obj and /mob classes are sister classes; they derive from the same superclass. Thus, they have independent methods and variables. Using a /mob as a namespace for an /obj makes the mistake of implying it has some coincident relation, when there is none. This is why it's a strawman. You see, you're claiming that an /obj subclass has a similar relationship to a /mob as ammunition does to a gun. This is not true. Thus, you are misrepresenting my position, and many others, by making this claim. Hence, it is a strawman.
And this is to say nothing of the fact that there is a clearer, direct relation between a subclass and the 'zenith superclass' (i.e., between /gun/ammo and /datum) and two sister classes (/mob and /obj).
Oh, and the fact that you claim using parent_type "turns" one class "into" another indicates you still have no idea how namespaces are used. Thus, it appears in part you are so abhorrent to the idea because you fundamentally fail to understand what it is, and what it does. Not unlike those fundamentalist Christians who laugh at the absurdity of "a fish turning into a monkey turning into a man".
It's confusing to you and appears non-beneficial to you because you are ignorant of how to properly benefit from inheritance and namespaces. Because you've never used a more complex programming language and, and hell let's admit it, because you're not a real programmer, you can't conceive of how these may be properly used.
So, let me get this straight. You are claiming he is wrong because his example is wrong. You're claiming that he is wrong because his example was wrong, even though his actual implementation was fine? If I'm understanding you right (and it's entirely possible I'm not because your statement only barely makes sense when read a certain way), this is like claiming the Pythagorean theorem is fundamentally wrong because someone's example used an equilateral triangle.
Which is to say nothing of the fact that the relevant example was tantamount to a loaded question, and provided none of the context that Forum_account's method did, thus misrepresenting his
Please explain why, so that others may dissect your inept application and/or understanding of concepts like polymorphism, encapsulation, inheritance, and so forth.