Live data from Hacker News

Why Did I Choose Perl When Building Crowdtilt?

dsog.info

141–143 of 143 posts

Re: Why Did I Choose Perl When Building Crowdtilt?

#141
post #42

Earlier quoted context omitted.

I agree. It is a misconception that Perl is "dying". It powers a lot of the web. It had a bad rep a few years ago due to cryptic-looking codes that were written as a throw away code and somehow spread all over the web :). I was one of the skeptical developers at some point, but then I got hooked :). Modern Perl changes the old rep alltogether. I encourage people to write well architected, maintainable, extensible cod…

Regardless of the structure of modern usage its syntax is still very noisy for the reader. It seems the majority prefer the cleaner syntax that doesn't use punctuation to define the type of access a la BASIC.

You know Perl gets hassled because of the variable sigils, but when I've taught Perl to newcomers it didn't seem to be much on an issue. Maybe this is because Modern Perl tends to be more clean and OO, there's not the sigil busyness you might see in old Perl code used by admins in the mid 1990's. I think this is really just something people that use other languages are bothered by. I know we all have preferences. When I do Javascript I tend to miss the sigils a bit :)

Re: Why Did I Choose Perl When Building Crowdtilt?

#142

Earlier quoted context omitted.

Yes, the sigils can make Perl code look noisy, especially as Perl uses curly braces and semicolons too. However, they do have a couple of nice benefits: firstly, they make variable interpolation easier (and less noisy!) than in other languages like Ruby and Python. Secondly, sigils make it easy to see what kind of data you are dealing with, obviating the need to scroll through your program to the variable declaration…

The sigils make variable interpolation easier only in the most generic case "interpolate $me". Anything more sophisticated requires a temporary variable.

Well... arguably they make it easier in the half-dozen simplest cases. Which just happen to be what's needed 90% of the time.

Re: Why Did I Choose Perl When Building Crowdtilt?

#143
post #119

Earlier quoted context omitted.

Well, ok -- I guess (after a bit more googling) I see what you mean: http://www.catalyzed.org/2009/05/dawn-of-a-new-age-in-perl-h... Now, while power obviously is power -- I don't see many immediate uses for that, that can't be done better within in python via magic methods etc. But in case others are interested, here's a couple of links I also came across: http://stackoverflow.com/questions/214881/can-you-add-new-st…

The python example you linked to http://eli.thegreenplace.net/2010/06/30/python-internals-add... , which shows an example of adding an 'until' keyword, requires you to recompile the python interpreter. From your article: "After making all the changes and running make, we can run the newly compiled Python and try our new until statement". Of course you can extend any language by recompiling it and creating a new inter…

Yes, I should have been clearer in my previous comment: What I meant to say was that I see what the previous poster meant, and I was wrong.

However, if someone wants to do something similar in Python, here are how you would (have) to do it. I didn't mean to say that it was the same - or as straightforward.

This is also why I linked to the r(estricted)python examples with pypy -- because they give you more of the power to define a whole language -- but that also isn't the same as being able to do it within the language itself.

As for meta-programming, I have always meant that in the sense of lisp macros, not simply chaining some cleverly named functions.

I'm still not convinced it's a feature I would want in Perl -- but then again, I don't particularly like Perl, and I don't use it -- so clearly what I think of it doesn't matter: I'm not the target audience for Perl features.

Thankfully we don't all prefer the same tools :-)

Post reply on HN