5 ms·
I know people dump on Perl all the time, I know I do. But it was a critical part of computing history. Perl did a tremendous job of bridging the gap between s
by Scubabear68 3y ago
I know people dump on Perl all the time, I know I do.
But it was a critical part of computing history. Perl did a tremendous job of bridging the gap between shell commands and shell scripts and “big languages”. Way back in the early 90’s I took a complicated shell script that took about 2 hours to run this huge text processing job , rewrote it in Perl and it took about 20 seconds, and was more maintainable to boot.
It really helped boost software development in the 90s, even pre-CGI script.
The Perl source itself was also very interesting, with numerous optimizations to make it fast (again, for its time).
What killed it were the never ending eccentricities you ran into, endless foot guns, and of course Perl 6 never being delivered.
But it really was the weird shit that did it in.
- idlewords 3y agoDuring a later period (early 2000's) Perl was the only scripting language with good Unicode support, including inside regular expressions, which was revolutionary at the time. There was so much cool stuff you could only do in Perl, and then like you say it all ran into the brick wall of Perl 6.
- eduction 3y agoYes and Perl’s Unicode transition between 5.5 and 5.6* was exemplary. There were some speed bumps but generally old stuff continued to work and Unicode support could be added in a straightforward manner. In contrast to how python 3 handled it (not trying to start a language war, these days I prefer python overall). I suspect Larry Wall just understood text processing much more deeply than Guido (makes sense since he is a linguist and Perl was always more text oriented). *technically it was 5.005 or something to 5.6 because they decided to drop a zero or two
- btilly 3y agoThe brick wall of Perl 6 was itself a solution to an internal nightmare inside of core Perl development. Particularly around conflicts involving Tom Christensen, which caused no progress to be made on Perl 5.6.1 despite major bugs in 5.6.0. For example: my $x = 5 + 6; $x .= "0"; print $x + 5; # 16, not 115. The result in the year 2000 was a famous cup throwing incident by Jon Orwant. And Perl 6 was a plan to separate those who wanted to create their ideal language (Perl 6) from those who wanted to maintain existing Perl. And it worked, sort of, for a few years. I was on the Perl Grant Committee at the moment that killed Perl 6 in my opinion. We had a choice of 2 grants from Nicholas Clark that we could fund during 2006. One brought a lot of immediate benefits to Perl (Unicode fixes, reduced memory usage, etc), and the other was to get Ponie to the point where someone other than a core Perl developer could work on Perl 6. We chose the immediate benefits for Perl 5.
- silvestrov 3y agoIt also seems like the core perl developers did not want to acknowledge the importance of web/html. They did not add support for encoding/decoding html entities or URLs were added. No standard modules for this. No easy method of making html pages from a URL request besides running as CGI. This made perl lose to php which made it very easy to make a simple "Hello, world" page. php would never had any traction if perl developers had made web support high priority.
- ykonstant 3y agoDoes Perl now support web development and if so, to what extent? Can you now do with Perl 5 what you can do with PHP?
- vague_irssi 3y agoNot like php, no. But perl has loads of excellent web frameworks(mojolicious, dancer, et al) and there is webperl.js which tries to bridge the gap to an extent, though I don't know if anyone uses it and what the quality of it is
- thesuperbigfrog 3y agoPerl Mason does web templating similar to PHP: http://www.masonhq.com/ http://www.masonhq.com/ For years Amazon.com used Perl Mason.
- btilly 3y agoIt is ludicrous to claim that Perl didn't support web development. From Amazon to eToys to Citysearch to Stamps.com, big dot coms were all based on Perl. Big PHP shops like Facebook, and PHP projects like WordPress, came in a later development generation for the simple reason that PHP made it easy to get started on shared webhosting.
- justinator 3y ago>They did not add support for encoding/decoding html entities or URLs were added. It's certainly not in core, but look how PHP flubbed that up (html_entity_decode, htmlspecialchars_decode, htmlentities). >No standard modules for this. Obviously there are, https://metacpan.org/pod/HTML::Entities https://metacpan.org/pod/HTML::Entities The changelog goes back only to 1998, where it states, 2.14 1998-04-01 HTML:: modules unbundled from libwww-perl-5.22 That wasn't a hurtle to developers, but certainly to end users who did want to just throw a php script up and have it work.
- mcswell 3y agoPerl still does have the best Unicode support, especially for regex's. In comparison, grep has imitation Unicode support (the -P "Perl" flag helps, but it's still nowhere near as powerful as Perl regex's). Python's standard regex library, re, is better than grep's regex's, but still not as good as Perl. Python also has a non-standard regex library, regex, in PyPi, which I think is as good as Perl. And yes, I deal with non-ASCII Unicode every day.
- burntsushi 3y agoCan you share some examples of Perl regex Unicode support that you make use of in real programs? Examples of stuff that can't be done (or easily be done) in PCRE would be awesome. :)
- thesuperbigfrog 3y ago>> What killed it were the never ending eccentricities you ran into, endless foot guns, and of course Perl 6 never being delivered. >> But it really was the weird shit that did it in. The current state of Perl 5 for Python fans: ---- Perl 5: I'm not dead! TIOBE: 'Ere! 'E says 'e's not dead! Internet: Yes he is. Perl 5: I'm not! TIOBE: 'E isn't? Internet: Well... he will be soon-- he's very ill... Perl 5: I'm getting better! Internet: No you're not, you'll be stone dead in a moment. TIOBE: I can't take 'im off like that! It's against regulations! Perl 5: I don't want to go off the chart.... Internet: Oh, don't be such a baby. TIOBE: I can't take 'im off.... Perl 5: I feel fine! Internet: Well, do us a favor... TIOBE: I can't! Internet: Can you hang around a couple of minutes? He won't be long... TIOBE: No, gotta get to Reddit, they lost nine today. Internet: Well, when's your next round? TIOBE: Next year. Perl 5: I think I'll go for a walk.... Internet: You're not fooling anyone, you know-- (to TIOBE) Look, isn't there something you can do...? Perl 5: I feel happy! I feel happy! ---- But seriously, Perl is not dead yet. It is usually installed by default on most Unix and Linux systems. It also rides along with most MinGW-based toolkits like Git for Windows. If you do software development, there is a good chance you might have Perl installed and not even know it. If you are on a Linux or Unix system try running 'perl --version' to see what version you have installed. I would be very surprised if it is not there. Some people like to make fun of it despite its wide-spread use and utility. Most of them probably know little to nothing about Perl and have not written or maintained any Perl code. There is a good chance that they are using Perl code without knowing it.
- Scubabear68 3y agoMy version of “dead” here means rarely used for new development. I relied on it for years, and even I finally gave up and do script level work in Python instead. Particularly because the many CPAN dependencies are aging and starting to rot from neglect.