To answer your specific question, it isn't necessary. It's just another Turing-Complete language, right?
Perl was one of the first popular scripting languages out there to have well-integrated regex handling and was useful for programming purposes. Most old-school systems and network people not only know how to code their way out of a paper bag, but typically grew up with C and Perl as their two go-to languages. C when you needed speed above all else, and Perl when you needed the regex functionality.
While specific functions vary for any given environment, I can safely say that I've written all of these in Perl at one point or another:
- Crunching netflow data to make life easier for those who do capacity planning.
- Running glue scripts against a device database to generate the configs that go to open-source monitoring systems.
- Lexing SNMP data in order to generate a device-independent network configuration, and then turning around and "compiling" it to another target network device.
All of these could be re-written in python. I've done it. Yet, they're all written in Perl because that's what the people who "Run The Internet" historically have used.
In another generation, maybe Python will be the regex-heavy scripting language of choice. For right now though, I suppose the best answer is that that Perl holds the Internet together for historical reasons, because that's what got the job done.
" Most old-school systems and network people not only know how to code their way out of a paper bag, but typically grew up with C and Perl as their two go-to languages."
Which is probably why the "new school" systems programmers (many of whom also know how to program their way out of all kinds of bags) choose other scripting languages to go with C. They don't need to know perl any longer for all the tasks you laid out. Which is probably a good thing. The less dependence internet infrastructure has on specific languages the better.
As you correctly said "Perl holds the Internet together for http://redstate.com/historical reasons, " just as COBOL was the primary "business systems" language for a long time for historical reasons.
As someone pointed out above, when people talk about languages "going away" they don't mean that no one works on the language anymore, just that there are better alternatives these days.
Every time someone uses another language for what someone 10 years ago would have needed COBOL for, it fades a little, till there is only legacy codebases and its caretakers keeping the language alive.
I don't think it is that bad for Perl yet, but the trend seems to be in that direction, with more and more people using Python, Ruby (and even PHP) for the tasks Perl would have been the default choice historically.
Trends are funny, and don't only go in one direction. According to the admittedly flawed TIOBE index (see http://www.tiobe.com/index.php/content/paperinfo/tpci/index.... for verification), in the last year PHP, Python, and Ruby have all fallen, while Perl has increased.
Yeah, not what I would expect either. But Perl isn't as dead as people claim.
many of the "old school" also knew their way out of all kinds of bag and choose perl. Nobody needs to know (pick your language) but knowing perl has really helped me out in my long career in programming. You seem to be of the kind that does not like perl so are looking for the future where no one uses it .
If you think COBOL is only used in legacy code bases, every time you search for a hotel or Air tickets you are most probably interacting with a main frame system
Perl was one of the first popular scripting languages out there to have well-integrated regex handling and was useful for programming purposes. Most old-school systems and network people not only know how to code their way out of a paper bag, but typically grew up with C and Perl as their two go-to languages. C when you needed speed above all else, and Perl when you needed the regex functionality.
While specific functions vary for any given environment, I can safely say that I've written all of these in Perl at one point or another:
- Crunching netflow data to make life easier for those who do capacity planning.
- Running glue scripts against a device database to generate the configs that go to open-source monitoring systems.
- Lexing SNMP data in order to generate a device-independent network configuration, and then turning around and "compiling" it to another target network device.
All of these could be re-written in python. I've done it. Yet, they're all written in Perl because that's what the people who "Run The Internet" historically have used.
In another generation, maybe Python will be the regex-heavy scripting language of choice. For right now though, I suppose the best answer is that that Perl holds the Internet together for historical reasons, because that's what got the job done.