Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??

by Anonymous Monk
on Dec 15, 2012 at 07:50 UTC ( #1008942=perlquestion: print w/ replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks,

Its really been a while I have been trying to learn Perl.

I first started in year 2009 or so, tried for a few days and then work caught up. Then again in 2010, same thing happened. And hell again in 2011. Difference was, in 2011, I was lucky enough to stick to learning Perl for almost 2 months. And I learnt some stuff. Now again I have got time, but what bugs me is 1) the time its taking me to learn Perl. And 2) I get to work on it mostly on weekends, so mostly I am back to square one. I learnt some stuff in 2010 end, and then whooosh a big gap. Then started again in end of 2011, and now, when I have restarted, its like I have forgotten everything.

I see on the net and everywhere that learning Perl is easy. So I tried it, but problem is, I keep forgetting the syntax just in a few days.

I love Perl. I wish I could spend the whole day just learning Perl, but I cant.

Could this mean I am programming challenged? I keep forgetting stuff. I am sure age must be catching up with me. At 38 Years, I dont know if anyone here would have tried learning Perl. And yet here I am trying it.

Is there some age limit for normal guys who wanna learn Perl?

It really really gets depressing at times.

Most of you here would have started programming at a very very early age, so I am sure my questions are going to raise a lot of eyebrows out here.

I am currently working as a Storage Admin...trying to learn a good scripting language. I am not even sure if knowing perl scripting will help me in my job much, but still, I am learning Perl because I need a new skill and hell yeah, its sort of addictive, this Perl Language.

Heck. I dunno what to do.

Delete my post if you think I am sounding stupid.

Edited: Added <p> tags so that formatting matches actual text input.

