Re: perl learnings track
by GrandFather (Saint) on Mar 14, 2007 at 09:19 UTC
|
The idea is good. The plan is marginal and the Topic choice is pretty dodgy!
Can you really assimilate all there is to know, or even get an idea of what there is to learn, in a day? Some of your sample topics are vastly bigger than a day's work.
I'd put Closures way down the list. On the other hand things like Perl syntax (perlsyn) which includes flow control ought be right up the top somewhere. There are several weeks worth of Perl functions to learn about to say nothing about operators - those all ought to be there before Perl Variables even.
After you have sorted that lot out then you can move on to one of the core features of Perl: Perl regular expressions.
Once you have that lot under your belt come back for object oriented stuff, modules, ...
DWIM is Perl's answer to Gödel
| [reply] |
Re: perl learnings track
by marto (Cardinal) on Mar 14, 2007 at 09:16 UTC
|
Reading your request for advice I found the tag line at the end a little odd:
There are two rules to success in life:
"Don't tell people everything you know."
For me this is sort of contrary to the idea of this community, where people freely exchange ideas and information. Obviously there is the 'joke' element to your statement, however IMHO this is not the attitude (albeit left up to reader interpretation) we would wish the 'newcomers' you mention to walk away with.
Update: Changed 'all be it' to 'albeit' as advised by blyman
Martin | [reply] |
Re: perl learnings track
by lin0 (Curate) on Mar 14, 2007 at 13:01 UTC
|
Hi jesuashok,
Nice idea. However, it will be almost impossible to give you good advice on what to learn next without you telling us what you already know. In any case, what I can recommend you is to have a look at the following nodes to gain some inspiration and to have an idea of the complexity of some subjects (in this way you would allocate more than one day for some of them):
Again, this is just a starting point. Good luck!
Cheers,
lin0
| [reply] |
Re: perl learnings track
by whereiskurt (Friar) on Mar 14, 2007 at 14:12 UTC
|
jesuashok,
I'm pretty new to Perl myself, especially considering the talent and experience in the Monastery. Clearly there is a lot of material out there you can use to further your understanding of Perl. With Perl it's always a matter of "Ok... what next!" and really there is no shortage of things to learn.
I wanted to mention what makes Perl really different from other languages you might learn, and that's the concept of Perl as a Natural Language. In the great Programming Perl there is a subsection titled "What You Don't Know Won't Hurt You (Much)" and it basically summarizes how Perl aspires to be a Natural Language.
It's similar to English in that toddlers can learn just a few words and still say something. Or people who don't fully understand the grammar (punctuation, adverbs, etc.) can still have valuable conversations.
I do however think it's great to track your progress through the language, as it will help you realise the vastness that is Perl. :) I also think keeping track what every script/program you write would be a good idea too. Best of luck with it all! It's been the best journey of my life so far!
KPH | [reply] |
|
|
I tend to agree with Kurt. I am a very casual scripter, and have tried to learn something new in Perl with each script (although that is not always the case). Thus, for me, it's been on an as needed basis. Have I been able to accomplish the tasks I've tried to with some rudimentary scripts that could be much more elegant? Absolutely. Then again, our kids could get us to feed them with their limited vocabulary at a young age (our oldest's first phrase was "Pass the ketchup").
Having said that, it's like a lot of things. If you want to be an expert, it will take time and practice. GrandFather has some nice suggestions, as do the others in this node. Find some problems you want to work on, and then poke around in Perl to find ways to solve them. Programming Perl, Learning Perl, the Perl Cookbook, this site, CPAN, etc., are all your friends. (You knew that.) If your vocation, computer resources, or self drive (or whatever) determine how you do it (tighter code due to limited memory, parsing through millions of records, whatever), all the better.
It's a great journey, and I hope you have a lot of fun on it!
| [reply] |
Re: perl learnings track
by jeanluca (Deacon) on Mar 14, 2007 at 11:32 UTC
|
I think jesuashok signature is was very funny :)
and shouldn't have been taken too serious by marto!
LuCa
| [reply] |
|
|
| [reply] |
Re: perl learnings track
by scorpio17 (Canon) on Mar 14, 2007 at 21:27 UTC
|
Randal Schwartz used to have a great column in the now defunct Web Techniques magazine. Each month he would focus on a specific topic. There were many times that I found myself reading through his code and learning something totally unintended (that is, not the topic of that month's column) - an odd 'map' or 'grep' statement, an unfamiliar syntax using code references or hash slices, etc. I would frequenty be forced to go look things up just to understand what he was doing.
My point is that you can learn a great deal by reading other people's code (especially if they're really good programmers!). All of those old Web Techniques columns are still available at www.stonehenge.com/merlyn/WebTechniques
You can also find tons of interesting code on CPAN - just search for one of your favorite modules that you use all the time, then click on "view source" and prepare to be amazed!
| [reply] |
|
|
Actually, I have far more than that... about 250 columns now from the four magazines for which I have written or are still writing for.
| [reply] |
Re: perl learnings track
by radiantmatrix (Parson) on Mar 15, 2007 at 13:47 UTC
|
You're the only one who can ultimately know what will help you learn. In general, I think it's a great idea to keep track of what you've learned (e.g. taking notes) and what you'd like to learn (e.g. your spreadsheet); so as far as that goes, good on you!
FWIW, I keep a mind map (using FreeMind, since it's free, but there are other solutions as well, including pen and paper!). I put "Perl" in the center, and when I learn a concept, I add a branch and put a check mark by it. The very act of doing this usually prompts me to think of two or three related things I'd like to learn, and they become sub-branches.
As soon as I learn one of them, I check it off, and again it expands. It's been so useful to me that I had to split it into about 10 maps broken up by topic, just to be able to keep track of it all. (Of course, then my employer pushed me into a role where I do Java almost exclusively, and my Perl has stagnated a bit).
I'd be curious for any of the elder Monks to share their methods (if any) to keep track of what to learn next...
<–radiant.matrix–>
Ramblings and references
The Code that can be seen is not the true Code
I haven't found a problem yet that can't be solved by a well-placed trebuchet
| [reply] |