Thanks to all for your responses re: How to program

Cory Stier corys at athabascau.ca
Fri Jul 7 14:46:20 EDT 2000


The response to my question about how to get started in programming has been
very helpful. Thank you to you all for your advice. It's also nice to know
that there are many others out there who are in a similar situation as I am.
I received a lot of e-mail requesting a summary of the responses I got, so
here's a summary of the responses I've received thus far:

**********************************************************

Hi, Cory.  I'm a hacker, not a programmer, so the following plus four bits
gets you a cup of coffee.

Find anybody around you who programs--folks at your campus computing
center, other librarians, IT staff, compsci faculty, whomever--and buy
them coffee, lunch, chocolate; whatever it takes. Just so long as they'll
answer one question at a time and send you back to thrash at a script
again, they'll be doing you a service.

Find students who're decent at programming, like computer science majors,
and hire them as student assistants.  Shamelessly pump them for
information and help. Check out local/regional Perl (or PHP or other
languages) etc. users groups.

Get a relatively cheap and modest sized machine installed behind your
campus (and possibly library) firewall, keep it in your office where it's
*relatively* safe, install Linux or some flavor of free BSD unix or
whatever you have/want/can get on it...and use it as a test server.

**********************************************************

If you're looking for a really good book that actually has useful
examples, try Elizabeth Castro's Perl and CGI for the World Wide Web. The
site is http://www.cookwood.com/perl/perl_qanda/ . It's way better than
any other 'learning Perl' book I've seen. It focusses on CGI (one of the
most useful but not the only useful reasons to use Perl), but it is
wonderfully laid out and the explanations are very clear and detailed.

**********************************************************

One could start with a book such as Dan Appleman's How Computer Programming
Works (ISBN: 1-893115-23-2) published by Apress (www.Apress.com).

**********************************************************

Great question!  I took a C++ class last year through my university and
found it somewhat helpful, but the deadlines of the class assignments while
trying to work a 40+ hour position almost did me in!  I have the book, CD,
and projects, and I plan to have some time this summer to work on it at
home.

I also want to learn Java, CGI, and Perl because I'm doing the Library's web
page design and maintenance.

**********************************************************

As Darryl Johnson said, use the medium that works best for you.

It sounds like the problem you're having may be from reading books that
present a lot of information but few exercises.  For a beginning programmer,
exercises can be crucial because they give you simple programming tasks but
you learn the material in a different way when you actually use it as
opposed to just reading about it.  If your going to use books, look for
something with a lot of exercises.  Unfortunately, all the Perl books I know
don't include exercises so I can't recommend specific ones.  Harvey and Paul
Deitel write a series of basic "How to Program" books that are highly
regarded.  You might look at their book "Internet and World Wide Web: How to
Program" which also comes in a multimedia kit "Complete Internet and World
Wide Web Programming Training Course".

For a good book for the beginning programmer that explains a lot of the
basic general concepts behind programming and gives more advice on how to
learn, I'd recommend "Complete Idiot's Guide to a Career in Computer
Programming" by Jesse Liberty.

For the "right stuff" also check out Eric Raymond's "How to Become a Hacker
FAQ" http://www.tuxedo.org/~esr/faqs/hacker-howto.html for a less
commercially oriented view than Liberty's of how and what to learn.

**********************************************************

Cory, especially if you intend to focus on Perl (a good choice,
IMO), you might want to take a look at:

  Elements of programming with Perl / Andrew L. Johnson.
    Greenwich, CT, Manning Publications Co., 1999

I've found it quite useful.  The author states, "This book is
intended for two types of readers: those approaching Perl as
their first programming language and those who may have learned
programming off the cuff, but now want a more thorough grounding
in general, and Perl in particular."

Lurking in the "comp.lang.perl.misc" newsgroup is also very
educational (and amusing at times).  I'd be at little cautious
about posting questions there until you're familiar with the
group culture and have a fair grounding in Perl.  The folks who
"know their stuff" in the group, do not suffer [what they
consider] fools gladly.

**********************************************************

I am just finishing up a Perl CGI programming class that I took online.
There were 12 lessons, some quizzes, numerous assignments, and class
discussions. I  simply do not have the ability to sit down and read a
programming book. Too boring. I prefer hands-on for that kind of thing and
thus the class was quite useful for me.

