Bill Barnes wrote:
>
> Oh, if only I could be so sanguine about my learning curve in matters of
> Linux, PostgreSQL, Enhydra, Glade, gnome-db, bonobo, HTML, XML, DHCP, NIS,
> NSF, DNS, ABC, XYZ, ETC, ETC, ETC.
>
> Bill
:-)
It's like I told a client about learning PHP (which I had had little
experience with before going full-bore writing pages for a
database-backed website): "It's just another programming language."
Took about fifteen man-hours to get real comfortable with it. Still
catching myself with Perlisms, but not too bad. But, then again, that
client's previous website was in perl, which before taking on the client
I had had little experience with. Go figure. I kept trying awkisms
instead (and I won't go into why I was awkified that day....). Does
that make my code awkward, perhaps?
Same with learning Tcl -- took about four hours to get the hang of it,
and another ten or so to get comfortable -- although, with Tcl, you are
writing in a completely different style than if you are writing in a
functional expression language such as perl or php, as opposed to Tcl
being a command string procedure language.
No biggie. Took much longer to learn Z80 machine language with a hex
editor/debugger.....
Programming is programming, regardless of language. Now, learning the
ins and outs of a package written in a particular language is a little
harder -- as anyone who knows a dozen or so languages can attest,
writing code is much easier than reading someone else's code --
although, I find that, if I stare at code segments long enough, I just
intuitively grok the meaning of the segment -- one of those things, I
guess.
One you grasp basic programming constructs such as indirection (with
it's assortment of linked lists, stacks, trees, etc), arrays, strings,
variables, etc, you've got 90% of learning any programming language
whipped. I use indirection as a catch-all for perls references and C's
pointers....it helps to have done all that indirection stuff on a 6502
and on a Z80 (speaking of different approaches to a problem!) in
assembler.
At the moment I'm learning the ins and outs of the 250KLOC OpenACS
package -- given its heavy reliance on a 15KLOC SQL datamodel and
several thousand embedded Tcl (ADP) HTML pages (with associated Tcl
procedure libraries and registered URLS), it's a bit tougher than most,
but I'm making headway.
All it takes is time and a little concentration....
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11