On Wed, Nov 24, 2010 at 7:01 AM, Gabor Szabo <szab...@gmail.com> wrote: > The other day I was at a client that uses Perl in part of their system and we > talked a bit about the language and how we try to promote it at various > events. > > Their "Perl person" then told me he would not use Perl now for a large > application because: > > 1) Threads do not work well - they are better in Python and in Java. > > 2) Using signals and signal handlers regularly crashes perl. > > 3) He also mentioned that he thinks the OO system of Perl is a hack - > that the objects are hash refs and there is no privacy.
Out of curiosity, do you know what version of Perl they were running? With respect to #1, I'd like to see more energy around lightweight processes. E.g. what can we steal from Erlang. Parallel::Iterator is a nice example of what can be done using processes instead of threads, but it's not a general solution. With respect to #3, it doesn't sound like a technical objection, but a style objection. There is pretty much no privacy in perl at all -- it has nothing to do with objects. Even inside out objects can be "defeated" with PadWalker. I think the only option to overcome an objection like that is to attempt to demonstrate the benefits of flexibility to choose the right OO system for a particular purpose. Need stronger encapsulation, look at Class::InsideOut or Object::InsideOut. Want a powerful (if slowish) post-modern OO framework, choose Moose. Etc. -- David