You might want to check it out. It was offered through my local community
college but is actually taught by a group called Ed2Go
(http://www.ed2go.com/) I see they are in Canada; but not in your area....?

**********************************************************

The only way to learn programming is to program.

Perl is a difficult 1st language  because there are always 5 ways to
do something, so beginners get stuck.

Consider Visual Basic for your first programming language.

**********************************************************

I learned basic perl through classroom instruction and from there used the
"hey, let's see if I can do this" mode to educate myself--with manuals as a
first resource and experts as a last resource.  I find that modifying other
people's scripts teaches me a lot.  I started by modifying and now I write
my own.

As to "how to" books, O'Reilley's "how to program perl in 21 days" seems
good, though I find learning from books difficult until I've had some
hands-on training.

For hands-on training, I imagine who you pick matters.  I used and loved
Westlake ( http://www.westlake.com/ )--they have many locations--Detroit
might be the most convenient to you.  Their emphasis is on applications of
technology--so when you learn Perl, you learn by creating actual scripts
that work, not just by listening to theory.  Their instructors are great
and will answer questions for the rest of your life--they hope to get your
business back and go out of their way to provide good service.

**********************************************************

It sounds like you are in much the same situation as I am. I'm a jack of all
trades librarian that never studied programming and now wish I had. I'm the
kind of person that would benefit from being in a class, but there doesn't
seem to be a lot of options for people to learn programming who aren't first
year CS students. I'd be interested in hearing the responses you receive off
the list.

I recently bought a book that I'm just starting to tackle. It is Elements of
Programming with Perl by Andrew L. Johnson, published this year by Manning.
The URL is http://www.manning.com/Johnson/index.html. The author positions
it as book that teaches both the fundamentals of programming and the
specifics of Perl. Since I just started I'm can't give a final
recommendation, but it looks useful so far.

**********************************************************

It would seem to me that the answer to your question on the best way to
learn programming is to evaluate how _you_ learn. Some people are print
oriented, some people learn best by doing, some learn by copying examples,
etc.

Obviously, some guidance will be desirable, but whether that is from books,
working examples, or instructors, depends on your personal style. Some
people love CBT; others hate it.

A lot depends on the abilities and knowledge of the instructor/author as
well. So once you decide on the best method, your next need to search for
the best example of that method: the best books, the best courses, the best
working samples...

I don't know what sort of educational options/opportunities you get at
Athabaska Univ., or from other sources around your area, but it's worth
checking them out carefully before investing your time and money. Quality
tends to vary widely!

**********************************************************

Cory, I too am not much of a programmer,
but have over the years written some useful
scripts in C, perl, PHP, expect mainly.

I started with BASIC and C which I do no
necsssarily recommend, but PERL is not
the easiest language to understand. It depends
quite a bit on regular expressions. That might
be a good place to start. Also PHP is much
more structured and easier to work with if it
is available on your platform.

I usually find that its best to find example
programs as a starting point. I find that
if you are not a born programmer its difficult
to approach a problem from the right angle. A good
example is much easier to start from.

**********************************************************

I learned Perl on my own, though I'd had a couple classes in C/C++ so it
wasn't that unfamiliar.  I am by no means an expert but I can do some basic
stuff.

There used to be a website zdu.com that offered online courses for a monthly
fee.  I'm sure there is some online instructional stuff you could find for
Perl or any other scripting language.

I have a copy of "Learning Perl" published by O'Reilly that is a good book
to learn from.

**********************************************************

I don't know for sure, but many people have recommended the Unix
Library book, Teach yourself PERL in 21 Days.  Most of the people I know
who know PERL have taught themselves, but many of them are also UNIX
people.

**********************************************************

Cory Stier
Electronic Resources Librarian
Athabasca University Library
1 University Drive
Athabasca, Alberta, Canada
T9S 3A3

Phone: (780) 675-6486
Toll-free: (800) 788-9041 ext. 6486
In Calgary: 263-6465 ext. 6486
In Edmonton: 421-8700 ext. 6486
Fax: (780) 675-6477
E-mail: corys at athabascau.ca




More information about the Web4lib mailing list