Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • If Perl can do it, why can't you you stupid framework.

    The answer is because they, like the Java camp, have declared multiple inheritance bad. The reasoned that the work arounds weren't good enough to solve the diamond pattern in every case or they wanted to make things more "simple".

    I would not agree that lack of it makes the language broken.

    • I suspect that too much (ab)use of MI in C++ land might have lead to the descision as well. Although it is worth pointing out that it is much more difficult to handle MI sanely when you have a class system which handles your instance variables for you. Throw in virtual methods and object upcasting and you have a real nightmare trying to determine which object slot you should write too at any given moment (this is especially true if you want to agressively optimize anything). However, this does not mean that the situation is totally hopeless, Eiffel does pretty sane MI (although it does this by restricting what you can do), and the C3 MRO (see Class::C3 on CPAN) which came out of the Dylan language goes a long way to make MI sane.

      And last but not least, objects in .NET are not meant to be cutting edge stuff, but kind of a "C# as the lowest common denominator" approach instead. Hopefully the new dynamic language on .NET push (IronPython and IronRuby) will bring some improvements.

      - Stevan