Perl is not taught in colleges because it's not a good teaching language. You learn a programming language at school because it demonstrates techniques and features that the teacher thinks you need to know about. Java, C, assembler, Prolog, Scheme, all of those demonstrate certain features clearly and so are useful pedagogical tools. Perl does not, and so is not.
Re^3: Are we a dying breed?
Replies are listed 'Best First'.
"techniques and features that the teacher thinks you need to know about"
Unless we are saying that all those people made that same decision independently were wrong and stupid, otherwise you have just provided very good hint why Perl is dying. It was (notice the past tense I am using) not killed by buzz words, but killed its lack of structure and feature.
New programmers, including a big chunk of those in college/university, need discipline more than they need Perl. Not all of them can find discipline on their own.
College tends to teach discipline first (Fortran, Pascal, Java), and then cover more freeform languages like C, Perl, and Lisp.
I can imagine how many CS dropouts there would be if the first language taught was whitespace, or even Conway's Game of Life (yes, it seems to be Turing complete, if exasperatingly large and slow).
Last I checked, they don't teach sex in college either (well, not in most of them, anyway), but sex isn't dying out. And they don't not teach sex because there's something wrong with sex -- there are other reasons^Wexcuses not to teach it.
...lack of structure and feature...
Perl has plenty of structure. Perhaps "lack of structure" is confused with "TIMTOWTDI". I would say Java has structure -- too much for my liking. When a language forces me to write constructs in a certain way because the language designer thought it was a universal requirement, ...well, let's just say I have a requirement for said language designer. Imagine a sculptor's frustration if s/he was required to work only with bricks -- stone just "didn't have enough structure", at least, according to some camps.
Features? What is Perl missing that some other language has in spades? Can it be added in? Do we want it in? I'm aware of certain classes of tasks it does worse at than certain other languages, and how to work around that. I'm also aware of the accelerated development cycle that Perl lends itself to over most other languages.
Finally, you left out the low volume of new books and other material, compared with "flavor of the day" C, PHP, and anything Micro$oft. M$ is particularly bad, because they will fund book efforts so they can sell more software. What bean counter in his right mind would choose to use software where the primary book titles from 10 years ago are still valid purchases? Why not choose some hot new language based on the number of new releases on Amazon? At least there will be a lot of entry level programmers, right? (And entry level programmers get paid less than experts, right?)
(I must admit, I saw little reason to buy the last 2 editions of the camel book, since my first edition still does everything I need. Of course, I might want something that's not more dog-eared than a flea circus train wreck for the authors to sign at the next barn-raising.)
I don't recall my C books being that useful. Heck, I have to have a special book just to find out how to run C on my machine -- the college textbook I have didn't tell me that!!!
If Perl or any other language dies off, it will be because of apathy and ignorance, not passion. But I do know, and I do care.
Quantum Mechanics: The dreams stuff is made of
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
I was arguing about why perl was not taught and not about whether it is dieing. The two are very different. See also: making a nice cup of tea. Which is not taught at schools and shows no signs of dieing out.