Domain: hates-software.com
Stories and comments across the archive that link to hates-software.com.
Comments · 9
-
Re:A hearty welcome to our latest new memberWelcome elrous0, to the 'what were they thinking? anti-software fan club'
Here we will help you commiserate as you belch out the pains brought to you by software. Fixed.
And welcome... seriously. -
Software is hateful.
If you don't believe me, ask the professionals. hates-software.com: the home of vitriol.
-
Re:MARKET SHARE IS URBAN LEGEND. Honest.
hmmm. Your own blog would suggest otherwise, it would seem anyway. You ardently defend here, but seem to take issue with respect, to the same issue in other areas.
http://www.taronga.com/~peter/io/apple2.html
"I am completely unable to imagine the confusion that must exist in your mind that would lead you to this assumption"
Hey, hey! My mind may be confused, but at least I am not holding my face wrong! http://peter.hates-software.com/ ;) -
What's Wrong with PerlThere is no excuse for Perl being so badly designed, nor for Perl programmers refusing to admit and trying to cover up its flaws.
If you're a Perl programmer who doesn't know what Perl's weaknesses are yourself, and you have to ask me to spell them out for you, then you're an Incompetent Perl Programmer. You should have done that research yourself before deciding to use Perl. Shame on you! Put down the crack pipe and step away from the keyboard.
Incompetent Perl programmers who can't see or admit the flaws in their language are like the illegitimate president George W Bush who is out of touch with the harsh reality of Iraq and the economy, and therefore incapable of solving the problems. Incompetent Perl Programmers and Illegitimate US Presidents need to face the reality before they're qualified to solve the problems.
Aaron Weiss said: It's not a secret that Perl is structurally flexible, and the conventional wisdom is that Perl gives you "enough rope to hang yourself". Funny. But that's not the gripe -- go ahead, hang yourself if you want. That's freedom. The problem is that Perl also gives you enough rope to hang others."
Eric Naggum said: It's not that perl programmers are idiots, it's that the language rewards idiotic behavior in a way that no other language or tool has ever done.
Peter da Silva said: The syntax is awkward, overcomplex, has too many obscure special cases (there's to many obvious examples to list, I'll just mention one of the obscure ones: the way scalars and collections in for loops are treated), and the result is that you have to not just "know Perl" you have to be a Perl language lawyer just to avoid wandering into a dark alley and getting figuratively mugged by some cool feature.
Nicholas Clark said: That indirect object syntax is worthy of hate. (I think)
In the Switch documentation, Damian Conway said: BUGS: There are undoubtedly serious bugs lurking somewhere in code this funky
:-) Bug reports and other feedback are most welcome. LIMITATIONS: Due to the heuristic nature of Switch.pm's source parsing, the presence of regexes specified with raw ?...? delimiters may cause mysterious errors. The workaround is to use m?...? instead. Due to the way source filters work in Perl, you can't use Switch inside an string eval.Matt McLeod said: But the moment you try to anything properly, try to modularize and, you know, do perverted things like *reusing code*, it becomes a pain in the arse. One exciting feature I came across recently is that under certain circumstances you can create what seems like a module which exports a bunch of names, but if you don't start the name with an upper-case character it only exports the first. And it won't *tell* you this is what is going on (even with -w and use strict), it just whines that it can't find &main::foo() when it's supposed to be getting &thing::foo(). Don't even get me started on the flatten-all-arguments-into- a-list-of-scalars bullshit. Or the lack of any decent support in the basic language for datastructures other than lists. I'm sorry, walking through an array of arrays of hashrefs is not a substitute for a record/struct datatype, and having to fight it's alleged OO model to use a third-party "class" do what would be a simple job in anything else is completely not acceptable to me.
Lars Marius Garshol said: Casting of operands in comparisons: induced errors. Redefinition of some C keywords: walltrap. Overcomplexity 1: suffix condit
-
What's Wrong with PerlThere is no excuse for Perl being so badly designed, nor for Perl programmers refusing to admit and trying to cover up its flaws.
If you're a Perl programmer who doesn't know what Perl's weaknesses are yourself, and you have to ask me to spell them out for you, then you're an Incompetent Perl Programmer. You should have done that research yourself before deciding to use Perl. Shame on you! Put down the crack pipe and step away from the keyboard.
Incompetent Perl programmers who can't see or admit the flaws in their language are like the illegitimate president George W Bush who is out of touch with the harsh reality of Iraq and the economy, and therefore incapable of solving the problems. Incompetent Perl Programmers and Illegitimate US Presidents need to face the reality before they're qualified to solve the problems.
Aaron Weiss said: It's not a secret that Perl is structurally flexible, and the conventional wisdom is that Perl gives you "enough rope to hang yourself". Funny. But that's not the gripe -- go ahead, hang yourself if you want. That's freedom. The problem is that Perl also gives you enough rope to hang others."
Eric Naggum said: It's not that perl programmers are idiots, it's that the language rewards idiotic behavior in a way that no other language or tool has ever done.
Peter da Silva said: The syntax is awkward, overcomplex, has too many obscure special cases (there's to many obvious examples to list, I'll just mention one of the obscure ones: the way scalars and collections in for loops are treated), and the result is that you have to not just "know Perl" you have to be a Perl language lawyer just to avoid wandering into a dark alley and getting figuratively mugged by some cool feature.
Nicholas Clark said: That indirect object syntax is worthy of hate. (I think)
In the Switch documentation, Damian Conway said: BUGS: There are undoubtedly serious bugs lurking somewhere in code this funky
:-) Bug reports and other feedback are most welcome. LIMITATIONS: Due to the heuristic nature of Switch.pm's source parsing, the presence of regexes specified with raw ?...? delimiters may cause mysterious errors. The workaround is to use m?...? instead. Due to the way source filters work in Perl, you can't use Switch inside an string eval.Matt McLeod said: But the moment you try to anything properly, try to modularize and, you know, do perverted things like *reusing code*, it becomes a pain in the arse. One exciting feature I came across recently is that under certain circumstances you can create what seems like a module which exports a bunch of names, but if you don't start the name with an upper-case character it only exports the first. And it won't *tell* you this is what is going on (even with -w and use strict), it just whines that it can't find &main::foo() when it's supposed to be getting &thing::foo(). Don't even get me started on the flatten-all-arguments-into- a-list-of-scalars bullshit. Or the lack of any decent support in the basic language for datastructures other than lists. I'm sorry, walking through an array of arrays of hashrefs is not a substitute for a record/struct datatype, and having to fight it's alleged OO model to use a third-party "class" do what would be a simple job in anything else is completely not acceptable to me.
Lars Marius Garshol said: Casting of operands in comparisons: induced errors. Redefinition of some C keywords: walltrap. Overcomplexity 1: suffix condit
-
What's Wrong with PerlThere is no excuse for Perl being so badly designed, nor for Perl programmers refusing to admit and trying to cover up its flaws.
If you're a Perl programmer who doesn't know what Perl's weaknesses are yourself, and you have to ask me to spell them out for you, then you're an Incompetent Perl Programmer. You should have done that research yourself before deciding to use Perl. Shame on you! Put down the crack pipe and step away from the keyboard.
Incompetent Perl programmers who can't see or admit the flaws in their language are like the illegitimate president George W Bush who is out of touch with the harsh reality of Iraq and the economy, and therefore incapable of solving the problems. Incompetent Perl Programmers and Illegitimate US Presidents need to face the reality before they're qualified to solve the problems.
Aaron Weiss said: It's not a secret that Perl is structurally flexible, and the conventional wisdom is that Perl gives you "enough rope to hang yourself". Funny. But that's not the gripe -- go ahead, hang yourself if you want. That's freedom. The problem is that Perl also gives you enough rope to hang others."
Eric Naggum said: It's not that perl programmers are idiots, it's that the language rewards idiotic behavior in a way that no other language or tool has ever done.
Peter da Silva said: The syntax is awkward, overcomplex, has too many obscure special cases (there's to many obvious examples to list, I'll just mention one of the obscure ones: the way scalars and collections in for loops are treated), and the result is that you have to not just "know Perl" you have to be a Perl language lawyer just to avoid wandering into a dark alley and getting figuratively mugged by some cool feature.
Nicholas Clark said: That indirect object syntax is worthy of hate. (I think)
In the Switch documentation, Damian Conway said: BUGS: There are undoubtedly serious bugs lurking somewhere in code this funky
:-) Bug reports and other feedback are most welcome. LIMITATIONS: Due to the heuristic nature of Switch.pm's source parsing, the presence of regexes specified with raw ?...? delimiters may cause mysterious errors. The workaround is to use m?...? instead. Due to the way source filters work in Perl, you can't use Switch inside an string eval.Matt McLeod said: But the moment you try to anything properly, try to modularize and, you know, do perverted things like *reusing code*, it becomes a pain in the arse. One exciting feature I came across recently is that under certain circumstances you can create what seems like a module which exports a bunch of names, but if you don't start the name with an upper-case character it only exports the first. And it won't *tell* you this is what is going on (even with -w and use strict), it just whines that it can't find &main::foo() when it's supposed to be getting &thing::foo(). Don't even get me started on the flatten-all-arguments-into- a-list-of-scalars bullshit. Or the lack of any decent support in the basic language for datastructures other than lists. I'm sorry, walking through an array of arrays of hashrefs is not a substitute for a record/struct datatype, and having to fight it's alleged OO model to use a third-party "class" do what would be a simple job in anything else is completely not acceptable to me.
Lars Marius Garshol said: Casting of operands in comparisons: induced errors. Redefinition of some C keywords: walltrap. Overcomplexity 1: suffix condit
-
What's Wrong with PerlThere is no excuse for Perl being so badly designed, nor for Perl programmers refusing to admit and trying to cover up its flaws.
If you're a Perl programmer who doesn't know what Perl's weaknesses are yourself, and you have to ask me to spell them out for you, then you're an Incompetent Perl Programmer. You should have done that research yourself before deciding to use Perl. Shame on you! Put down the crack pipe and step away from the keyboard.
Incompetent Perl programmers who can't see or admit the flaws in their language are like the illegitimate president George W Bush who is out of touch with the harsh reality of Iraq and the economy, and therefore incapable of solving the problems. Incompetent Perl Programmers and Illegitimate US Presidents need to face the reality before they're qualified to solve the problems.
Aaron Weiss said: It's not a secret that Perl is structurally flexible, and the conventional wisdom is that Perl gives you "enough rope to hang yourself". Funny. But that's not the gripe -- go ahead, hang yourself if you want. That's freedom. The problem is that Perl also gives you enough rope to hang others."
Eric Naggum said: It's not that perl programmers are idiots, it's that the language rewards idiotic behavior in a way that no other language or tool has ever done.
Peter da Silva said: The syntax is awkward, overcomplex, has too many obscure special cases (there's to many obvious examples to list, I'll just mention one of the obscure ones: the way scalars and collections in for loops are treated), and the result is that you have to not just "know Perl" you have to be a Perl language lawyer just to avoid wandering into a dark alley and getting figuratively mugged by some cool feature.
Nicholas Clark said: That indirect object syntax is worthy of hate. (I think)
In the Switch documentation, Damian Conway said: BUGS: There are undoubtedly serious bugs lurking somewhere in code this funky
:-) Bug reports and other feedback are most welcome. LIMITATIONS: Due to the heuristic nature of Switch.pm's source parsing, the presence of regexes specified with raw ?...? delimiters may cause mysterious errors. The workaround is to use m?...? instead. Due to the way source filters work in Perl, you can't use Switch inside an string eval.Matt McLeod said: But the moment you try to anything properly, try to modularize and, you know, do perverted things like *reusing code*, it becomes a pain in the arse. One exciting feature I came across recently is that under certain circumstances you can create what seems like a module which exports a bunch of names, but if you don't start the name with an upper-case character it only exports the first. And it won't *tell* you this is what is going on (even with -w and use strict), it just whines that it can't find &main::foo() when it's supposed to be getting &thing::foo(). Don't even get me started on the flatten-all-arguments-into- a-list-of-scalars bullshit. Or the lack of any decent support in the basic language for datastructures other than lists. I'm sorry, walking through an array of arrays of hashrefs is not a substitute for a record/struct datatype, and having to fight it's alleged OO model to use a third-party "class" do what would be a simple job in anything else is completely not acceptable to me.
Lars Marius Garshol said: Casting of operands in comparisons: induced errors. Redefinition of some C keywords: walltrap. Overcomplexity 1: suffix condit
-
Re:My experience with VC++
-
Re:StandardsYeah, and you can certainly tell. I love the GCC, but I wish they would follow the standards. Taken from here:
It [GCC] will compile and link almost anything. It would probably compile Perl without too much modification and wouldn't even emit that many warnings. Look! Look at this!*&(int)f = 1;
Is that C? I don't fucking think so. And look at this:FILE *
Yes, that's supposed to be C, not C++, because the things they've done to C++ are almost bloody unspeakable. The words "embrace" and "extend" come to mind. How about this, for instance:
concat_fopen (char *s1, char *s2, char *mode)
{
char str[strlen (s1) + strlen (s2) + 1]; ...
}It is very convenient to have operators which return the "minimum" or the
What? What the hell is that about? And you know the worst thing? People actually use these abortions in real code, because obviously, if it compiles on Linux with gcc, it'll compile anywhere. That's why you're having problems linking on AIX - because nobody's even thought about AIX before. We use autoconf, right, so it must be portable? Yeah, fucking right. Portable between GNU OSes, I think you'll find.
"maximum" of two arguments. In GNU C++ (but not in GNU C),
a <? b
is the minimum, returning the smaller of the numeric values a and b;
a >? b
is the maximum, returning the larger of the numeric values a and b.
Part of the reason Parrot 0.0.1 was so slow getting out of the door was because of all these stupid idiots writing GCC "C" and not realising how completely fucking broken it was.
And while we're on the subject of standards, does anyone know if Linux has a standard way of treating the keys that Microsoft added to the keyboard. Is the left Windows key Super_L or F13, and is it a modifier or not? Enquiring coders want to know.