Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: RFC: Perl Learning Plan

by Leudwinus (Scribe)
on Nov 19, 2020 at 01:49 UTC ( #11123810=note: print w/replies, xml ) Need Help??

in reply to RFC: Perl Learning Plan

I am still a novice programmer myself (I do this as a hobby) and have dabbled in a number of different languages, Perl being my latest infatuation. Part of me feels that I should have followed your prescription to assiduously understand the foundation of each language Iíve flirted with to really master it.

But alas, that doesnít work for me as I donít have the patience.

For me, to learn and appreciate a language, I have to use it to solve a problem, even if its a contrived one such as the Project Euler challenges, the bioinformatics problems on Rosalind, or, hopefully later this December, the next installment of Advent of Code. The same approach applies whether the language Iím learning is Perl or Brazilian Portuguese. Thatís the only way I can retain my motivation to keep going.

Having said that, everyone learns differently so Iíd be very interested in hearing how your journey progresses so please keep us updated. Good luck!

Replies are listed 'Best First'.
Re^2: RFC: Perl Learning Plan
by Leitz (Scribe) on Nov 19, 2020 at 11:35 UTC

    Leudwinus, I agree with you; "learning by doing" is the only way to become a programmer. I wrote a blog post on "The Best Programming Language". It was about finding the best language for an individual; we have different problem sets to solve and different brains to solve them with. "The Best Language" for each of us is the one that inspires us to code more, so that we learn more.

    There are really two questions that have to be dealt with when we approach a new language. You hit on the first one; "How do I learn?" I tend to read a chapter of a book, and they write very small toy programs. How do I build a hash? How do I change a value in it? Later on I look at how to merge two hashes or call them by reference. When I get going, I'll start a personal project to accomplish something that is important to me. That pushes me to learn more and to keep programming. The code will be pretty ugly and need a lot of work, but it is a learning tool.

    My list helps with the second question, "What do I learn?" I often try to take on things I just cannot comprehend. Breaking down the basics into a list lets me focus on learning those basics, one at a time. I can then go back to the big problem better prepared.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11123810]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (1)
As of 2023-06-06 02:44 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (26 votes). Check out past polls.