Comment on Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
Download Code
Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by davido (Archbishop) on Dec 15, 2012 at 08:35 UTC

    There are certain things I don't expect to achieve now that I'm past 40. Winning the Tour de France is out of the question at this point (VO2-max declines with age, after all), though that doesn't stop me from enjoying doing hill repeats until my lungs ache and legs burn just for the challenge of it. Reading the wattage and voltage on the back of an iPhone wall-wart will heretofore require the aid of some form of high quality optics (the ability of the human eye to focus at close distances universally declines with age). And I will never have a promising career in the NBA -- most of those guys are done by their early 40's if not sooner.

    Pretty much everything else that is slightly less physically demanding is still wide open to me, and should be to you too. I have no regrets that I didn't learn the pommel horse while I was still in my teens; I filled those years with other experiences. But it would be a lousy second half of a life if I weren't allowed to learn anything new, or to pursue new ideas, concepts, and disciplines. I'm looking forward to it.

    If you enjoy programming, stick with it. Don't sell yourself short. None of us got comfortable with Perl (or any other programming language, for that matter) without spending some time with it, or without experiencing frustrations and cognitive barriers that had to be broken through along the way.

    So if we can dismiss this notion that we're done learning at (or near) 40, let's look at what needs to be done to learn a new skill (Perl included):

    • You've got to spend time actually exercising the skill. Tinker a little every day. Set aside ten minutes, or a half hour. And in that time each day, solve some trivial problem that you've thought about throughout your day.
    • You've got to study it. Read the POD, or some good Perl books. But don't limit yourself to just Perl books; Perl is useless in a vacuum. Perl's power is that it's so useful across a broad range of problem domains, so learn about other problem domains too.
    • Find some larger projects to participate in (hopefully ones that others work on as well -- you'll learn from others).
    • Repeat... every day, for weeks, months, and years (or at least as long as you still enjoy it)

    Dave

      I have no regrets that I didn't learn the pommel horse while I was still in my teens

      Even that may not be closed off...I got hauled to adult tumbling classes for a couple years in my late 30's and while I never got very good, it was a lot of fun and improved my balance dramatically. I got as far as doing a front tuck on an extra springy floor. So even some pretty demanding physical things aren't out of the question. It also helped my crashing in bicycle races dramatically-- there's a lot of time to think in the air, and if you've had some practice you can reduce your chance of injury. Plus the gym was a pretty interesting scene after the kids left and the adults came for open tumbling-- it was mostly active stunt people and ex-gymnasts.

        true ... a friend of mine was racing with his bike when suddenly a car oversaw him and blocked his way.

        When flying he unconsciously did a roll over the car's roof an landed unblessed on his feet.

        He's convinced that his gymnast training as a kid saved his life.

      Regarding participating in larger projects, I would really like recommendations from the PerlMonks on a general purpose, production-ready (or nearly so) web-based CMS written on top of a modern perl framework (Catalyst, Dancer, Mojolicious, or even CGI::Application). Something with good documentation, enough function to be generally useful, and an easy, well documented means to extend functionality with a relatively gentle learning curve.

      Perhap a modern perl take on Drupal (Druperl)? Of course not a Drupal clone, but something in that space: useful out-of-the-box, with an entry into extending in a systematic manner. Having a supportive user/developer community is a big plus.

      I've looked at miril (CGI-App), ShinyCMS (Catalyst), and the Galileo (Mojolicious) perl CMS's on GitHub, but they are fairly alpha stage right now. I'd really like to see a project like those with wide perl community support. It could be a great learning tool and "gateway app" for aspiring perl programmers.

      Thoughts?

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by flexvault (Parson) on Dec 15, 2012 at 09:21 UTC

    Dear Anon Monk,

      At 38 Years, I dont know if anyone here would have tried learning Perl.

    I was 50+ when I started working with Perl. And that was a long time ago. But I have been programming my whole life and yet every day I learn something new about Perl, and programming and system admin and . . .

    Most programming languages/computers/etc. that I was an expert in my 20's and 30's and 40's don't even exist today. Even the 'C', I worked with for years, is now called 'traditional C' and I can't get my early 'C' code to even compile, but my Perl code works. My first use of Perl was for a Fortune 50 Company, and I hated it. But that was my problem and not Perl. And the first script I wrote for my company is still in production today. So if your lucky like I am, you'll be using Perl in your 60's and on.

    Perl is probably the most consistent and staple computer 'thing' you'll ever learn!

    Good Luck...Ed

    "Well done is better than well said." - Benjamin Franklin

      I'm glad I forced myself to learn emacs at a young age... :) For learning Perl, I read the Camel book from cover to cover, but I was fortunate to have real-world problems at work to solve for which I could use Perl.
Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by erix (Vicar) on Dec 15, 2012 at 12:23 UTC

    One more advice from someone with used-to-have-excellent-memory: remember how to find good examples:

    perldoc perl

    and the derivatives that are listed there: perldoc perlre, perldoc perlcheat, perldoc perldsc, etc.

    If you use that often enough you'll remember where examples are that you cannot remember.

    (Personally, I also keep files with the most often needed/forgotten examples, one for each language: bash, perl, sql, etc. Then, make sure they are accessible; now and then mail them to yourself, for instance).

    Yeah, it's rough to get older... (and I can tell you it gets worse, not better ;-))

    But it's also true that using your brain keeps it in better shape, and surely learning perl qualifies.

    More:

    Perl documentation documentation

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by ww (Bishop) on Dec 15, 2012 at 13:31 UTC
    All that others have said rings true for me.

    But perhaps it's time for a little tough-love.

    Your post is largely self-indulgent whining. 38 is past "the age limit" for that. But to answer the question you asked in that context, perhaps you should estimate 140 as a likely limit (today; as lifespans extend that will probably rise too).

    As to "what to do," just do it! Write some code or read and understand a particular function or tackle some snippet every day -- a little self-discipline will let almost anyone find 10 or 15 minutes per day for study. You won't need to feel so sorry for yourself for not having "started programming at a very very early age." (In my case, the age in question was ~~ 40).

    And BTW, try writing in paragraphs. That's good discipline too and makes your post much easier to read.

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by karlgoethebier (Curate) on Dec 15, 2012 at 13:40 UTC
    Heck. I dunno what to do.

    Just do it. It is possible - if you want it. I did it just some years ago - one year after i used a computer for the first time in my live ( i'm 56 now). Before i relied on paper and pencil and considered computers as rubbish.

    Same thing with Unix. Some day my boss came and said: "Karl, can you do this and that on this machine?". The OS was AIX. I had no plan, the only OS i knew at that time was NT. So i learned some shell commands by the hard way.

    Before i started bothering myself with computers i had another career: i was a musician. Playing baroque chamber music, teaching a.s.o.

    Very often my pupils asked me similar questions: "I'm this and that... and can i really...?". I always answered: Yes, just do it.

    Proof: Just some time ago i met a piano player, about 40 years++ old. When he was ~35, his very wish was to become an expert in comping. So he went to Berklee and just did it.

    I hope this helps and best regards, Karl

    «The Crux of the Biscuit is the Apostrophe»

      I totally support what has been said: just do it!

      I was a professional translator when I wrote my first useful (albeit very simple) computer program, back in 1986 or 1987, at an age of about 32.It took me 5 or 6 years, between 1989 and 1996, to graduate with master of software engineering, thus completed when I was almost 41. I started Perl in about 2003, or so, at an age of about 48. I used it for a long time as a simple scripting language, and started only much more recently (about 2 years ago) to use it more as a full-fledged language for solving complex problems and I am still learning almost every week more advanced features of the Perl language such as coderefs, callbacks, closures, typeglobs, and so on. And I will turn 57 in less than two weeks from now.

      So I certainly don't think there is an age-limit for starting such new things.

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by CountZero (Bishop) on Dec 15, 2012 at 14:37 UTC
    You learn as you do.

    I studied and trained as a lawyer and am the team leader now of a marine claims team in an insurance brokers office, but I was always interested in computing and use Perl almost daily for data-munging and reporting.

    Most computer languages I learned when young are now part of the (old) history of computing: COBOL, FORTRAN, APL, Forth, some forms of BASIC, ...

    I actually started using Perl 4 about 20 years ago, running it on an ATARI ST computer. Then I had to switch to a Windows PC and started using Visual Basic and left Perl for many years. I came back to Perl when Perl 5 was well established, but switching languages was not a big job. Yes, I had to keep the Camel book close to my keyboard for some time (this was the time before we got continuous Internet access), but just by doing it on a regular basis quickly got me "thinking Perl" again.

    It is like everyting in life: you are never too old. I am now 50+ and met a much younger girlfriend. I can sure tell you she keeps me young. Same with Perl: it will keep your brain young and agile too.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

    My blog: Imperial Deltronics
Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by BillKSmith (Chaplain) on Dec 15, 2012 at 15:32 UTC
    I recommend getting (and using) any good perl book. Us old guys find it much easier than online reading. Make notes in your book. Add cross references. Add reference to online data for more detail or where your book proves to be out of date. Do the exercises! Do them over after you have learned more.
    Bill
Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by iguanodon (Curate) on Dec 15, 2012 at 15:37 UTC
    I dunno what to do.
    My advice is to pick a real world problem. Start small. The next time you're thinking of using a shell script to automate some common or repetitive task, take a few minutes to do it with Perl instead. It can be as simple as calling an exernal program with different arguments. Start by hard coding everything in the Perl script, then step back and think about how you can factor out the parts that vary between calls. You might add command line option handling, then config file handling, logging, etc... You might find that it's fun, then you've caught the bug.

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by sundialsvc4 (Abbot) on Dec 15, 2012 at 16:24 UTC

    (Shrug...)   You learn by doing, and it's not always easily done.   You just have to keep at it so that your mind gets used to thinking this way, and always have good reference material at hand:   you don’t have to “remember” what you can “find,” provided of course that ...   (Now where did I put that damned book?)

    It also helps to have a specific goal in mind:   write a program to do something.   Programming language are a tool for a job and you do not learn them in the abstract.

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by bitingduck (Friar) on Dec 15, 2012 at 16:29 UTC

    I'll second what iguanodon recommended, but recommend that you pick a larger problem. A friend of mine refers to it as the "search for why". It's much easier to learn something new if you have an itch that you have to scratch or a particular problem that you have to solve, and for which the new thing looks like the correct tool

    Something I used to do whenever I wanted to learn a new language was write an implementation of John Conway's life. Perl is one of the few where I haven't done that, and I recently saw a post here where it was very impressively done in just a few lines.

    I started learning Perl in my late 30's, about your age, because there was some web stuff I wanted to do and Perl looked like the right tool. I spent a bunch of time getting up to speed with Perl and MySQL and web things, having had no prior experience with web things, but quite a bit of scientific and data acquisition/analysis programming. I learned a ton, and then ended up applying a lot of what I learned to a Ruby implementation (which was also new to me) that I eventually got up and running. Since then I'm using both Perl and Ruby for another, bigger project.

      I was also 50++ when I first got serious about learning Perl. The worst part was going back and forth across languages. If / test syntax is different for Perl vs. ksh vs. Oracle (my "native tongue"). When substringing, some languages use start_byte,length; others use start_byte, end_byte.

      It got a whole lot easier when I decided that, for a while, I'd simply do everything in Perl. So I second the idea that you should try to stop writing shell scripts and create Perl scripts instead.

      What type of scripts? Hey, you're a storage admin. Start by creating some scripts that mimic the reporting that EMC / Promise / Sun / whomever have for their disk-carving tool. Create a script into which you can put a slice name, and verify that it's not already allocated to a LUN. Create a script that goes out and identifies slices which are no longer associated with a LUN (maybe their server's being rebuilt). In other words, think about cool tools that'd make your life easier. That's what I did to handle Oracle alert logs, listener logs, /var/adm/message, etc. It works pretty well because all the work you do in Perl saves you from getting headaches outside Perl.

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by jmlynesjr (Pilgrim) on Dec 15, 2012 at 21:47 UTC

    I started learning Perl, wxPerl, Ubuntu, and Arduino at age 58. Having had a 25+ year career in software development certainly helps with the basic CS concepts and debugging techniques.

    I prefer reading documentation on paper, so I am slowly building a personal library of the Perl "animal" books. "Mastering Regular Expressions" has to come next.

    I suggest reading all of the Perl Monks posts you can find time for. I try to read them all every day. I won't remember exactly how some problem was solved, but I will remember it can be solved and how to look it up.

    Keep at it! Good luck.

    James

    There's never enough time to do it right, but always enough time to do it over...

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by bulk88 (Priest) on Dec 16, 2012 at 04:18 UTC
    IMO the starting post in this thread has a hint of not being genuine, especially since its anon. I will assume it is genuine.

    I self taught myself Perl with perldoc and google. globs and OOP are the hardest parts of Perl to learn IMO. My background before Perl was some classroom VB I have no memory of anymore. I find Perl quite compact (in characters) and fast to write code compared to other languages where OOP is the rule and almost nothing can be done with less than 3 method calls in 1 statement which requires constantly referring to the manual on that language, or strict typed languages where automatic conversion in Perl, in the other language requires converting through 4 classes to convert an IO read result class obj to a printable string class obj string. Typically Perl doesn't have inheritance diagrams that were created to ensure a permanent job for its designers. Sigils and high punctuation levels make it much easier to read Perl, but unlike VB or Python, you aren't hopeless if you look at C, C++, C#, PHP, JS, or Java knowing just Perl. If you think Perl is hard, try its neutered cousin PHP, you might find it easier. I find Perl quick and easy for throw away scripting, which is most of my uses for Perl. I still use perldoc all the time/every script I write and I will probably never learn all of Perl by heart. Looking through the manual for every line of perl code you write since you forget prototypes, syntax, and function names is fine.

    Either learn Perl (or any language) or not. A half assed attempt will waste your time. Whether Perl is the superior language is a religious question, not a question of fact. Post your code on PM and ask for criticism. Thats all you need to learn. Do you want to program at all?
Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by perl514 (Pilgrim) on Dec 16, 2012 at 12:00 UTC

    Hi,

     

    What you are saying happens to me too. I too keep forgetting stuff, but thats ok. Main thing is, and its a very important question that you must ask yourself "Do I really like programming/scripting or am I in it just for adding one more skill in my resume?". Cause if you just want to learn perl to merely add a skill without enjoying the pleasure and pain of the learning process, its really not worth it.

    Its a very strange coincidence, but I happen to have a chat with a friend of mine a couple days ago. He too is trying to learn Perl and was talking stuff that you just spoke about.

    I am a storage admin too, and started learning Perl cause I wanted to automate stuff. Job Pressure catches up with all of us, but thats how life is, and you gotta take it the way it is.

    Even I get to work only on weekends, provided no other work comes up during that time. So what I do is I write scripts over and over again till it sort of becomes ingrained in my head. And do follow the advice of others here. Try to automate something. You'll be amazed with the amount of knowledge you will end up soaking.

    One last thing, you mentioned something like If learning Perl will help? I dont know what you mean by that. I tried another scripting language which seems to be something everyone is chanting praises about, but it didnt work out for me. And this was last year around same time. So I tried Perl, found perlmonks and started working on scripts and asking questions here. And I am happy that I did it. I dont want to mention the name of the other language, its a great language, just that Perl works best for me.

    So keep trying and it will work out

    Perlpetually Indebted To PerlMonks

    Win 7 at Work. Living through it....Linux at home. Loving it.

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by Anonymous Monk on Dec 16, 2012 at 17:26 UTC

    Regarding how to deal with re-learning the ropes of Perl...

    I too get called away from programming many times in a year. What works best for me ...

    1) Write programs dealing with some SMALL aspect of what you're looking for, or a small change from an example that you know works. They could be examples from modules or books or whatever.

    Make COMMENTS in the program to make it absolutely clear to you what you're doing where.

    Save those programs in a folder- subdirectory - flash drive, whatever.

    You can keep efforts that DON'T work out, but at least keep some record (spreadsheet) of what you were trying, those that work and what they do, maybe what the glitch or last error message was.

    When you come back, look back at these, so you can relearn quickest.

    2) If you don't have time to do programming, do your best to follow something like PERLMONKS, or perhaps a listserv of your interest (At one time, there was a beginners mailing list that I could still learn a lot from, even after years.)

    See if you can answer one or two questions posted, before reading the answers others give.

    The rest of the advice you've gotten looks pretty good to me, too. Just sharing my experience.

      I think the best simplest solution to this problem is something you will of heard before but this simple method can improve your comprehension of what you've read by up to 70%.

      You simply grab a pen & paper and take notes as you read a chapter. The sheer act of writing takes you from passive to active and triggers your brain to focus and think what your writing.

      So you buy a note pad and every book you read you write notes doesn't have to be extensive just write the key points out.

      This will greatly improve your ability to remember a subject. Passive reading is rubbish for trying to remember a subject especially if the topics a bit dry.

      Another quick way of remembering is to take notes using Mind Map. It works for me. One such tool is freemind and another commercial tool is Think Buzan's iMindMap (You can get a non commercial version with some limitations) for your personal use.

      Hope it helps.

Re: Forgetting Syntax, Forgetting logic, Heck, Should I even try keep learning Perl??
by blue_cowdawg (Monsignor) on Dec 18, 2012 at 14:13 UTC
        Is there some age limit for normal guys who wanna learn Perl?

    I used to have to deal with a development group manager who firmly believed that "you should stop trying to learn anything new at age 40."

    I had two words to answer him with: "Bovine Scatology!."

    I've never stopped learning. It may be harder to do at times and I'm in my mid fifties. Since I turned forty the stuff I've learned to do from a standing start include (but are not limited to)

    • How to make Belgian (style) Ales.
    • JSP, Java Server Faces (JSF), Hibernate Programming
    • Tomcat
    • Puppet
    • Nagios
    • Arduino
    • Italian Cooking
    • How to smoke meats (finding the right end to light helps)
    • Sausage making
    • How to train dogs
    • How to rehabilitate aggressive dogs
    • Dog Agility handling
    • Rally handling
    and if I looked at some of my past journals I could probably come up with more stuff.

    Point is the time to stop learning stuff is when you get that underground and really small apartment with no exits.

    I don't plan on moving into that apartment yet, so I don't plan on stopping learning. Even stuff that I've already learned there is still a learning process as you hone your knowledge to a finer point and you get better at it.

    As for forgetting syntax... memory is the second thing that fails as you get older...


    Peter L. Berghold -- Unix Professional
    Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
      Doubleplusgood!

      I'm 51. I started taking math classes three years ago to right the enormous life-wrong I committed as a teen when I allowed myself to be lured away from science by the theatre. It's been really hard going, but I love it.

      And since my childhood dream was to be an astronomer, I've been taking astronomy courses, too.

      Although certain of my friends would snort to hear me say so: never give up!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1008942]
Approved by tobyink
Front-paged by 2teez
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (8)
As of 2014-10-25 23:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (149 votes), past polls