Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

...because it's holding the entire internet together?


"because it's holding the entire internet together?"

Could someone explain what this means in some detail? I hear this all the time but I could never make any sense out of it. Sure once upon a time perl was the best way to get cgi scripts running and do some web programming. Other than this piece of history, any specific examples of the "holding the internet together" property perl is supposed to have? What part of critical internet infrastructure depends on perl?

I am no networking expert but it seems to me that a lot of the infrastructure (apache, tcp/ip stacks etc) is written in C. How (specifically) does perl hold the internet together any more than any other scripting language? Or is this jusr something perl aficionados tell each other ?


I think you just answered your own question. I'd say just about every Unix box on the planet has Perl holding it together somewhere in there. What you've asked is essentially like asking "How does mortar hold buildings together any more than bricks, steel I-beams, or roofing?"

These things are equally important, and yes you could probably find a substitute, but why?


"What you've asked is essentially like asking "How does mortar hold buildings together any more than bricks, steel I-beams, or roofing?"

Argument by metaphor is a lazy device. I don't see any specific "mortar like" virtues that perl has but other common scripting languages don't. In this metaphor I guess C Code would be the "bricks and steel beams".

Why can't I put a unix box together without perl on it? Is there any specific piece of perl code that has to be on a unix box to enable it to work as an internet server or router? Is there a piece of code that has to be present on a Unix box for me to deploy say Apache or for dns to work? Honest question. Looking for concrete answers.

What specifically does perl do to "hold the internet together" today?

As an aside, I remember some COBOL programmers saying COBOL (running on mainframes) underlies all business on the internet and so COBOL was the real "internet commerce " language. Sure, you can say it and it can be justified by a lot of convolutions and narrowing of vision, but the truth seems to be that if it ever was so critical it is (a) an accident of history and (b) getting less true with every passing day.

I suspect (but am willing to be corrected) that perl is not indispensable to the internet any more (if it ever was).


The phrase "Perl holds the internet together" was coined by analogy with Perl's widespread use as a glue language. You've interpreted it too literally. It doesn't mean that you can't set up a router or another piece of Internet infrastructure without using Perl.

It means that Perl is used in a lot of unexpected places, and that a lot of critical things are "held together" by Perl. Even if you think your website is running on Java, some systems administrator probably has a cronjob written in Perl critical to its operation.


"It means that Perl is used in a lot of unexpected places, and that a lot of critical things are "held together" by Perl. Even if you think your website is running on Java, some systems administrator probably has a cronjob written in Perl critical to its operation."

In the above sentence replace Perl with C/C++/awk/lua/Python/Ruby/almost-any-language and it makes as much sense. Which is probably another indicator that there is nothing particularly perl specific about "holding together the internet". If anything "holds together the internet" it is the (language independent) protocols that do it.


This whole thread is a joke that's gone over your head. "Perl is the glue that binds the web together" (or variants thereof) is an old pun on how Perl often gets used. Not so much to write large systems (as is the case with C/C++/..) but as a glue layer to stitch them together.


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


Good question. I don't have a good answer, but my guess is that it refers to the cgi scripts that use to prevail before and also to all the scripts that every sys admins have written to make their job easier. At one point Perl was called "The duct tape of the internet", I guess referring to all the small scripts tying things together.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: