Live data from Hacker News

Why I Use Perl: Reliability

modernperlbooks.com

151–160 of 196 posts

Re: Why I Use Perl: Reliability

#151
post #128

Earlier quoted context omitted.

I was about to note that the OP clearly hasn't used Clojure if he uses it as a negative example in terms of reliability, but then I remembered — I promised myself not to get too deeply into these kinds of silly discussions. Erm... He didn't? He said: "While so much of the shiny-chasing buzz in the micro-ISV startup built-it-and-they-will-fund world seems to chase Clojure and Node.js and app-in-a-page tricks, Perl 5 c…

"Lots of folk using it because it's the new-and-shiny rather than it being necessarily the best solution" How do you know what is in people's head? I assert that lots of folk are using perl because it's comfortable to them rather than it being the best solution.

How do you know what is in people's head?

You did read the very next sentence when I talked about my abandoning one Clojure solution for exactly this reason?

I love Clojure to death. It's excellent. But there are lots of folk like me who are just gasping to go play with production Lisp when other solutions would probably be better.

Not saying there aren't many great real-world uses for Clojure. Look at the stuff Datomic are doing for example... but I see lots of folk (myself included) spending two weeks tweaking Clojure stuff, dealing with warm-up timing issues for the JVM, etc. when we should probably just chuck something together with Sinatra and get the job done :-)

I assert that lots of folk are using perl because it's comfortable to them rather than it being the best solution.

Agreed. Sorry if I seemed to imply otherwise.

Re: Why I Use Perl: Reliability

#152

Language keywords: Ruby ~40 Python ~40 Java ~50 Perl ~1800 Perl can have all the community support, packages, and testing that it wants, but I dislike programming in it and find it difficult to code in. This is not because I have only ever done Ruby or Javascript, I would consider my strongest languages to be Objective-C and Java, I have used C quite a lot, I know what I am doing with programming languages. I just di…

> Did you know there is a Perl package that will catch references to undefined symbols and fuzzy match them to the closest it can find in the current scope. To me, that seems to be the marker for the general quality of the code.

To me, just the fact that this is possible witnesses about the flexibility of the language.

Re: Why I Use Perl: Reliability

#153

For 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 enough to be using a few more unusual or legacy libraries. To be completely honest, I would expect no less from Java or python within the same major release, namely for the language and the interpreter to "just work" and understand my existing code but I would still be very worried about the functionality of my own software and all the libraries it comes with and that's what my own tests are for - but having these is no Perl-language-specific merit. Can you help me understand why Perl is so special or outstanding in that regard? Maybe just the very test-aware community?

Re: Why I Use Perl: Reliability

#154
post #146
post #131

Earlier 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…

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 you're in Perl.

As somebody who loves both Lisp and Perl I'd probably say you'd be as productive (unless you were sitting in a domain that one language or the other was a better fit for). Well - apart from CPAN and the testing infrastructure. And the editor/IDE support is worse unless you're already an emacs person... but those are just coz Clojure is young.

I'm thoroughly sick of the Lisp == academic == hard myth. It's just nonsense. I've taught newbie devs Lisp and Perl in the past and both groups seem to take it on at about the same pace.

Re: Why I Use Perl: Reliability

#155
post #86
post #55

Earlier quoted context omitted.

Based on the examples, I presume xrange(x) is every integer up to but not including x. ie 1..^$x in Perl 6, don't recall if that's the Perl 5 syntax or not.

> Based on the examples, I presume xrange(x) is every integer up to but not including x Yes. That makes my Python example incorrect(should be xrange(2, num + 1)) > 1..^$x in Perl 6, don't recall if that's the Perl 5 syntax or not. Perl 5 doesn have 1..^$x. I have always used 1..($n - 1) where I needed it - don't know if there is a better alternative.

> Yes. That makes my Python example incorrect(should be xrange(2, num + 1))

