Live data from Hacker News

The Perl Renaissance

lanyrd.com

81–90 of 130 posts

Re: The Perl Renaissance

#81
post #67
post #16

Earlier quoted context omitted.

Ruby doesn't have great support for math, science or AI. There are projects out there trying to make the ecosystem better, but currently it trails Python.

For biology -- especially the genomics side -- Perl was absolutely dominant 10 years ago. It's been gradually edged out by other things (substantially Python and R) since then. Desire for better statistical tools may be a driver here, but it's interesting that it's led to a switch of languages rather than building more stats tools for Perl

I would say that Perl is still dominant in computational genomics. About a year ago I wrote some code to do some basic comparative analysis at the genome level alongside some more gene focused phylogeny efforts. Since the whole thing was quite simple it wasn't a problem to write the overall structure, but getting the bioinformatics Python libraries working was a pain. Even if the code tiself was Python the API was littered with various Perl and Bash idioms and there was a major bug in at least one of the tree building methods (had to patch it myself). Calls to subprocesses within the libraries (a heavy part of most bioinformatics work, where there are thousands of stand alone command line programs) would often fail without warning. The state of the art in this area is definitely behind Ruby and far behind Perl.

However, Python is still my main language and I am very happy with that. The numpy/scipy stack and everything building around that is incomparable to anything in Perl of Ruby. Also for the last month or so I have been doing work in the IPython notebook. It has really helped my productivity and documentation efforts. And it looks really cool.

Re: The Perl Renaissance

#82
post #25

Earlier quoted context omitted.

I get the joke, but there are thousands of people currently learning either Ruby or Python and tons of classes for them, it's incredibly easy to hire either a Python or a Ruby (or PHP or Javascript) programmer and so on... while Perl is slowly falling off the radar.

There are 100000 perl modules, all backed up by an extensive test suite. About jobs: knowing a popular language guarantees you a job, but it doesn't guarantee you a good job. Those shooting for a higher level can pick what language they want. Those looking for higher level programmers will find a much broader distribution of language preferences. Hence Twitter runs on Scala, Blekko runs on perl.

> Hence Twitter runs on Scala, Blekko runs on perl.

Those are hardly equivalent (aside from the obvious differences in prominence, scale and relative importance between Blekko and Twitter).

Scala shops attracts developers curious about new paradigms (FP / FP hybrid) whereas Perl shops tends to repel forward-looking developers who view it (accurately or not) as an ugly throwback to the year 2000.

Put plainly : Scala sells itself (to a certain crowd) whereas Perl needs to be be sold almost across the board. Scala is viewed as an up-and-comer, Perl as a has-been.

Re: The Perl Renaissance

#83

Earlier quoted context omitted.

why aren't you using POD for your documentation why are you mistakenly using prototypes for function signatures

You're right on both counts. I would never perldoc my private code...I already don't use it for installed modules. So that's a personal preference. The prototypes issue is spot on. They're ignored during compilation when dispatching isn't clear ($obj->method() ... which subclass?). Most of my subs aren't called that way, so I do get argument checking, which has saved my butt many times, so I just make a habit of alwa…

fair reasons both

Re: The Perl Renaissance

#84
Perl unfortunately has a bad image vs its true reality.

I think Perl / Python are interchangeable as a language choice for web scale projects. If your biggest problem is whether to use Python vs Perl vs X, then I say good luck to you -- you should really have more important problems to worry about.

I'd never use ruby for a web scale project (as evidenced by the many services solely dedicated to scaling ruby on rails apps). PHP is not really a language.

Maybe the future belongs to ECMAScript.

Re: The Perl Renaissance

#85

Earlier quoted context omitted.

Python and Ruby both have garbage collectors and can deal with reference cycles. Perl only has reference counting, leading to programs that leak memory due to reference cycles and needing to hunt down where in the code you're creating them. It's the only high-level language I know of that only has reference counting for memory management.

