http://www.byond.com/members/BYONDRPG/forum?id=2248#2248
In which a rather heated dispute was made over someone choosing to use and learn from a source file rather than actual structured learning material.
Since I was beaten to the punch in creating my reply, and I decided it did not deserve to be deleted, I figured I'd generalize it and use it to address the larger problem on a whole.
First, the reply. It might not mean much out of context, so if you can spare the time, give the topic a once-over.
I have summarized my view below the reply, at the bottom of this page.
-----------------------------------------------
SnowWolfX wrote:
I know why the numbers of Byond are Depleting.
People like to be welcomed with warmth.
But that is not the case.
And you can say all you want about me using "enter" too much, but i dont hear you say something about HiddeKnight who is using CAPSLOCK which is even more annoying.
I already got my Code to work since "Lige" was so helpfull
Which is not how the rest here treast a curious visitor.
I was curious.
I ask a question.
all i get is "stupid people" who Force shit down my throat.
I dont ask for answers unless it was to 'help me fix the problem i had'
Which has neither HiddeKnight nor Mikau nor Schnitzelnagler done.
You can attack how i write, how bad my 'visions are'
You can SHOUT AT ME IN CAPSLOCK.
That does only point to the fact that you people hate to help!
You could all take an example from Lige.
He is a Friendly helpfull Person.
Willing to help somebody in trouble.
Without "Assuming i use it for evil"
Just a simple question, a simple answer.
After Lige gave me the answer, i have the program running like a charm.
No thanks to you guys.
Who only post on the forum to "harrass" people.
Congratulations, you fixed this problem. How long until the next one?
We offered you help different to what you want. You wanted a quick fix, the quicker the better - if you could copy paste and didn't need to think, all the better.
We offered you the chance to learn and understand what the problem was, what you did wrong, why it was wrong, and what you could do to fix it.
Instead you completely ignore us.
And now you try and take the high road by accusing us of harassing you?
Perhaps you could listen to us.
var/list/admins=list("SnowWolfX","Scullkid","Prodigy_SD","Dream Girl","Zell213","Shy_guy197",\
"GeneStarwindStarlet","Arc-mage22","Supergotron","Zajan","NeoStrider","UnknownOrb","Barthezz",\
"Uralan","Dragonballfan312","KendriX","Neo_Undead","Innocent Child","DragonHero226","Karu_01")
client//Client is better because you are assigning these verbs to the KEY, not the CHARACTER
New()
..()
src<<sound('mus2.mid',1)
mob.loc = locate(75,68,1)//You should really be using target warp node object, plus this would be located elsewhere but for your copy-pasteable goodness, I'll leave it here
if(key in admins)
verbs += typesof(/mob/Mod/verb)
Because maybe, just maybe, we actually know what it is we're talking about.
But my guess is, you can't even tell what the difference is between yours and my example.
-----------------------------------------------
With that out of the way I want to address why it's such a big deal. (At least to me)
There is a reason there are structured learning materials in the first place.
With any material you decide to study, you can only learn as much as is contained within it.
A source file created without intent to be a learning document most likely will not have any comments or explanation associated with it - or it will be sparsely dispersed and badly explained when present.
That way, when you are studying it, you can very easily misunderstand any given subject.
If there are any mistakes in the code, you will probably just accept them, as it is unlikely for you to know better.
There may be bad practices, bad habits, and you will certainly pick those up.
But enough of the negatives - they won't dissuade anyone who has convinced themselves to 'learn by doing' via the route of hacking to bits a source file - or at least, not on their own.
Let's take the BYOND guide for example. This is by no means the only introductory documentation for DM, and I am not claiming it is the best - but it's very polished, professional and will serve as our example very nicely.
The depth and level of detail to a guide devoted to teaching will always outstrip an uncommented source file, even if the source file IS problem free(Which is highly unlikely). Most guides will come with some snippets of source code themselves, and in the process of following them, you will develop, from start to finish, your own source file, understanding how it came to be, why everything is where it is, and most importantly, what the purpose of everything is.
So how is this not, 'learning by doing'?
But more importantly, you understand the process, and with a structured learning guide, you will cover more topics and situations than any source file. You will learn beyond what is NECESSARY to get the program to run and into what is PROPER. Other people have covered the problem of, 'just because it runs doesn't mean it's right'-
See Tiberath's post:
http://www.byond.com/members/ DreamMakers?command=view_post&post=95390
-And this kind of experience can only come from doing more than the bare basics.
So if you're still tinkering away at somebody else's source file, ask yourself this:
Why isn't it YOUR source file?
Before they attempt to learn DM, I think it would be much wiser if they bought a book on programming in general - Just to learn some concepts. Plus, having something of the sort can be more exciting, since you wont seem lost. Half-Price books has em, Haha.
And after thinking about it, there are plenty of helpful people on the forums. Granted, some can be assholes, others will have no problem in providing some information for learners.
Learning is definitely about questions, not answers. If you ask the wrong question, you will get the wrong answer. So, messing with source-code will get you nowhere. What will is learning, than asking "Why" or "How can this be used?"
Learning by source-code is like memorizing formulas in mathematics - You will only be able to use, never derive.
So, your absolutely right. Plus, learning from source code is like trying to decode patterns and determine what they do. And we all know that can lead to some pretty bad fallacies.