Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Well, I respect your opinion on teaching style, however I respectfully disagree.

I think that Perl drops most of the extra work you have to do in order to have the computer accomplish your goal (that is, you don't have to do things like (de)allocate memory). Therefore what is presented to you through Perl are all the basic problem solving tools.

Even if there are a myriad of ways to do the same thing with Perl's plethora of tools, they all embody the different ways of solving problems. And that to me, is the important part when it comes to programming, not knowing the internals to all the data structures and how pointers dereference my memory so I know what happens when I add 10 to it.

Learning which of these tools to use and when for each problem is the real essence of good programming (problem solving). That is what I would try to teach. Other languages can make the "Right Thing" (tm) too difficult to do (e.g. hashes may be the best solution, but aren't always easy to use in other languages), especially to a new programmer.

Where other languages will force you to pick the easy way to solve your problem, Perl will tend to allow you to do it the correct way just as easily as the lazy way.

If you are worried about confusing new programmers, remember that those that will get confused the easiest, probably will also not be the most adventurous. Therefore, if you only show them the simple and straighforward ways, they will only see those ways, and can't be lost by the other options. (for instance you could (gasp!) not show them what a hash is until mid-quarter).

Just because Perl supports it, doesn't mean you have to show it to them (though I would try to show them as much as you can and also encourage (and perhaps even subtly, such as in homework, force them) to be adventurous).

Anyway, just my two cents. I see the merit in a guided path, aided by some other stricter language (not to suggest more strict is worse). But I would like (as a new programmer) to be able to explorer all the aspects of my language. And the more relavent those aspects are to problem sovling, and not to the programming language itself, the more useful my explorations are going to be.

Cheers,
Gryn


In reply to Exposure to problem solving methods need not be limited in number. by gryng
in thread Learning Programming by NodeReaper

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 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? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2021-09-22 15:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?