8 ms·
Happened to me, had to choose a language to write a web crawler in ended up with Python (this was 5 or 6 years ago.) We got a contractor in who was a Perl guru
by monk_e_boy 11y ago
Happened to me, had to choose a language to write a web crawler in ended up with Python (this was 5 or 6 years ago.)
We got a contractor in who was a Perl guru, he wrote one of the popular web frameworks but even he couldn't put forwards a good case for using it over PHP.
And now in the company my brother works for (a cloud hosting provider) they are currently switching from Perl to Python.
- Mithaldu 11y ago> one of the popular web frameworks Which?
- gahahaha 11y agoPretty sure the vagueness was intentional so as not to identify him.
- monk_e_boy 11y agoPlus I can't remember cos it was a conversation we had 5 years ago. We talked over MVC and open source (we both had open source projects) PHP, Perl, C# and Python weighing up the best option to write all the code in. Ended up using Python. It used a multi threaded library and crashed every so often with all sorts of weird errors. Never got to the bottom of it.
- Natsu 11y agoI'd have thought that the security record of PHP would give Perl the edge, but perhaps that wasn't evaluated.
- mgbmtl 11y agoI don't know.. this presentation is pretty discouraging: https://media.ccc.de/v/31c3_-_6243_-_en_-_saal_1_-_201412292200_-_the_perl_jam_exploiting_a_20_year-old_vulnerability_-_netanel_rubin https://media.ccc.de/v/31c3_-_6243_-_en_-_saal_1_-_201412292... The track record for PHP in recent years has been pretty good.
- kbenson 11y agoThat was covered fairly extensively here[1], and there's some problems with that talk. First and foremost, the modules he's referring to are either not core, or deprecated (CGI). It's really more a case of poor programmer behavior and slightly confusing behavior in a once core (and long known to be problematic and avoided) recently (at the time) deprecated core module than a language problem. 1: https://news.ycombinator.com/item?id=8813479 https://news.ycombinator.com/item?id=8813479
- singingfish 11y agoargh too many parentheses in your reply. Short answer, need to develop on perl/sharedhosting fast? [pull this trick](https://www.reddit.com/r/perl/comments/3xb6xz/neat_trick_for_emulating_an_old_crufty_shared/ https://www.reddit.com/r/perl/comments/3xb6xz/neat_trick_for...).
- visarga 11y agoI too have to learn Python for the machine learning libraries. CPAN has very little ML.
- singingfish 11y agoSpeaking as the primary author of a book in one of the popular perl web frameworks (who is having difficulty doing stuff other than perl because a. my skills in perl are too much in demand, and b. Because for most of my normal work I haven't found anything perl can't do as easily or easier than other tools yet) here's my semi-considered opinion. Meh, all the dynamic languages are basically the same. They're all basically things that manpipulate strings and C pointers. For perl/python/ruby/js here's what I'd sort of recommend: * Pick from your team's strength, unless: * Lots of turnkey logic, code quality and debug tools are not a priority, and you want to be able to hire fast and cheap: PHP. * Lots of turnkey logic, per-performance isn't a problem and you want some higher order programming capability: Ruby. * You want to manage a java-like large team for not so trivial logic, and you prioritise uniformity over expressivity. Python. Also python is a good environment for academic work as it helps the academic programmers not shoot themselves in the foot so much and academic code is a mess. Which is why python is such a good extension language for other tools. * Async greenfield stuff where you don't need to worry about external libraries much: javascript. Also the only game in town for web front ends (plus its transpiling friends). Javascript is like a syntatically impoverished perl in this regard. * You've got a whole bunch of mess in business logic and/or systems logic that you need to encapsulate, and you've got a small highly capable team who want to prioritise expressivity over uniformity. Perl excels here. So does python, but it'll make you do even more horrible things papering over the mess. Regarding the last point, I believe if it reaches a tipping point perl 6 will be a good thing for async, multicore and parsing related stuff, and should be long-term productive and reduce the requirement for having as highly capable and a disciplined team that is really a requirement for non-trivial perl5 code bases. Also perl5 is second to none for programming language back compat. I had a decent sized non-trivial project I'd written for internal (research) purposes, then neglected for several years. Then I had to look at the running code again. I'd been through several minor OS upgrades, moved to a completely different OS and gone through at least three major versions of perl. Aside from a couple of missing CPAN modules that I had forgotten about in the Makefile.PL, everything was fine out of the box.
- amenod 11y agoI have a nagging feeling that server side JavaScript will soon become the new PHP. It is getting more and more popular among not-so-good programmers, and given its loose syntax I think it will lead to disastrous code. Not to mention that ECMA is working toward ADDING new feature to the language instead of deprecating some obscure ones, which would make the language easier to use. Of course, PHP makers made their share of mistakes with their decisions - register_globals, safe_mode (which was not), inconsistent function naming in standard libs, myriad of weird bugs (like syntax error (still) throwing HTTP response 200),...