Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

How long does it take to learn?

noisyzennoisyzen Posts: 2Member
Hello all,

I am a newbie here, and a newbie with Perl. I've messed around with programming in BASIC (oh, 23 years ago - which makes me feel WAY too old), Ruby, PHP, and Python. I have not actually mastered any language.

In any case, I'm learning Perl now. I've been studying and learning very rigorously over the last two weeks. The first week I focused on figuring out how to write programs for different tasks. Last week I spent the majority of my time going through the Learning Perl book. I read and completed the exercises for about 3 - 4 chapters per day.

Let me preface my question by saying that I know everyone's learning capacity is different and that each person has different strengths and different weaknesses. So, my question is this:

How long does is usually take for people to learn Perl? Not 'master' it, so to speak, but to understand it enough to not feel like a clumsy two year old?

How long did it take you to feel mildly or moderately comfortable moving around in the syntax and writing programs?

I am quite impatient and tend to get very frustrated if I cannot learn something very quickly, and the more I hear that people didn't learn it overnight, the easier it is for me not to think I'm a total moron. :)

Thanks in advance,
NoisyZen

Comments

  • JonathanJonathan Posts: 2,914Member
    Hi,

    Perl has an interesting learning curve. It's very easy to learn enough to hack something up, but it's hard to master or know really well because it's so big. Equally, once you do know it well you can move very fast in it. I consider myself very strong in both C# and Perl, but I can both create new code and refactor existing code much more rapidly in Perl than in C#. Basically, you pay more time in the first place to actually get good in Perl, but save time later by knowing it well.

    I had working Perl programs pretty quickly, but to get good took longer. The Camel (the affectionate name for Programming Perl, another Perl book by O'Reilly and the one I read) moves faster than Learning Perl, so if you're finding that is taking quite some time and you've got experience with programming (23 years counts...I'm only up to 14 ;-)) then consider Programming Perl instead. It covers a lot of the advanced stuff too. Basically, if you go through the camel and understand most of what's in there, you're doing really well. It'll take more than two weeks to do that, though.

    Of course, there's more to programming than the language, and Perl is very multi-paradigm so there's a fair few concepts it helps to be aware of. But your background has probably made you aware of a fair few.

    : I am quite impatient and tend to get very frustrated if I cannot
    : learn something very quickly, and the more I hear that people didn't
    : learn it overnight, the easier it is for me not to think I'm a total
    : moron. :)
    Would you expect to be fluent in any language, natural or computer, overnight? :-)

    Jonathan
    ###
    for(74,117,115,116){$::a.=chr};(($_.='qwertyui')&&
    (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");
  • noisyzennoisyzen Posts: 2Member
    : Basically, you pay more time in the
    : first place to actually get good in Perl, but save time later by
    : knowing it well.
    :

    First of all, thanks for responding to my post. :)

    : I had working Perl programs pretty quickly, but to get good took
    : longer. The Camel (the affectionate name for Programming Perl,
    : another Perl book by O'Reilly and the one I read) moves faster than
    : Learning Perl, so if you're finding that is taking quite some time
    : and you've got experience with programming (23 years counts...I'm
    : only up to 14 ;-)) then consider Programming Perl instead. It covers
    : a lot of the advanced stuff too. Basically, if you go through the
    : camel and understand most of what's in there, you're doing really
    : well. It'll take more than two weeks to do that, though.

    I don't really have 23 years of programming experience. I first messed around with BASIC On my Commodore VIC-20 at the age of 8 (which was 23 years ago, again, feeling old!). I'd have to say that was my first taste of programming and I liked it back then.

    : : I am quite impatient and tend to get very frustrated if I cannot
    : : learn something very quickly, and the more I hear that people didn't
    : : learn it overnight, the easier it is for me not to think I'm a total
    : : moron. :)
    : Would you expect to be fluent in any language, natural or computer,
    : overnight? :-)

    Of course not. :)

    It's been probably about 4 weeks since I started on my journey in Perl and I'm feeling like a clumsy 2 1/2 year old now rather than a clumsy 2 year old.

    The hardest thing for me to grasp has been complex data structures, referencing, and dereferencing. I'm probably just not being very patient. :)

    Again, thanks for the response!

    : Jonathan
    : ###
    : for(74,117,115,116){$::a.=chr};(($_.='qwertyui')&&
    : (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    : /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");

    NoisyZen
  • JonathanJonathan Posts: 2,914Member
    : The hardest thing for me to grasp has been complex data structures,
    : referencing, and dereferencing. I'm probably just not being very
    : patient. :)
    Yeah, Perl is a little different here, though you pretty much build everything that isn't a hash, array or scalar up out of references to these. For example, a 2D array in Perl 5 is actually just an array of references to arrays. Once you get used to ideas like this, it's not so bad. :-)

    Jonathan
    ###
    for(74,117,115,116){$::a.=chr};(($_.='qwertyui')&&
    (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");
Sign In or Register to comment.