Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: What does it take to LEARN Perl?

by Maclir (Curate)
on Jun 08, 2001 at 03:10 UTC ( [id://86800]=note: print w/replies, xml ) Need Help??


in reply to What does it take to LEARN Perl?

Firstly - a well thought out meditation. worth at least a double ++. One could make those criteria applicable to learning any computer programming language.

One thing that tends to be glossed over these days, in the great rush to provide more and more programmers and developers though, is a distinction between what I would call a "programming technicial" and a "computer scientist". There is a growing unmet demand for programmers who can cut code using whatever language is "flavour of the month" - at the moment that is Java, but it was Visual Basic, and before that Turbo Pascal, CICS Cobol, IBM 360 Assembler . . . the list goes on. There are a wide range of educational instutions, from traditional universities, technical colleges, and commercial training organisations that are willing to teach the technical skills in these languages, and give people a piece of paper saying they are a "Certified Professional Code-Cutter" in 3 months or 6 months or a year.

The same applies on the system administration and network support side. Look at all the "certifications" - in Netware, MCSE, Cisco; whatever people thing can give their product an edge, or provide an opportunity to sell training.

But many of these people end up as the "cannon fodder" of the industry. When technology passes them by, they are left with their technical skills in a now unwanted product. So, what skills and attributes do I believe should be part of a good computer scientist's makeup?

  • A good general knowledge. Not just in computer and technology matters, but truly general. I have had to develop systems for radio communication engineers, lawyers, government and military agencies, land and property valuers, bus company operators, natural resource managers, finance and accounting types and the list goes on. You need to be able to understand their business, and to be able to speak at their level.
  • An analytical approach to problem solving. A good grounding in mathematics often helps here, or other pure science areas - not that you need to understand the complexities of n-dimensional integration, or particle interaction in atomic nucleii - but the discipline of the scientific method, and its approach to problem solving and analysis is important.
  • Good oral and written communication. More than just the high literary skills nysus mentioned. You have to be able to write reports, documentation, and other material that prople can understand. Sooner or later you will have to write proposals to convince people that what you have or want to do is the best approach. You need to be able to talk to people, either one to one or in a group situation, to clearly express your ideas without upsetting people. Listening skills are essential too - listening and understanding. Read up on body language and non-verbal communication.
  • An understanding of algorithms. Read Knuth's books. (sorry, no reference available here) Despite being written in the late 1960's (and his code examples are in a very simple machine language) they still apply today.
None of these are Perl specific, of course. But in my view, a person with these traits, with skills in one or two programming languages, is in the long term far more valuable than a code cutter who only knows today's popular language.

Replies are listed 'Best First'.
Re: Re: What does it take to LEARN Perl?
by penguinfuz (Pilgrim) on May 30, 2002 at 19:25 UTC
    Maclir wrote:
    An analytical approach to problem solving. A good grounding in mathematics often helps here, or other pure science areas... but the discipline of the scientific method, and its approach to problem solving and analysis...

    Apart from "formal" education, can you recommend a method to develope and exercise this type of thinking? I often feel as though a proper analytical thought process is something I lack, which makes learning Perl difficult.

    I understand that practice is essential so I continue writing everything I can, (which turns out pretty good sometimes) but I can't help to think the process is delayed by my "haphazard" approach to problem solving.
      Wow - a blast from the past. My personal belief is that having "an analytical approach to problem solving" is an inate ability. Just like some people have a natural ability for art, or music, or languages, so is the ability to logically approach problems. This can be improved by a good education in science and mathematics - not for the subject matter that is taught, but in the approach to problems. As well, look at some of the books on design theory - Knuth's books are a good (but very academic) start - and structured analysis.
        maclir wrote: Wow - a blast from the past.
        You're right, I didn't notice the date. ;)

        My personal belief is that having "an analytical approach to problem solving" is an inate ability. Just like some people have a natural ability for art, or music, or languages, so is the ability to logically approach problems.
        Yup, I guess I believe this too, but I try not to. I fight it and I do make progress, just not at the rate I feel I should.

        This can be improved by a good education in science and mathematics...
        Unfortunately I really have neither, education was never too high on the list of priorities when I was younger, and I suffer for it now.

        ...not for the subject matter that is taught, but in the approach to problems.
        My approach to problems is what I try to refine each day. My thought process races across the board, I tend to work a little on one project and move to the next and then to the next, etc... If I can actually focus on ONE problem for whole day, I will sort it -- AND be aware of the knowlege I just gained. The trouble is retaining that focus. =')

        ...look at some of the books on design theory - Knuth's books are a good (but very academic) start - and structured analysis.
        I will do that. Thank you very much for the advise.

        Cheers.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2024-03-29 11:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found