Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Very good advice, that a newcomer would do well to follow.

Admittedly I already knew the basics of programming in Pascal, C, Fortran, cshell, Prolog and a little Miranda & Haskell.

Update: That got me to thinking that there is a step (0) - learn some good practises about how to convert your human desires into stuff that a computer can understand. Maybe Elements of Programming with Perl that Posthumous recommended might be a good introduction to programming.

Having said that, getting from University to the point where I would consider myself an accomplished Perl programmer (among other things) took the following steps:

1) Had someone lend me an old copy of Learning Perl from O'Reilly. My copy was for Perl version 4. I wouldn't recommend you use that version ;)

2) Wrote many small scripts while managing servers, building ISPs etc.

3) Intentionally avoided a book that I saw in a bookshop with a sticker that said "258 pages for only $19.95" (It was probably a SAMS publication).

4) Bought "WIN32 Perl Bookshelf" from O'Reilly (no longer in print) with the express purpose of bringing greater sanity to some Windows servers. Realised that 99% of the pages was just nicely rendered CPAN module documentation.

5) Wrapped with that useless purchase, however, was a single edition of the then premier The Perl Journal. I subscribed and discovered that reading about the crazy algorithms and problems being published in said journal were very motivating and enlightening. Current equivalents would be The (new) Perl Journal and PerlMonks (any others anyone?)

6) Bought Programming Perl and used it as a reference using Perl as a piece of my toolkit while running my own IT business.

7) Read Programming Perl cover to cover in a weekend to brush up before doing a technical test for a full time Perl job.

8) Program in Perl (wash, rinse, repeat)

That might sound like a long time (and it is!) but I'm hoping to use my journey's example to back up the advice given by others in this thread.

First you need a good introduction that doesn't trade simplicity for correctness, but also that doesn't babmboozle you with details. Learning Perl is an excellent example of this.

Then you actually need to do something with your knowledge - for business or pleasure. That's what makes it interesting, reinforces what you have learnt (in positive and negative ways ;) and keeps you hungry to learn.

Once you have done this for a while, then you can get a big, thick, detail heavy book and read through it. Because of your pracital experience it will sink in (with more than a few 'aha' moments).

When you are accomplished in programming (any language), then you will start to be able to learn the essence of new languages quickly. For instance I have read about a third of Programming Ruby and have been able to write a number of non-trivial applications in Ruby. Even now, though, I would steer well clear of any "Learn <insert language> in 48 hours". All the ones I have seen read much more like "Learn <insert language> in 48 hours and then write a book on it".

Also remember that you never "get there" or stop learning. I recently enjoyed becomming familiar with Ruby, learning Objective-C and writing some Cocoa applications for MacOS X. The most recent Perl books I have browsed are Higher Order Perl and Perl 6 Essentials. Online I have recently re-digested Perl Guts illustrated (which now makes MUCH more sense ;)


In reply to Re^2: PERL newbie Cant figure out where to start by aufflick
in thread PERL newbie Cant figure out where to start by jwashburn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2024-04-26 01:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found