Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Conclusion?: Some of use just want to know the basics

by adamsj (Hermit)
on Jan 25, 2001 at 19:10 UTC ( [id://54268]=note: print w/replies, xml ) Need Help??


in reply to Conclusion?: Some of use just want to know the basics
in thread Some of use just want to know the basics

Ah! Now you're asking about effective advocacy.

I'm going to disagree with an analogy you've made here:

If I quote Larry, some of them will be as enthusiastic as I am, but if I tell them that ‘IT=learning perpetually’ it is unlikely that they will rush out and buy a copy of the Camel. Science is learning perpetually too, and most of us hardly have the time to keep up with the primary literature. If there is no ‘copy and pasteable’ set of instructions I can come up with, or a small and well defined subset of the language, then the applicability of this in a course on statistics (for example) is rather limited.

Consider this: In one course on statistics--let's say, a sophomore-level terminal course designed for people in the social sciences--one doesn't need calculus. All that's going to be needed is high school algebra (if you went to a good high school)--a reasonable expectation for any college student.

In another course--let's say, a junior-level course, not terminal but without a required follow-up designed for people in engineering--one might well require some simple first-semester calculus--a reasonable expectation for an engineering student.

In another course--let's say, a senior-level course in stat theory designed for statistics and math majors--you'd darned well better be able to integrate over multiple variables, and you'd better have a fairly broad overview of math--a little linear algebra wouldn't hurt--a reasonable expectation of an upper-class stat/math student.

Now, can we really say that the first or the second course have "a small and well-defined subset" of mathematics required for statistics? Not really, in my opinion.

Much of what is talked about here for really good style is about writing safe and robust code that'll work in a an uncertainly secured, multi-user, production environment. What you describe isn't that--it's someone working at a desktop or a workstation on data they've captured, which can reasonably be expected not to have any booby-traps in it--for instance, I don't think you have to worry about tainting.

The analogy to make when talking Perl to these folks is language--no one (even ex-English majors like me) expects to know everything there is to know about the language, but everyone expects to know what they need to know to use it. Perl is quite similar--there is a fairly basic set (darned if I can define it right now) of functions and operators that'll do simple data munging, and most of them operate in a fairly intuitive way.

I do know the attitude you're describing--it's prevalent in business (the number of highly-paid, otherwise competent business people in the IT industry that I've had to show things like how to defrag their drives (and why), or how to make Excel add up a column of values (I'm not making this up) is astounding), but I think you have a chance to advocate Perl effectively, if you can rein in your enthusiasm just a bit.

Tell people that Perl is this very neat programming language that's a lot like English (or whatever language they favor)--you can do very easy things in it very easily, and you can (if you want) shoot for becoming Shakespeare.

They key to doing this is to define for yourself the very basic tools in Perl that are sufficient for the task you have at hand, then use, and demonstrate the use of, those tools tirelessly.

As far as course presentation goes, consider two approaches:

1) Write a module (simple modules aren't hard to write--you can (don't hurt me!) cut and paste the basic template from perlmod and begin experimenting) that does what you need done, then present that.

2) Suggest that Perl is such a valuable yet simple tool for data analysis that it would be worth teaching as a part of the course--only a week or two. It is (in my opinion) a reasonable expectation of a student studying statistics in the sciences that said student has had some exposure to the basic concepts of programming. Check the catalog where you work and see whether or not a basic computing course is a core course--it's likely that it is.

(If it's not, then a larger, more difficult, and longer-term project is to convince the powers that be that a course in programming should be required, and that Perl is an ideal language for such a course.)

It's very easy to get caught up in the fancy stuff Perl can do and forget that the basics of Perl are still in there, and that one doesn't have to use all the bells and whistles just because they make pretty noises.

Good luck--and thanks for starting an interesting (and, I hope, useful) thread.

They laughed at Joan of Arc, but she went right ahead and built it. --Gracie Allen

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://54268]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-03-28 22:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found