Live data from Hacker News

Do you strive to understand your tools, or simply “make it work”?

kylewritescode.com

41–44 of 44 posts

Re: Do you strive to understand your tools, or simply “make it work”?

#41
post #37
post #13

Earlier quoted context omitted.

You may be interested in "The Camel Has Two Humps": http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf and other work by Saeed Dehnahdi: http://www.eis.mdx.ac.uk/research/PhDArea/saeed/ He thinks that only about a third of the populace can learn programming at all, and that may be the difference between teaching someone who knows the basics of programming vs teaching programming to a non-programmer.

That paper has done a lot of damage. I also think that if you write a paper like that, that it should include a lot of qualifiers as to what you think you've discovered and what research might be done in order to validate/disprove your findings. Broadly binning a large part of the population as far as a fairly basic ability is concerned (the ability to instruct another entity, which is the essence of programming) bas…

But the predictor isn't whether the testee gets these problems right. The predictor is whether the testee uses a consistent mental model for the problem--that is, someone who interprets "a=b" as "move contents of a to b" will end up programming as well as someone who does the converse, but not someone who picks and chooses without being sure.

Re: Do you strive to understand your tools, or simply “make it work”?

#42
post #37

Earlier quoted context omitted.

That paper has done a lot of damage. I also think that if you write a paper like that, that it should include a lot of qualifiers as to what you think you've discovered and what research might be done in order to validate/disprove your findings. Broadly binning a large part of the population as far as a fairly basic ability is concerned (the ability to instruct another entity, which is the essence of programming) bas…

But the predictor isn't whether the testee gets these problems right. The predictor is whether the testee uses a consistent mental model for the problem--that is, someone who interprets "a=b" as "move contents of a to b" will end up programming as well as someone who does the converse, but not someone who picks and chooses without being sure.

Yes, I read the paper.

Try coming up with a 'consistent mental model' that works with random execution sequences.

Then try again for one that works backwards. And so on.

At best this test determines which people are going to be 'easy' to teach programming. But just like sales start at 'no' teaching starts when the subject is having problems, not when it's easy.

Re: Do you strive to understand your tools, or simply “make it work”?

#43
If I can reuse the knowledge gained by understanding it, I go for it. In understanding, I can reduce complexity, or at least try, for future users.

Also if I find something that is complex, e.g. OAuth, I try to preserve the sources of information I used to reach a decent level of understanding for maintenance purposes.

If I'm just doing something quick and not worried about future usage, I just make it work.

Re: Do you strive to understand your tools, or simply “make it work”?

#44
Powerful tools require a good understanding of them to get the most out of them.

The best powerful tools don't require an in-depth understanding of them to get started (think git, rails or Linux). But mastering them over time will make you better by orders of magnitude than the copy-pasters with no fundamental knowledge of the tools they use every day.

The trick is in figuring out which tools are good, and which of them you want to commit to.

Post reply on HN