Slash Boxes
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.
More | Login | Reply
Loading... please wait.
  • The idea that a language should only provide a single programming paradigm, be it OO, Functional, Logic, etc etc etc, is both outdated and just an overall bad idea. In fact, the idea that a programming language should even just focus on a single paradigm is loosing ground as well. Just ask your favorite formerly-Java-now-Ruby fanatic and they will likely tell you how nice it is to have first-class blocks.

    I would argue that Perl is not only the sysadmins Swiss Army Chainsaw, but also the programming language researchers Swiss Army Chainsaw too. Having implemented early prototypes of the Perl 6 metamodel in Perl 5 [], Java (w/ help from other #perl6-ers) [], Common LISP and Javascript (the last two are not online), I have to say that Perl 5 was by far the malleable of the group (LISP came in a close second, followed by Javascript). In fact, the current Perl 6 metamodel now in Pugs is written in Haskell [], but was initially prototyped in Perl 5 [], which was written using Moose [] which itself is a Perl 5 port of the Perl 6 metamodel, bringing it back full circle. Try doing that in Java ;)

    I guess what I am trying to say is that anyone who tells you there is no such thing as "Perl OO" is both wrong (they are trying to be a purist, but if they are not a Smalltalk developer, they have no ground to stand on), and not very smart. Anyone who doggedly sticks to a single paradigm is almost certainly wasting a *huge* amount of effort reinventing or reimplementing the other paradims within that singular paradigm. Which reminds me of a great quote about LISP:

    Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. (Philip Greenspun)

    Just remap the language names to programming paradigms and I think the same truth can be found.

    - Stevan