It's very difficult for me to learn anything I don't see an immediate use for - my brain usually just filters out the rest as gibberish. I might learn it superficially if it's something with narrow scope, but it still doesn't stick until I do something that uses it. Obviously this isn't the best thing in the world for something with as much breadth as programming, but I've managed to muddle along so far without the world exploding. Many, many times, going into the Freebasic manual, I've been foiled by this barrier, only to come back to it later on and break through because I've seen something like this:
Code: Select all
first_name As String
last_name As String
house_number As Integer
street_name As String
town As String
That being from the types as objects tutorial. From that I realized that types were a much better solution for defining (for instance) a human's statistics in my game than the one I came up with - namely, having the saved player/npc read into a single array each. This was completely unmanageable because I had to refer back to the order in which each statistic was written into the save to determine what entry I should change.
Reading that tutorial, it's about the only thing I got from it. My eyes glazed over at most of the examples, not because I didn't have the background to understand them, but because foo/bar/x/y don't actually mean anything to me. They aren't problems that need to be solved, therefore it's very difficult for me to focus on what's around them.
I'm not complaining or anything. Given the size of the community, the documentation has obviously been very helpful to most, and I certainly couldn't have gotten anywhere at all without it. But it makes me wonder, how many people are turned off of programming because they can't relate what they see to what they need to do? The reason why I stuck with freebasic past the initial stages was because I already had an understanding of the very basics (excuse the pun) from when I was a kid, writing programs to draw circles in QB, and because of the sensible naming of built-in functions, etc.
Has anyone else had a similar experience with learning to code? I'm open to suggestions on how to get over this hurdle - I usually try looking at code other people have made using the function I need, and that helps sometimes, but I'm at the point where there's usually five keywords I've never even looked at before, and that makes it difficult for me to isolate what's going on.