News for hackers. Stuff that matters.
Re:Perl Already Won by Mithaldu on Sunday January 18, 2015 @05:13PM (#8909150)
Just to be completely clear here. The problem with that talk is not the bug. That bug is legit (although it was caused by an inexperienced developer who didn't read the manual).

The main problem with the talk is that almost every single thing he says is wrong, except for that bug. He may have reported it, but he knows almost nothing about the language, and is complaining because he never actually learned Perl, but expects Perl to conform to his expectations.

The fact that he pretends he is correct makes it even worse, since it means he is spreading his ignorance and misconceptions to others who take it as fact.

He is like an english person complaining about the fact that pronouns are gendered in german.

Re:Perl Already Won by lawl on Sunday January 18, 2015 @06:33PM (#8909449)
I respect your opinion but disagree.

> That bug is legit (although it was caused by an inexperienced developer who didn't read the manual).

Well that's exactly the problem, as I said before, the fact that this is documented doesn't make it not horrible. At least to me, as a non perl person.

> He is like an english person complaining about the fact that pronouns are gendered in german.

Valid complaint in my opinion. And that's my mother tongue.

Re:Perl Already Won by Mithaldu on Sunday January 18, 2015 @07:00PM (#8909530)
You're making the same mistake he did. You don't actually know the thing you're talking about (Perl), yet you feel the need to, as first action, make factual statements about it, instead of your first action being to ask WHY i don't think it's horrible.

Also, regarding the gendered pronouns: They perform a very valid function in german, which i can understand you may not be consciously aware of: They serve the disambiguation of similarly sounding words (die Schüssel, der Schlüssel), similarly to Perl sigils.

Back to the issue of whether the bug is horrible. Any Perl developer learns these simple facts very early on:

- a function can return 0 to many values, depending on what kind of list of arguments you call return() with

- the contents of a list depend on the sigils in front of the arguments used in the list constructor

- if the sigil is $, then the list will have at the place of that argument exactly one value

- if the sigil is @, then list will contain zero to many values at the place of that argument

- if the sigil is none, then it's a function call, and the list will, following the first factoid, contain zero to many values at the place of the function call

- you must do two things with functions when calling them in a list constructor:

- 1. manually force them into scalar context in list construction by wrapping the call in scalar()

- 2. read the documentation of the function to see if the function makes any promises of its output

In the case of the bug you have an assignment to a hash, by way of a list constructor. That list constructor calls the cgi function params(). That function is documented to be able to return multiple values.

The programmer in this case didn't take care to read the documentation of the function, and this is not remotely the same thing as having a documented bug.

To the average Perl developer all this information is known and simple.