|Pathologically Eclectic Rubbish Lister|
RE: How DO those monks do it?by swiftone (Curate)
|on Oct 17, 2000 at 17:25 UTC||Need Help??|
Disclaimer: While everyone else may be saying they aren't great programmers yet, so take their advice with a grain of salt, I'll flat out tell you that I'm the best dang programmer in the world. I can code by tapping stripped keyboard wires in binary, and if my monitor is out, I can just stick the plug in my mouth and read the signals that way. The internet is actually a rogue piece of worm code I once wrote that got out and converted a bunch of machines into routers. Larry Wall comes to me for advice, and Linus does my bidding. I broke Enigma so fast they invented a story about capturing a sub to let the Germans retain SOME dignity. If you didn't know any of this, you obviously aren't a programmer approaching my caliber yet.
Anyway, to address your questions:
I think the best thing you can do is get passing familiarity with a lot of things. Read all the perl FAQs. Read threads on Perlmonks that aren't directly relevant to you yet. Ditto for several of the comp.lang.perl.* groups. Subscribe to the Perl Journal, and skim those articles. Watch the "new CPAN modules" list, and read interesting sounding READMEs. Then, when you NEED to know something, you may recall where you saw something about it.
As for starting to write a program, that has a lot to do with the size of the program, and the technique of the programmer. In general as you gain experience, you'll do less brainstorming and psuedocoding, because you'll have more experience with the little operations. (And programs are just big operations made up of smaller operations, made up of...)
I recommend general experience. Code lots of projects. They don't have to be big, they don't even have to be great, but they'll be experience. If you can get feedback on those projects (ala Snippets Section, Code Catacombs, or Craft), all the better. In all honesty, my coding has progressed by leaps and bounds since I found PM and have learned many things from feedback given to me and others.