The article makes a good point. But, the title (and comments here) infer that there are a mountain of reasons why people don't use it. Is there a compelling argument against that mountain, or is this just a reminder that Ruby/Python/Closure/Scala communities would be well-served to try and improve in this area?
The worst problem with Perl as a language is hiring for a good Perl programmer. It's easy to hire a mediocre Perl programmer, mind you, sometimes even a mediocre programmer who's really good at Perl specifically and knows all the packaging tricks and whatnot so he can get through the interview before falling apart on the job, but really hard to find the good ones. It just doesn't have much mindshare at the moment (ug…
Why I Use Perl: Reliability
161–170 of 196 posts
Re: Why I Use Perl: Reliability
#162Earlier quoted context omitted.
The worst problem with Perl as a language is hiring for a good Perl programmer. It's easy to hire a mediocre Perl programmer, mind you, sometimes even a mediocre programmer who's really good at Perl specifically and knows all the packaging tricks and whatnot so he can get through the interview before falling apart on the job, but really hard to find the good ones. It just doesn't have much mindshare at the moment (ug…
Are there really any compelling reasons to use Perl over Ruby for greenfield projects (i.e. not legacy maintenance)? I've written maybe a dozen medium-length Perl scripts (but nothing very large) before I got into Ruby, and I can't seem to think of anything that Perl does that can't be done at least as well in Ruby. Honestly not trying to start a religious war here - just curious - and I think it's fair to compare th…
Re: Why I Use Perl: Reliability
#163Earlier quoted context omitted.
Check this site out for a comparison of the various module counts per language. It is really incredible that rubygems surpassed CPAN last year and continues to grow at a very rapid rate. Quality may be another matter, but still, impressive. http://www.modulecounts.com/
Nice site. Well found. I find it interesting that PHP doesn't have anything in the same league as Perl/Ruby/Python even after all these years. Any PHP folk out there?
Re: Why I Use Perl: Reliability
#164Earlier quoted context omitted.
We killed that as well!
Considering the number of folk dealing with COBOL systems I bumped into at GOTO Copenhagen last week, and the number of COBOL jobs that pop up after a quick google I would beg to differ. I can, of course, understand why you would really want it to be dead ;-)
Perhaps there still are a few corners where there are some rotting corpses hacking away on AS/400s which are actually gluing everything together!
I remember getting to sledgehammer the crap out of our AS/400 platforms and incinerate two entire pallets of IBM manuals - was "a great day for freedom" to paraphrase Pink Floyd.
Re: Why I Use Perl: Reliability
#165I've used Ruby, Java, and Perl professionally and my favorite by FAR is Perl.
Re: Why I Use Perl: Reliability
#166Re: Why I Use Perl: Reliability
#167Earlier quoted context omitted.
The difference between computer science and software engineering is Software engineering is real work for the real world. Often the constraints are money, time, resources. So demands of a software project in the real world are very different than the academia. Although you can argue that Lisp is far more a better language than Perl, based on some parameters you wish to evaluate. Others might have totally different pa…
You said it yourself, comfort is a subjective term. So why do you talk as if Lisp were objectively more complicated. If I'm familiar with Lisp but have no clue about Perl I don't need to be a university professor with endless time to choose Lisp over Perl every time. To me, Perl looks vastly more complicated than Lisp. I believe you'd find that if you'd know Lisp like you do Perl you'd be at least as productive as yo…
No,
And this is probably the reason why Lisp never took off post the appearance of C based languages. This is also why there are so many languages, because there are that many use cases for them. Denying the existence of a problem doesn't offer a solution. I can build anything quickly merely by using CPAN modules, I can manipulate strings and do all the text magic real quickly in Perl. That's not the same case with Lisp.
What you are saying is something like this. One guy wants reach from point A to B. He can either run or go in a car. You can argue that if he practices enough he can run as fast as the car, sure he can. But there is 0 logic in subjecting your legs to that kind of a torture, while all you need to learn is how to drive a car.
Now don't tell me that going from point A to B itself is wrong and he should be going to C instead.
Re: Why I Use Perl: Reliability
#168Earlier quoted context omitted.
I find the opposite to be true. You are likely to find better Perl programmers than Java programmers. Because its easy to spot bad programmers in Perl. Most Java programmers can't write simple apps without the help of an IDE. Or refactor a small part of a large project with an Text editor. In many other languages forcing people to write programers in a particular style often leads to code written by bad and good prog…
Most Java programmers can't write simple apps without the help of an IDE. Or refactor a small part of a large project with an Text editor. I'm curious why you think editor choice is the sign of a good developer? Pretty much nobody I know can code with a line editor (anybody else out there remember ed?) - that doesn't make them worse developers. Hell - I'd jump at an IDE that let me do automated refactoring in Perl. I…
I have nothing against IDEs. But anybody who claims to know a language must at least able to work with the source code and semantics.
If a person absolutely can't code at all. I mean slowly is still acceptable. But if he absolutely just can't write code without an IDE, I would doubt his claims of knowing the language.
Knowledge of tools != Knowledge of a programming language.
Re: Why I Use Perl: Reliability
#169For any value of $LANGUAGE, imagine this situation: your boss comes to you and say "Hey, they just released a new major version of $LANGUAGE today. Can you go upgrade it on all our production servers?" What is your emotional response to that request? For many values of $LANGUAGE, there would probably at least some element of terror (for many languages, probably much more than just "some"). But Perl is one where, depe…
> But Perl is one where, depending on the circumstances, the response could plausibly be as article says: boredom. "Yeah, sure, whatever. I'll go upgrade them." (Certainly there are others, but Perl is definitely one of the best in this regard.) Remaining backwards-compatibility and having good, reliable tests for your OWN software are two separate things and I am sure a special hell awaits those who are unfortunate…
I'd expect it too. Sadly my expectations are often not met :-)
Can you help me understand why Perl is so special or outstanding in that regard? Maybe just the very test-aware community?
I think it's a combination of the test-aware community - and the infrastructure that community has built up.
Little things like having the default behaviour of all the build/install tools be "run all the tests and only install if they all pass", rather than having running tests be optional.
Or take cpantesters.org for example.
For those who don't know cpantesters is basically a distributed continual-integration environment for all of CPAN. Any time anybody releases something to CPAN it gets downloaded and compiled on dozens of OS/perl combinations, and the automated tests run.
If I release a module on CPAN and it doesn't work on some obscure OS/perl combination I'll likely get an automated e-mail in a matter of hours. The results of those tests are public - so anybody can easily see what versions of what modules work on what platforms. You'll see them up right next to the module in all the CPAN search tools. So folk can easily understand where they'll be problems, and people with access to that platform can more easily find and patch problematic code.
So anybody who releases anything to CPAN gets a fantastic multi-platform CI tool for free.
And a discussion forum (http://cpanforum.com/). And a bug/issue tracker (https://rt.cpan.org). And a review platform (http://cpanratings.perl.org/). And automated "quality" metrics (http://cpants.charsbar.org/) and .... well... I could go on. All of them have public data or API routes so they very quickly get integrated into tools like https://metacpan.org and http://search.cpan.org/.
The perl community has done a stirling job taking the whole small-pieces-loosely-joined philosophy onto their community module distribution / testing infrastructure.
Because of the transparency and integration "bad" modules are obvious, and tend to get quickly fixed or deprecated. At the very least it's very easy to identify problematic areas and work around them.
Re: Why I Use Perl: Reliability
#170Earlier quoted context omitted.
Most Java programmers can't write simple apps without the help of an IDE. Or refactor a small part of a large project with an Text editor. I'm curious why you think editor choice is the sign of a good developer? Pretty much nobody I know can code with a line editor (anybody else out there remember ed?) - that doesn't make them worse developers. Hell - I'd jump at an IDE that let me do automated refactoring in Perl. I…
>>I'm curious why you think editor choice is the sign of a good developer? I have nothing against IDEs. But anybody who claims to know a language must at least able to work with the source code and semantics. If a person absolutely can't code at all. I mean slowly is still acceptable. But if he absolutely just can't write code without an IDE, I would doubt his claims of knowing the language. Knowledge of tools != Kno…
Would you be productive in QED http://en.wikipedia.org/wiki/QED_(text_editor) ? Should I doubt your coding skills because of that?
Knowledge of tools != Knowledge of a programming language.
Agreed. But you seem to be saying that people who code well with an IDE, and can't code well with a more vanilla text editor, means that they don't know the language. This is a tool knowledge issue - not a language knowledge issue.
Some people are good at coding, and others are bad at coding. IDE/editor choice has little to do with it. Lines like "Most Java programmers can't write simple apps without the help of an IDE" are just false - and have nothing to do with whether the developer is any good or not.
Twenty years ago people were saying the same thing about lazy developers who use screen based editors instead of line based ones. I'm sure that twenty years before that folk were complaining about folk who use terminals instead of punched cards as god intended :-)