4 ms·
I'll probably get downvoted for this. I know Perl very well which is why I don't use it. I disagree with you... If UNIX was a schizophrenic, paranoid, indecis
by bwarp 15y ago
I'll probably get downvoted for this. I know Perl very well which is why I don't use it.
I disagree with you...
If UNIX was a schizophrenic, paranoid, indecisive, eclectic, personality-disorder equipped operating system, then you'd be right but it's not. It's pretty well thought out (I exclude Linux from that which is a right mess).
Perl is not a natural evolution of, but a putrid mishmash of shell, sed, awk, tr, cat etc bundled into an incongruous monolithic blob with groupies from the cult of CPAN knocking off the edge cases left right and centre when it doesn't do what you want (using bits of C in some cases!!).
Perl is not the UNIX philosophy of small tools and loose coupling. It's entirely the opposite: A monolithic turd that just won't flush.
DuckDuckGo was probably built in Perl beause the individual who built it probably knew Perl. You could build DDG in C# or Java if you really wanted! (and it'd spend less time waiting for the Perl interpreter to tick).
- gettygermany 15y agoIf you use Perl in CGI only then you seem to misunderstand lots of stuff. The Perl interpreter is loaded once per FastCGI task, so noone waits.... its the startup (which is then 100times faster against C# or Java, but whatever, not the topic). So please, dont compare Apples with Pears.
- bwarp 15y agoI rarely use Perl CGI. I haven't since about 2002. Regarding C# and Java startup. It's not an issue. You can warm start appdomains/JVMs. We do this. Once it's running, both Java and C# run rings around most things.
- kamaal 15y agoOne can build anything in any language(considering the mathematical possibility). So by this definition we can all go back to building in Nand gates. But that is not what its all about. Languages get used because they do a certain job well. Perl does, what it was designed to do very well. That is precisely what Larry wall's water bed theory of complexity is about(http://en.wikipedia.org/wiki/Waterbed_theory http://en.wikipedia.org/wiki/Waterbed_theory). You have a problem with CPAN? With CPAN, really? A ecosystem that is considered as a killer feature which no other language has managed to emulate so far? And Perl is monolithic???? Really? Are you aware what you are talking about. Are you just debating for debating's sake? Perl is probably the most extensible and flexible languages that is out there. That is what enables modules like Devel::Declare(http://search.cpan.org/~zefram/Devel-Declare-0.006011/lib/Devel/Declare.pm http://search.cpan.org/~zefram/Devel-Declare-0.006011/lib/De...) to be written. Which is what enable gems like Moose to be built(http://search.cpan.org/search?query=Moose&mode=all http://search.cpan.org/search?query=Moose&mode=all) Outside Lisp, Perl is probably the most flexible and most extensible language that exist. The entire CPAN is a standing proof of that. Have you read Mark Jason Dominus's Higher order Perl, Have you read chromatic's Modern Perl? When you talk of elegance and power? You call Perl a mess of a hundred text processing utilities. Can you show me one language that does regular expressions as well as Perl? Can you show me one language that handles Unicode better than Perl? Every other language I know creates huge spaghetti mess for even simple things like opening files and matching regular expressions. Have you used things like Parse::RecDescent?? Perl also gave a lot of other beautiful things to the world. Thinks like the Artistic License. Not just that Perl is the only language community that has had more syntax based feature additions in the recent past than the rest. They have managed to release great features in the recent past.
- bwarp 15y agoCPAN is a mess of poor maintenance and poor documentation. It's also painfully coupled to everything. Perl is monolithic. There is too much in the core. I've read large chunks of HOP whilst tryingand I just can see how some things are pooly shoehorned into the language. Some of the tricks with the reference semantics are horrible. Java and C# do Regex and Unicode better than Perl. Go does unicode better than Perl. The API in C# is not much more verbose and the RE implementation is significantly faster. It's also much easier to unit test. Perl has too much syntax - so much so it doesn't fit in your head. I think Perl has a nostalgic attraction but that is it.
- kamaal 15y agoThere is too much in Perl core but Python with all those batteries is good, right? Oh, C'mon. Why make your hypocrisy so apparent? Java and C# do Regex and Unicode better? What was this? Java and C# have Perl compatible regular expressions(PCRE) I don't really understand what you mean when you say Java and C# do Regexes better than Perl. Because they are copied from Perl. Besides a single Regex in those languages comes wrapped in layers and layers code surrounded by 10's of lines of exception handling mechanisms. Perl is the only language which deals with such use cases sanely. Perl was the first general purpose scripting language which had first class support regular expressions. Associative arrays. And you call that shoe horning? What about all other scripting language that added the same thing. Python doesn't even have multi line lambda's. Ruby make OO one true way of programming by its very language design. Let me tell you what problem you have. You hate Perl for some reason. You are just looking for reasons to justify that. While none exist. As I said like it or not Perl is here to stay for decades. Because no matter how you bash, troll and whine about Perl. Its utility is supreme in certain areas which is very difficult to beat.
- bwarp 15y agoPerl is not the root of all things. I think you'll find computer science got there first. As for associative arrays and regular expressions, I think Perl blatantly nicked those from awk! The problem I have is that Perl is the "jack of all trades, yet the master of none". I'm fed up of the Perl monk(|ie)s preaching like religious nutbags every 5 minutes. I'm tired of hearing it. I'm tired of oh perl is jesus' sandals. It's a WAS not an IS.