7 ms·
During a later period (early 2000's) Perl was the only scripting language with good Unicode support, including inside regular expressions, which was revolutiona
by idlewords 3y ago
During 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.
- silvestrov 3y ago1998 is too late, it was all over. PHP was used on over 50k sites by mid-1997. https://ifj.edu.pl/private/krawczyk/php/intro-history.html https://ifj.edu.pl/private/krawczyk/php/intro-history.html Netscape Navigator was released late 1994, so this was the point of time where perl developers should have seen the light.
- justinator 3y ago>We chose the immediate benefits for Perl 5. Well, I thank you. Is there a summary of what Tom Christensen did? I hold him up pretty high when it comes to Perl lore. I don't know from what you wrote if he's the hero or villain in this case (and if you don't remember that's fine: ancient history)
- btilly 3y agoEssentially Tom was both knowledgeable and abrasive to an extreme. Technically he was brilliant and a valued asset. But socially he was a center of conflict. And the result was that Perl 5 development ground to a halt and other people left. I don't know everything that Larry did about the situation. But it was a situation that everyone on p5p was painfully aware of at the time.
- lioeters 3y agoOn the "cup throwing incident": https://en.wikibooks.org/wiki/Raku_Programming/Perl_History#Intermission:_The_Jon_Orwant_Mug-Throwing_Incident_in_2000 https://en.wikibooks.org/wiki/Raku_Programming/Perl_History#...
- 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. :)