5plit_func has asked for the wisdom of the Perl Monks concerning the following question:
Hello, all perlmonks ill say im pretty new on this site but have been learning Perl for the last few years having long breaks in between which makes me feel like i have not learn't any thing about the language. What i am in search of is a practical learn approach to mastering perl and other technologies i wish to learn. any one with such answers should kindly point me in the right direction. many thanks in advance.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: What is the best way to master perl
by blue_cowdawg (Monsignor) on Dec 04, 2012 at 15:32 UTC | |
The real question is "What is the best way to learn programming in insert language here."
Hear (or reading) that question reminds me of an old joke: To my way of thinking languages are just syntax. Programming discipline is more important to me at least than syntax. Regardless of the programming language the best way to master it as space_monk points out is to spend lots of time writing code. Learning programming technique independent of the language and applying those techniques to the language at hand requires practice. And lots of it. I've been writing scripts and web applications in Perl since 1989. During that time period I've also been writing in FORTRAN, C, C++, Rocky Mountain Basic, X86 Assembler, Pascal, MC68xxx assembler, Java, JavaScript and I'm sure I've forgotten some languages. Once you have the basic techniques down you can write any application in any language. Some languages just make it easier to write certain applications. One one hand I'd hate to write a device driver in Perl (it can be done!) and on the other hand I'd hate to have to write a parser in assembly language. I'm currently writing software to perform temperature regulation of a mash tun during grain mashing to make beer. It's being written in C++ against an Arduino embedded processor. I chose the Arduino because of the built in "sensors" that make my life easier as well as the fact there is a lot of public domain stuff out there to do what I need so I don't have to reinvent the wheel. Sort of analogous to CPAN. Happy programming! Peter L. Berghold -- Unix Professional Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg | [reply] |
by bulk88 (Priest) on Dec 04, 2012 at 20:34 UTC | |
| [reply] |
by blue_cowdawg (Monsignor) on Dec 04, 2012 at 21:27 UTC | |
Never said it wasn't possible. But to stretch an analogy I could probably put a screw into a board with some measure of success with a hammer clearly there are better tools designed for the job. I do remember in a McGiver style situation using a hammer and nail to "drill" a pilot hole for a screw, but I'd rather not do that on a normal basis. Peter L. Berghold -- Unix Professional Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg | [reply] |
by blue_cowdawg (Monsignor) on Dec 06, 2012 at 20:57 UTC | |
A trip down memory lane here: Closest I ever came to writing a driver in Perl was a while back when I used to use a EPROM burner that I got for free that didn't have the user software to go with it. I obtained a photocopy-of-a-photocopy-of-a-... you get the idea of the user's manual and it had the command protocol documented in its appendix. I wrote a UI of my own using Perl running on top of a pre-cursor to Cygwin on DOS and wrote a XS module to actually talk to the serial port on the burner. The Perl program used the XS module for the low level stuff passing commands and data to the XS module's methods and happily burning on to the EPROMs or dumping them or whatever I needed. Don't really use EPROMs any more and I gave the burner away along with the XT that I used to drive it. Getting XS to work was an education to say the least. Peter L. Berghold -- Unix Professional Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg | [reply] |
by ww (Archbishop) on Dec 06, 2012 at 21:24 UTC | |
by blue_cowdawg (Monsignor) on Dec 06, 2012 at 21:38 UTC | |
by space_monk (Chaplain) on Dec 05, 2012 at 10:13 UTC | |
You said "other than performance". Those are the magic words that govern the operation of most device drivers. Within reason, no-one cares if your Perl program takes a couple of extra seconds to generate that report/parse that text document, but if your device driver is making the rest of the system slow and unusable, noone is gonna be happy
A Monk aims to give answers to those who have none, and to learn from those who know more.
| [reply] |
Re: What is the best way to master perl
by eyepopslikeamosquito (Archbishop) on Dec 04, 2012 at 19:41 UTC | |
This sort of question gets asked a lot here: | [reply] |
Re: What is the best way to master perl
by space_monk (Chaplain) on Dec 04, 2012 at 15:08 UTC | |
Write lots of it and use any spare time and breaks browsing sites like this one to see how other people approach problems. Update/More For Perl, I've found PerlMonks is a useful way of keeping my hand in, and also seeing that other people solve problems in a different way from the way I would do it introduces me to novel concepts and the flexibility of the language. A skill left unused atrophies, so sites like this one are a great way to stay fresh.
A Monk aims to give answers to those who have none, and to learn from those who know more.
| [reply] |
by pvaldes (Chaplain) on Dec 04, 2012 at 17:50 UTC | |
| [reply] |
Re: What is the best way to master perl
by Athanasius (Archbishop) on Dec 04, 2012 at 16:47 UTC | |
Hello 5plit_func, and welcome to the Monastery! Two additional suggestions: Hope that helps, Athanasius <°(((>< contra mundum | [reply] |
Re: What is the best way to master perl
by sundialsvc4 (Abbot) on Dec 04, 2012 at 16:54 UTC | |
I like to learn languages by example. “Use The Source, Luke!” And you can find plenty of source just by looking through the CPAN package libraries that are already installed on your computer. The discipline of writing software is very much a thing that is learned by doing. Over the course of several years it will actually become language-agnostic: you will see the common threads among every language that you have ever used. (I find myself to be a student of languages, genuinely fascinated by their role as tools for solving problems, and the author of more than one.) But I also genuinely enjoy to this day the work that I do ... making “a very stupid, albeit very fast machine” do useful things for people. I still find that to be challenging and engaging. | |
Re: What is the best way to master perl (do your homework)
by Anonymous Monk on Dec 05, 2012 at 04:42 UTC | |
Do your homework (and read my whole node) and take good notes too! Surely you realize you're not the first to ask this question From my memory: Reading other people's modules and codes, What language should I learn? , Where Do I Go Next?, How to read CPAN documentation,Web Programming: For Beginners From davidos memory: Teach Yourself Programming in Ten Years From the flip side: Teaching Perl: http://perl-tutorial.org/, http://learnpythonthehardway.org/, Learning Perl the Hard Way, Why I Am Not A Java Programmer, What Perl Programmers Should Know About Java, Are there any Java texts assuming the user has a perl BG? From the search: ick, antiques :) ?node_id=3989;HIT=what%20best%20learn;re=N -> what is the best way to learn to program? remove stopword what :) ?node_id=3989;HIT=best%20learn;re=N
Found 17 nodes roughly between 2012-12-04 and 1999-10-04 (searched 100.00% of DB). where title contains all of "best", "learn" You can continue like that until you find all the best nodes relevant to your query a different stopword :) ?node_id=3989;HIT=how%20learn;re=N
Found 38 nodes roughly between 2012-12-04 and 1999-10-04 (searched 100.00% of DB). where title contains all of "how", "learn" There! | [reply] [d/l] |
Re: What is the best way to master perl
by grondilu (Friar) on Dec 04, 2012 at 19:21 UTC | |
Years ago I discovered Perl and I was fascinated enough to decide I had to learn it. So I printed all the manual pages and started reading them. The problem was that I did not own any computer at this time. So my method of learning was purely theoretical: it only consisted in reading books. I can tell you this method did not work. After a few months, I forgot most of what I thought I learnt. Later I also had to learn stupid things such as MS languages and other proprietary stuff. All very boring and tedious work/studies activities that distracted me away from interesting programming languages. It's only years later, quite recently actually, when I had my own computer with a free and open source operating system, and also when I had lots of free time and an internet connection, that I could "re-discover" perl and really start to learn it. Only then I could seriously start to learn it (and I still have much to learn). The difference was that I then had personal computing projects, stuff I could test my knowledge on. So I think that to learn a programming language, you must find a balance between theory and practice. Reading documentation is as important as doing some actual coding, preferably on a project you feel passionate about (it's better for motivation). I don't think I could tell anything else about this subject. I hope it'll be useful. | [reply] |
Re: What is the best way to master perl
by aitap (Curate) on Dec 04, 2012 at 16:15 UTC | |
Sorry if my advice was wrong.
| [reply] |