Contrary to some peoples beliefs, there is no "wrong" first language.
The only time a first language is "wrong" is when it's chosen to accomplish
a task that it isn't suitable for. For instance, if you're going to be
writing Linux kernel code, Perl *is* the wrong choice.
For decades, there have been people who say "Oh if you learn that language
first, you'll never be able to write decent code for the rest of your life."
BASIC was one of the earlier culprits of that thinking. BASIC, like most
languages, has it's time and place. Under Windows, for example, you can
prototype a GUI faster in Visual Basic than Perl/TK, and it will look more
like a Windows application.
Different languages have different strengths and weaknesses. One of the skills
you should have as a programmer is knowing several language, and know which one to
use when. Perl is an excellent general purpose langage, and especially strong
in text processing. Forth, on the other hand, has none of the intrinsic string
handling that Perl has, but it's a lot smaller and faster (complete Forth interpeters
WITH editors have been done in 4K of memory). 'C' is more suitable for operating
system work, and assembly is the tool for when you really need get down to the
bare metal.
Learn Perl, but not only Perl. Learn 'C', Java, and a few others. Know when
to use them, and don't become emotionally attached to a language. Learn how
to implement common algorithms in all the languages you learn. Often you'll
see how to write better code in one language by playing with another.
Perl can let you develop sloppy habits. So can every other language. As I like
to say periodically "You can write Fortran in any language". Don't condemn languages
you haven't used (except for COBOL...). They were all developed for a reason, and
have all certain strengths. Don't sneer at Visual Basic because it's BASIC. More
interactive production applications ship in VB than in Perl (Perl is not really good
for writing word processors and spreadsheets).
I think you see the point I'm driving at. Perl is as good a first language as any. It
will allow you to rapidly express your concepts, there's a huge base of user written
modules, and there's a lot of information available (witness perlmonks.org. Tried
to find COBOLmonks.org lately?) But it's not the only language, and it's not always
the right language.
--Chris
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.