in reply to Enlightenment and Frustration

chexmix, your words are very poignant.

I'm also older than you (unless you're in your very late 40's :-)), but I relish learning new things.  What I usually don't do well is to learn things I have little or no interest in.

Perl was like that for me at first, actually.  I knew I should learn it, as I'd heard a lot about it (and even had to occasionally hack a huge Perl script a colleague had written, without really knowing a lot of the syntax), and was well aware that it was a useful skill to possess.

One weekend, shortly before the turn of the century, after installing Linux for the first time, I decided to sit down and "learn Perl".  I didn't expect to be fluent right away, but thought a weekend should be enough to make a good start, and be able to write a few simple programs.  It didn't happen, though -- there was just too much new material, and with no clear idea of where to start, it was a doomed undertaking.

However, once I did start learning Perl, and had a real need to be using it all the time, the learning process became a lot more fun, and the apparent effort was greatly diminished.

Nowadays, I stick to the things that interest me, and Perl is almost always the tool of choice.  As long as it's something that captures my interest, I'm quite happy to put in the effort to learn it, no matter how difficult it might be.  The flip side of that is, of course, that no matter how easy something is to learn, if it's not particularly fascinating to me personally, I'm quite likely to give up.

I don't know if any of this helps you, but I hope you can find your own pace without feeling discouraged.  Sometimes taking code fragments and rewriting them yourself can give you good clues and insights into their functionality.

And of course, you can always ask your fellow Perlmonks to give you help understanding specific problems; there are a lot of skilled teachers here, with great quantities of patience!


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/

Replies are listed 'Best First'.
Re^2: Enlightenment and Frustration
by regexes (Hermit) on Apr 27, 2007 at 13:05 UTC
    I didn't expect to be fluent right away,

    What does fluency here actually mean? How do you define fluency?

    I don't know if I consider myself fluent but maybe someone else would. Are my standards to high?

    Does one have to be able to code a module without any reference?
    Write a "complete" program without any reference?
    Write an "efficient" program with/without reference?


    I don't know.. makes me curious though... :-)


    -------------------------
    Cave ab homine unius libri
      That's an interesting question.

      I'd guess for purposes of defining "fluent", a computer language could be considered fairly similar to a spoken language.  My native language is English, and I would say I'm a "fluent" speaker of English.  And, although I'm not fluent in any other language, I'm conversant in a few others.

      Similarly in Perl, I feel I am more "fluent" than in most other computer languages, even though Perl wasn't my "first language".  And just as I occasionally need to lookup English words in a dictionary, I often need to lookup Perl functions, idioms, etc. in the documentation.

      I guess, by extension to the analogy, one could liken cpan to specialized words in a spoken language -- if I needed to be able to hold a technical conversation with doctors, I'd need to understand a lot more medical terminology, whereas an in-depth conversation with quantum physicists might require a more specialized knowledge of the language of quantum physics.  Likewise, in Perl, there is a lot of "specialized" programming which I don't know intimately (if at all), but when I need to know it, I'll know where to go.

      So, the more "fluent" I get, the more comfortable I'll feel using my language skills (in either Perl or English), but I'll never stop having to look things up.


      s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
      How do you define fluency?

      One suspects that he defines it in much the same way as the Concise Oxford Dictionary:

      2. a ready command of a specified foreign language.

      Cheers,
      Rob
        2. a ready command of a specified foreign language.

        But that's what I'm talking about... it's too unspecific. What is a ready command of the language? Never mind... I'm being too pedantic. ;-)


        -------------------------
        Cave ab homine unius libri