I’m sitting here at work reading a section of the “Programming Perl” book by O’Reilly, which is a really good Perl book, and going blind reading statements like

To dereference this scalar means to use the reference to get at the referent. Both referencing and dereferencing occur only when you invoke certain explicit mechanisms; implicit referencing or dereferencing never occurs in Perl. Well, almost never.

A reference can point to any data structure. Since references are scalars and you can store them in arrays and hashes, and thus build arrays of arrays, arrays of hashes, hashes of arrays, arrays of hashes and functions, and so on.

Now, if that makes perfect sense to you, well, GET A LIFE! Holy cow! (Sadly, it is starting to make sense to me.) One of the down sides to being self educated is I have to go over stuff like this again and again till it actually makes sense. Otherwise I end up with unknown holes in my knowledge that might burn me later down the line. Trying to figure out what is important and what isn’t can sometimes be difficult. Where having a professor just say, this might be good to know later, but ignore it for now, can save a lot of time.

Learning to program is really like learning a new written language, and then a bunch of different dialects of that language.

Perl, C, C++, etc all use very similar syntax. The underlying logic is very similar, a loop is a loop, a variable is mainly a variable. I suppose it’s like growing up speaking Spanish, then learning English, American English that is, then Scottish English, then maybe Welsh English, then maybe Indian English. They are all fairly close to each other in certain respects, but don’t mistake Pants in American English for Pants in Scottish English. Oh buddy will ya get a red face.

Languages I’m either currently learning or already know enough to hack in. Basic, Pascal, C, C++, Fortran, Perl, Korn, Bash, Expect, Ruby, Tcl, MPI.

And yet I can barely speak a lick of Spanish. Go figure. It’s time for a nap.