> It's the only high-level language I know of that only has reference counting for memory management. It's also the only high-level language I know of that can't really be parsed ("only Perl can parse Perl" they say). It's a dead language really, you can also see this from the number of noisy evangelists vs. professional users nowdays (and that comes from someone who has used Perl almost exclusively for the past 10 y…

I agree with your bet on JS and Go.

Re: The Perl Renaissance

#86
post #44
post #29

Earlier quoted context omitted.

Really, why ? You wouldn't hire someone that has some "language aesthetic preferences", although a bit different that the mainstream ones? He said "preventing me for ever liking Python" not "I'll never touch it because of this".

This is really the same as saying, "I won't work for company X because I don't think the brackets in the C++ code should be on the following line[1]!" [1] E.g.: int main() { } vs. int main() { } This is an apt analogy because most companies will have some sort of code style guide that you have to follow, which doesn't make "coding at company X where bracket placement is enforced" much different from "coding in Python…

Actually, saying that you'll never like a given detail about a language is not the same as saying that you'll never work for company X because of that specific detail. It is not a logical conclusion, unless you are implying that for one to work for someone else you really need to like everything about the job at hand. I see no reason why you can't do something for money that you wouldn't do for your personal pleasure.

Re: The Perl Renaissance

#87
post #5
post #2

...don't get mad for the question, but: anybody has any arguments for using Perl instead of, let's say Python, these days? (besides the "I already know it incredibly well" argument) ...cause the lack of an answer to such a question has only one conclusion: the language is dying, even if this is not already happening in a visible way! (don't get me wrong, I'm not a Perl hater, and fyi, I think the world would be a muc…

Python significant white space. Really, that's what preventing me for ever liking Python.

Python significant white space is just like nudism. At first you think something essential is missing (clothes, curly braces), then you notice that it wasn't really needed at all, and everything becomes freer and simpler.

Re: The Perl Renaissance

#88
post #80

Earlier quoted context omitted.

> There are some problems with the whitespace in Python. > I wrote some code with lots of nameless functions as input parameters (think JavaScript style or Ruby blocks), which of course was an ugly pain to port to Python with no multi-line lambdas. As nnq points out elsewhere in this thread, this doesn't have anything to do with significant whitespace. Python only allows you to have a single expression in the body of…

My argument was that a lack of real anonymous functions (> 1 instruction) is a problem in some quite common and useful scenarios. If you REALLY can give good references that show this is wrong, I'm very interested (like, I would guess, most Ruby users). (It would also be interesting with a link to a PEP or something with, as you claim, arguments that map etc should be discouraged -- and that is why no multi line lamb…

For most use cases where you want map/filter/etc, you can chain list comprehensions using generators.

Re: The Perl Renaissance

#89
post #82

Earlier quoted context omitted.

There are 100000 perl modules, all backed up by an extensive test suite. About jobs: knowing a popular language guarantees you a job, but it doesn't guarantee you a good job. Those shooting for a higher level can pick what language they want. Those looking for higher level programmers will find a much broader distribution of language preferences. Hence Twitter runs on Scala, Blekko runs on perl.

> Hence Twitter runs on Scala, Blekko runs on perl. Those are hardly equivalent (aside from the obvious differences in prominence, scale and relative importance between Blekko and Twitter). Scala shops attracts developers curious about new paradigms (FP / FP hybrid) whereas Perl shops tends to repel forward-looking developers who view it (accurately or not) as an ugly throwback to the year 2000. Put plainly : Scala s…

>>... is viewed as ...

The GP argued why a tech choice is good, you answer by arguing the reality -- of the fud! That was quite funny.

Edit: OK, I was talking about the first part, CPAN. You only made claims about jobs (that there are no good Perl jobs being created, which duckduckgo by itself should have killed.)

Re: The Perl Renaissance

#90
post #2

...don't get mad for the question, but: anybody has any arguments for using Perl instead of, let's say Python, these days? (besides the "I already know it incredibly well" argument) ...cause the lack of an answer to such a question has only one conclusion: the language is dying, even if this is not already happening in a visible way! (don't get me wrong, I'm not a Perl hater, and fyi, I think the world would be a muc…

CPAN.
Post reply on HN