Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

This node falls below the community's minimum standard of quality and will not be displayed.

Replies are listed 'Best First'.
Re: i want to learn programming language
by moritz (Cardinal) on May 08, 2008 at 10:31 UTC
    It won't surprise you that I suggest Perl (you're asking in a Perl forum ;-).

    Perl has a strong culture and strong tools for testing, and therefore is very useful if you want to test software (or perhaps even hardware, for that matter).

    But of course you have to check first if perl is available for the platform you're using.

Re: i want to learn programming language
by Pancho (Pilgrim) on May 08, 2008 at 12:55 UTC

    Ravi, I am kind of curious how you landed in PerlMonks in the first place? It should be no surprise to you that the Perl Monks would advise... well... Perl. A couple of things to consider: What programming languages do they use in your shop? Do you have any programming experience at all? Do you do better learning from books and seeing examples or from a classroom course type experience?

    If you have little to no experience, the book path works for you and you are considering Perl then I would suggest getting a copy of Learning Perl by Tom Phoenix.

    Good luck,
    Pancho
Re: i want to learn programming language
by locked_user sundialsvc4 (Abbot) on May 08, 2008 at 16:23 UTC

    Ravi, Perl is a fine choice. Once you get your first language under your belt, the second will be easier and the third one easier still. Here are a few things to prepare-for and expect in your self education:

    1. You're going to feel like your head is about to explode. In fact you'll feel that way quite frequently.
    2. Keep a diary: a nice loose-leaf notebook (a 3-ring binder) with a stack of number-two pencils. When you encounter something that you don't quite understand, write it down in that journal and then... let go of it. Once you've captured it, you can now choose when to pursue it again.
    3. Likewise, when you encounter something and wonder, “what's that good|intended for...?” capture it. Write it down. Let go. Yes, one day you will chase that rabbit, but it doesn't have to be right now.
    4. Creating even the shortest program and actually getting it to run can be an immensely frustrating experience since computers are inordinately concerned with punctuation-marks. Don't let the frustration build. Put it down. Come back.
    5. Eat well, sleep well. Your mind works hardest when you sleep. When you get up in the middle of the night, tiptoe, but stay away from the computer until dawn. (During the day...) exercise. I take very long walks.
    6. You cannot “know it all.” Never will. Don't have to. Instead, what you'd like to begin to develop is the ability .. maybe the instinct .. to find out. No matter how many years (25 for me...) you do programming, you will always be “finding out.” It goes something like this:
      • “Sure! I can do that! By when? Oh, sure! No problem! Seeya!” (You fail to notice your customer's or manager's slight smile as you leave...)
      • (Blind Panic.)
      • Head-scratching and furious Googling... oh shit, I'm sunk... where's my resume... where's a rope... this is It... I'm so dead-meat...
      • On second thought, it does relate to something to remember .. you search .. you explore CPAN .. you find .. you try ..
      • it doesn't work .. (oh shit... kill me now...) you try something else ...
      • It Works!! The keyboard grows warm from friction.
      • Midnight passes. Dawn comes.
      • You succeed! The customer|boss is well-pleased. Your experience has grown slightly. (Your head, on the other hand, is a little bit shinier now.)
      •  
      •  
      • “Hmmm... I wonder...”
      •  
      • “... ... if I just added one teensy-weensy more feature ...”
      •  
      • “... ... ... it wouldn't take too long, surely ... and it would be so cool ...”
      •  

    And you find that you love it. You've never worked harder but it works, and by golly, it works well. Very well. A user passes you in the hallway and says, “hey, that program you wrote really helped me.” Wham! A new hole opens up in the ceiling...

Re: i want to learn programming language
by samtregar (Abbot) on May 08, 2008 at 16:52 UTC
    Ravi, you have come to the wrong place. If you want to program a handset (meaning, I assume, a cell phone) you should learn Java or possibly Objective C (for the iPhone). Learning Perl won't help you program in your domain.

    -sam

Re: i want to learn programming language
by Jenda (Abbot) on May 10, 2008 at 22:12 UTC

    Plz, lrn2spel. We might be able to decifer you leetspeak, the computer will not be so forgiving. Plz in place of "please" works, somehow. "prnt $x" instead of "print $x" will not.

    Unless you do learn to pay attention to details and "cross your "t"s and dot your "i"s", programming will be a very frustrating experience. If you learn at the same time to pay attention to the way you ask for help and write so that your posts are easy to read instead of kewl, all will be well.

    P.S.: Asking for an email reply in a web forum or newsgroup is generaly considered rude. You asked for some help, let us at least do it in a way that might make the replys helpful to other people in a similar situation.

Re: i want to learn programming language
by talexb (Chancellor) on May 09, 2008 at 14:31 UTC

    Your question is a bit vague, but I can give you some pointers.

    • Get a decent set of technical books. I highly recommend O'Reilly as a publisher. (Why O'Reilly? A quick comment about that: I got a CSS book free through my web provider http://www.pair.com (they also host this site, bless their hearts), and it's quite useful, except for the index, which someone junior probably spent a day working on. In contrast, the O'Reilly book that I have on CSS has an index that is complete and thorough. I was trying to find out the proper magic to make some stuff on the page disappear when printed -- couldn't find it at all in the free book, but the O'Reilly book identified it right away. The only reason you have technical books is so that you can look stuff up -- which means a decent Table of Contents and Index.)
    • Read these books.
    • Start a notebook. Take notes.
    • Try simple things. Take notes.
    • Try more complicated things. Take notes.
    • Try to solve a simple problem. Take notes.
    • Try to solve a complicated problem. Take notes.
    • Get in touch with whatever local community of users there is. (I love going to the monthly Perlmongers meetings here in Toronto -- the conversation can wander around, but it's really stimulating to be in a room full of bright people, discussing Really Difficult Stuff. You'll be surprised at what you learn just going to one of these meetings.)
    • Always be learning. (I've been making a living writing code since my first work term in August 1977, and I'm still learning new stuff.)

    Oh, and have fun!

    Alex / talexb / Toronto

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Re: i want to learn programming language
by Gavin (Archbishop) on May 08, 2008 at 17:57 UTC

    I second Java like samtregar for phone languages but feel you would be better off starting with Visual Basic and then moving on to Java.

    I started with C++ then Java and found both heavy going to start with then moved on to VB and then back to Java and Perl coming back after learning a bit of VB made things a lot easier and if I had to do it again I would start with VB.