On Jul 21, 2009, at 11:14 PM, Wayne Lam wrote:

> I am new in here and i am currently worked in the library too. I
> am always confused that when i read the post in here, there are
> always something i don't understand and there are so much to
> learn.
> So, the question is, hows everybody learns to be a good coder for
> libraries, what s the secret and what kind of technology are most
> important to learn?

Welcome, Wayne.

I believe the path to success in this area is not unlike the path to  
success in other endeavors. It requires a combination of self- 
motivation and practice; Stuart and Mike have provided good starting  
points. Read lots of books, and ask lots of questions. "Well-worded  
questions get responses." The practical nature of computer programming  
hits home when you choose problems to solve that are closer to your  
soul. Personally, I took three "semesters" of BASIC but nothing sunk  
in until I wanted to figure out: 1) how much money was I earning as a  
taxi driver, and 2) where Mars will be on a given day.

The process requires practice, and practice requires time. It is not  
going to work the first time. There will be the syntax hurdle. "Did  
you forget to put the semicolon at the end of your line?" But the  
harder part will be the logic. If this, then that. Do while such and  
such condition is true. Then of course there are the data structures.  
Arrays. Hashes. Hashes within arrays. Arrays within hashes. Accessing  
relational databases. Creating and searching indexes.

Begin at the command line. No graphical interface. Write the  
archetypical "Hello, World!" program. Output the result to the screen.  
Enhance the program so it outputs a simple letter to your Congressman.  
Modify the program so it outputs the letter to a file. Enhance it  
again so it reads the letter from the file system, changes the content  
in some way and saves the result. Enhance it again so the program  
takes input from the command line and outputs difference letters  
accordingly. Output letters as valid XHTML. Save many letters. Use an  
indexer (like swish-e) to make your letters searchable. Write a  
program that... searches your letters. Acquire a batch of MARC  
records. Parse out things like authors and titles from the records and  
indexes them. Write an OPAC. Move to a graphical interface by  
implementing all your scripts as CGI scripts. Identify a problem you  
want to solve -- "an itch you need to scratch". Write a program that  
solves the problem, and when you get this far you I think you are well  
on your way to calling yourself a programmer.

A couple of years ago I wrote a set of tutorials to address just this  
issue. Hmm... I wonder where they are?

Eric "Off To Search His Archive" Morgan
Head, Digital Access and Information Architecture Department
Hesburgh Libraries, University of Notre Dame

(574) 631-8604