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":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.