Hi, another comment on books - they aren't necessary, really. Learning Perl is a decent intro book, but if you go through the online tutorials (even if it takes a couple passes) you will be better off in the long run. As for reference books, Programming Perl is great, but so is perldoc. Ideally you shouldn't need to buy any documentation for open source projects, and in Perl's case it comes pretty close to being unecessary.
One other thing to consider is that new development with Perl 5 (the current version) will soon decline dramatically. While Perl 6 will still be Perl, and many Perl 5 concepts will apply, it will also have major differences. If you're just looking to learn a language, I would recommend python or possibly ruby (python has far better documentation then ruby, so it would be my choice).
Before I get flamed into oblivion, have my post reaped, and start receiving death threats, here are a few reasons for my suggestions:
- Object-oriented programming is far, far simpler in Python and Ruby. This is not to say Perl's OO is inferior, but when it comes to someone without any experience on the subject, Perl's OO can be very, very confusing.
- Perl's strength and weakness is in its flexibility. This is arguably good thing for experienced programmers, but is about the worst thing possible for novice ones. When you're reading through an introductory tutorial and it's throwing maps and greps and all sorts of other strangely named fuctions at you, it gets confusing. References and other such intermediate concepts seem to pop up frequently in early Perl programming lessons as well, whereas they remain mostly invisible (for most intents and purposes) in python.
- If you learn a different language now, and put off learning Perl 6 until it is somewhat stable, you'll benefit from being able to compare the languages and choose the most suitable one for each task. You'll also avoid the Paul Graham blind advocate syndrome(</cheapshot>;-). It also looks good on a resume.
- Python is a lot closer to certain other Large Corporate Languages (that shall remained unnamed) and will make learning such languages much easier. It will enable you to easily branch off and learn such languages if the need arises.
So that's some of my reasoning, feel free to flame away now :).
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
|
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.