Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Let me start with a potentially contraversial question: Will you really be studying Computer Science at a university, or just doing a "learn to program" course at a technical college. Sorry to appear elitist here, but computer science is not about cutting code in this year's language fad.

The essence of a degree in computer science is the second word in the course title - science. I was told once that the purpose of a university education is that the uiversity teaches you how to learn. You can then apply that knowledge to teach yourself other skills.

Let me expand on this. Those of us that studied computer science in the 1970's were taught Fortran, Cobol, Pascal, Algol, or C; and maybe APL or Simula, or some of the more esoteric languages. My first programming language was Fortran IV, my second was Pascal, my third C. DEC PDP-11 assembler was thrown in for good measure. What was the most important thing imparted to me was to approach a programming situation as an analysis situation. How to look for the real requirements. How to break the overall problem into discrete elements. How to use data structures, how to design algorithms. Somewhere along the way was formal grammars, lexical analysis, compiler design, Chomsky classification. Operating system theory - taught by one of the early Unix gurus, John Lions.

The result is, using that foundation that a good computer science education gives, you can continue to update your technical skills as new languages and technologies come and go. I have taught myself other languages, including Perl. I am sure there are many new things to learn in the coming years.

The fact that you know a modern language is a definite plus, since you understand how to design and structure programs. You will - or you should, at least - learn other programming languages as part of your studies. Approach each new language with an open mind. Each language will have some elements that you will find clumsy compared to Perl, each may approach design situations from a different perspective, each many have aspects that are superior to Perl.

You will have an edge over people with no programming language experience, if you use your knowledge correctly. You will not have to waste time understanding basic concepts (variable types, data structures, flow control, structured programming, and so on). You already know how to design a program that will be easy to maintain, easy to test and debug. But don't waste your energy saying "this would be so much easier if I did it in Perl". Spend your time thinking about why there are differences, and what aspects of various languages suit particular applications.

To sum up, Perl may well be the "swiss army penknife" in the developer's tool set (or was that swiss army chainsaw?). However, just as in any good toolbox, there are specialised tools - well honed chisels, allen keys, taps and dies - that are designed for only one job, but do that job to perfection; so you will need additional specialised tools within your knowledge set. What you should get from your university educations is not just the ability to handle some of these tools - but knowing what tool to use in a particular situation, and how to learn to use new tools as the need arises.

Update: some spelling mistakes corrected. Thanks Albannach


In reply to Re: Does Knowing Perl Help or Hinder Learning another Language by Maclir
in thread Does Knowing Perl Help or Hinder Learning another Language by dru145

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2024-04-26 05:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found