http://www.perlmonks.org?node_id=263531


in reply to I Don't Know What I Need To Know

I personally think that when you are learning something new, you should be trying to take everything apart. If you're learning about references, you should be asking about _WHY_ they're there, _WHEN_ to use them, and _WHAT_ are the advantages of using them. Then you could ask about the internal implementation, but you probably won't ask that for a while. It's usually a bad idea to try to learn everything in one swoop.

To be more general, when you are learning something, there are usually a lot of questions that come to mind, but you're either scared to ask them (because they may sound stupid) or you're dismissing them because you're trying to absorb the newer information coming in (of course there are other reasons, but I think these are the most prominent). To me, the more confidence you have in asking questions, the more likely you are to ask more as time goes by (duh, right?). Children are probably the best example with the: "What's this?" or "Why's that thing there?" type questions.

On the other hand, I'm in a similar situation. I've been studying C for some time. I know most of the basics, but now, I'm thinking to myself: "what next?" I know there's more to C than just the basics found in the introductory books. There's socket programming, building your own header files, building your own libraries (which is tied to header files), etc. There are a bunch of resources online that will teach you some of the more advanced C topics, but there are so many that sometimes finding a few good resources is like the proverbial "needle in the haystack." So, I think there's more to your question than "I don't know what to ask to learn what I need to know." There's also a need to find out what information has more immediate use to you, so that you can learn other things. You wouldn't try to understand objects before you understood all of the variable syntax in Perl (well, I hope not ^_~). You wouldn't try working on a car without any previous knowledge. Both examples require some prerequisite knowledge. Trying being as inquisitive as a child. I bet you'll learn a great deal.

Theodore Charles III
Network Administrator
Los Angeles Senior High
email->secon_kun@hotmail.com
perl -e "map{print++$_}split//,Mdbnr;"

Replies are listed 'Best First'.
Re: Re: I Don't Know What I Need To Know
by l2kashe (Deacon) on Jun 06, 2003 at 15:22 UTC
    Here, here.. Too bad I can only upvote once ;)

    In computing in general, and even more so in coding, people tend to get blinded by complexity, and forget that everything is based on a simpler building block.

    Case in point when writing code there are only a handful of different actions that can be done. Declarations/Assignments, Testing structures, and Looping structures. From there you can get into the particulars of each of the items. Then view variations between say perl, python, java, C, C++, the benefits and drawbacks of each implementation. A slightly more concrete example would be routing protocols. Once you grok the OSI layers, what type of transport mechanism youu have, etc... it can become trivial to pull apart a brand spanking new implementation of say BGP or something. Due to the basic foundation in networking, you can pierce through the complexity that looks to "outsiders" as something revolutionary.

    A response to the OP would be that my code constantly morphs in style, though its directly proportional to the effort spent doing something in a given period of time. I.e If I'm not using it I'm not growing in said field. Sometimes I find immense pleasure in the fact that I see so many things I know I don't know, and the projections I can attempt to make for things I don't know I don't know. For me computing is so rich, which is good as I tend to get "bored" with shallow topics. Other times the same projection weighs on me so heavily that I almost consider doing something else. *almost* ;) ... The thought is something to the effect of "Man, will I ever finally grok this?" or "I just wish I could get ahead of this damnable learning curve". Personally as long as I keep my focus on what I know I don't know, I know that I will continue to grow.

    I have found the best way for me to learn is to attempt to find a basic level, whether some topics need to be deferred till later, and then begin assimilating the present information. Once you understand the "why"s of things, the hows et all, become in most cases intuitive extensions. Also this allows for me at least to be able to identify possible problems or enhancements in a relativly short time frame.

    MMMMM... Chocolaty Perl Goodness.....