Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

The Camel book is very good for that, because it strikes the proper balance. On the one side, you have the textbook approach, which spends the first chapter telling you why you should learn to program and then introduces concepts one at a time, starting with variables and data types usually, so that by the time you get to chapter 16 or so and get control-flow structures so that you can actually *do* anything you're bored out of your skull. Similarly, you have the evangelistic approach taken by e.g. the PHP documentation, wherein the docs continually remind you not only how great the language is, but how much *better* it is than X, Y, and Z. But rather than show you what's better about it, they introduce you to basic things like variables, data types, and so on, so that before you get to the point where you can actually *do* anything you've wandered off in disgust to look at another language. Then you have the Dummies approach, which makes a lot of jokes to put the reader at ease, illustrates everything with (usually extremely contrived) examples, and tries to get some useful concepts like control flow in fairly early, so that although the reader doesn't know enough to write just anything, he can write *something* more than Hello, World.

Anyway, as I was saying, the Camel book is one of the books (the Inform Designer's Manual being another1) that does a good job of striking a balance between these approaches. It has some hype about how great the language is and how easy it makes things, but it doesn't waste time deriding other langugaes and the hype is carefully directed and illustrated -- i.e., it doesn't just say, "Perl is great; it makes things very easy to do"; rather, it says, "One of the great things about Perl is that you can do *this*, which is really easy and works as follows...". It has examples, but the examples are designed to fit within the flow of the text, rather than being contrived out of randomness and the flow of the text written around them. It makes jokes to set the reader at ease, but the jokes are less lame than in Dummies books and do not consume entire otherwise-pointless paragraphs. It introduces simple concepts like variables and data types, but it shows these being used with other features such as conditionals and loops, so that the reader who has already learned another language can quickly pick up enough to be dangerous (or to write code that does something useful).

The Inform Designer's Manual is like this too, especially the section on the world model and the object-oriented portion of the language. It is often considered to be *the* major reason why Inform is so much more popular than the otherwise-just-about-as-good TADS (though there are long discussions back and forth about this).

Of all Perl books to have someone read if you want to convert them from another language, I think the Camel book is the best choice.


1 The book itself says it this way: <q>In trying to be both a tutorial and reference work, this book aims itself in style halfway between the two extremes of manual, Tedium and Gnawfinger's Elements of Batch Processing in COBOL-66, third edition, and Mr Blobby's Blobby Book of Computer Fun. (This makes some sections both leaden and patronising.)</q>


$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/

In reply to Re: A VBScript-er discovers Perl by jonadab
in thread A VBScript-er discovers Perl by c0s

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 exploiting the Monastery: (8)
As of 2024-04-23 10:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found