Apparently my post on Perl 5’s overloading is deeply, deeply offensive. Here’s an email I got out of the blue today:
Perl isn’t your first language isn’t it? You strike me as Java programmer. Look. Don’t do overloading. If you need to do overloading then you are probably doing something wrong.
“If you don’t care about defensive programming, then Perl 5′s overloading is perfect, and you can stop reading now. Also, please let me know so I can avoid working on code with you, thanks.”
No. I don’t, because we are not programming in Java where that type of mentality is needed. So yeah, please feel free to memorize my name and lets make damn sure we never work with each other.
And people say there’s no hope for humanity!
Darren Duncan, on 2014-07-23 16:08, said:
I see overloading as something best done in very limited circumstances, such as where the object truly is meant to exactly mimic a built-in type and users should be able to use them interchangeably without even knowing they have an object. A solid example just from the last few days on the email@example.com mailing list is that Perl’s Math::BigInt and such objects overload stringification, so if you want a string of an integer, saying “.$foo just works regardless of whether $foo is a native integer or a BigInt object. The use case was where an application using Rose::DB::Object was returning Math::BigInt objects on 32-bit platforms and native Perl integers on 64-bit platforms, and using the stringification overload was the simplest way for the application to have clean portable code.
Caleb Cushing, on 2014-07-23 16:26, said:
this reminds me of why I decided to quit looking for perl work and moved to being a java programmer. I got tired of dealing with /that guy/
Dave Rolsky, on 2014-07-23 17:31, said:
I’m not against overloading at all. I just find Perl 5’s implementation broken. Really, I think any overloading to emulate built-in types that isn’t done based on interfaces (like Go) or roles (like Perl 6) is just going to be broken.
Jeremy Leader, on 2014-07-24 11:37, said:
Did your correspondent just try to make “not knowing another language before (or after) Perl” a badge of distinction? Or a claim of authority? “I don’t know any languages other than Perl, therefore my opinion on questions of Perl style overrules yours.” Wow!
Peter Rabbitson, on 2014-07-25 04:05, said:
Dave! You are a terrible programmer!!! The shit sundae you posted back in 2010 is woefully incomplete. Here is how “real non-Java programmers” do it.
I am appaled by your lack of knowledge on the simplest of subjects, we are *NEVER* working together on anything!!!