Or just xrange(num) and then, as in my original code, output *= num + 1. :-)

Re: Why I Use Perl: Reliability

#156
post #132

Yes Perl is a great language -- stability, maturity, etc. But does anybody realize just how hard it is to find decent Perl programmers? It's not a large community to begin with and the pool of decent programmers is even smaller.

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 like getting the computer to do things for me. Laziness is a Perl value :-)

Re: Why I Use Perl: Reliability

#157

Language keywords: Ruby ~40 Python ~40 Java ~50 Perl ~1800 Perl can have all the community support, packages, and testing that it wants, but I dislike programming in it and find it difficult to code in. This is not because I have only ever done Ruby or Javascript, I would consider my strongest languages to be Objective-C and Java, I have used C quite a lot, I know what I am doing with programming languages. I just di…

This sounds wrong...so I thought I'd see what Notepad++ has built into its syntax highlighting lexer (langs.model.xml): * ~ 35, Python * ~ 53, Java * ~ 59, Ruby * ~189, Bash * ~253, Perl Perl has a higher keyword count than Ruby or Python, but remember Perl's keyword list includes its core socket/network library (which Ruby/Python/Java don't contain in theirs...according to Notepad++).

Perl has a higher keyword count than Ruby or Python, but remember Perl's keyword list includes its core socket/network library (which Ruby/Python/Java don't contain in theirs...according to Notepad++).

It's a language design choice too - Perl very deliberately has different keywords for different data types. So we have "+" for numbers and "." for strings. ">" for numbers, "gt" for strings - and so on. The argument being that what you spend in having to remember multiple keywords you gain back in increased code clarity.

Re: Why I Use Perl: Reliability

#158

Language keywords: Ruby ~40 Python ~40 Java ~50 Perl ~1800 Perl can have all the community support, packages, and testing that it wants, but I dislike programming in it and find it difficult to code in. This is not because I have only ever done Ruby or Javascript, I would consider my strongest languages to be Objective-C and Java, I have used C quite a lot, I know what I am doing with programming languages. I just di…

This sounds wrong...so I thought I'd see what Notepad++ has built into its syntax highlighting lexer (langs.model.xml): * ~ 35, Python * ~ 53, Java * ~ 59, Ruby * ~189, Bash * ~253, Perl Perl has a higher keyword count than Ruby or Python, but remember Perl's keyword list includes its core socket/network library (which Ruby/Python/Java don't contain in theirs...according to Notepad++).

> but remember Perl's keyword list includes its core socket/network library

And it is being mooted that these will be moved out into core modules at some point (ref: http://lwn.net/Articles/458714/).

Re: Why I Use Perl: Reliability

#159
post #138
post #45

I was about to note that the OP clearly hasn't used Clojure if he uses it as a negative example in terms of reliability, but then I remembered — I promised myself not to get too deeply into these kinds of silly discussions. So, dear OP, good luck writing your large-scale multithreaded high-performance distributed applications using Perl. And BTW, I do use Perl quite a bit and I really like it, for certain tasks. But…

Others have noted that your reply is a non-sequitur. However, I'd like to address it anyway, specifically the "luck" part. I have written all of what you describe: large-scale multithreaded high-performance distributed applications using Perl. When necessary I have written perlXS bindings to C routines, but this is surprisingly infrequent. Most high performance system interfaces are exposed to Perl in an efficient ma…

Just curious: what did you use for IPC at this scale?

Re: Why I Use Perl: Reliability

#160
post #85

For 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…

> What is your emotional response to that request? Heh the worst upgrade experience I've had with any language was with perl. The issue wasn't with changes to language features, it was chaos resulting from CPAN XS module compatibility and compilation failures. I remember one trivial module (array::compare) went from a having few core dependencies to dozens of CPAN dependencies (including all the moose OO modules). An…

I think it has improved much after 5.10, of course most companies are not yet there - so what chromatic describes is far from being a standard experience.
Post reply on HN