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

use Perl Log In

Log In

[ Create a new account ]

Ovid (2709)

  (email not shown publicly)
AOL IM: ovidperl (Add Buddy, Send Message)

Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.

Journal of Ovid (2709)

Monday May 12, 2008
08:51 AM

Steve Yegge on Dynamic Languages

[ #36391 ]

Steve Yegge transcribed an excellent talk he gave on dynamic languages. It's incredibly thought-provoking and worth reading all the way through. And for the pseudo-obligatory Perl content, here is one of his comments on marketing:

I mean, like, Perl was a marketing success, right? But it didn't have Sun or Microsoft or somebody hyping it. It had, you know, the guy in the cube next to you saying "Hey, check out this Perl. I know you're using Awk, but Perl's, like, weirder!"

And for the Big Bucket of Fail, a someone named "dibblego" had this to say about Yegge's pre-emptive apology regarding some of his colorful comments:

Some of these people are more likely to be offended by your compulsion to pass severely under-qualified comment on the topic; something you have done more than once before. The offense comes about because it is almost deliberately misleading to others who might have the desire to learn and are not in a position to know any better and may mistake your pseudo-scientific nonsense with warranted factual claims.

I say "almost deliberate" because I am more inclined to believe your desire to continue doing this is a result of your ignorance rather than malice.

Here's a tip for you kids: "dibblego" might be right, but we'll never know since he never bothers to back up his assertions. Hell, if you're going to be rude, at least be rude with some meat on, will ya?

On another note, Yegge commented that many issues with Java generics require relatively newer programmers to have at least an implicit understanding of covariance and contravariance. These deal with the substitutability of return types and parameters in OO systems and, and, and ...


Here's a tip for language designers: if an oft-used feature of your language requires a deep understanding of comp-sci/math, programmers are going to get it wrong. Here be dragons. It's OK to allow things to require advanced concepts, but not for common code that you hope to spread to the masses.

For extra credit, try to find a clear, concise explanation of covariance and contravariance (and invariance, while you're at it) that your typical Jack in the Box programmer is going to be willing to read, much less understand.

On a side note, I still think it would be good to have a "Just Enough Theory" book for programmers that explains the basics they need to know to prevent the "beat them to death with Knuth" fantasies. I don't expect a new programmer to understand why restricting first order predicate logic to horn clauses is considered (by some) to be a weakness, but they had better know about loose coupling and cohesive functions.

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.
  • I remember Steve asking a list at work how to do a recursive find/replace on a file tree with Perl since he barely knew a lick of it. He got 3 answers. He picked the worst, most verbose, and hardest to use as the best choice. This was also during a time when Steve's dev group was foisting a horrible Java piece of crap on the customer service department which took 18 months to reach 25% of the coverage of the previous command line C and Perl tools it was supposed to replace; it was also too slow to use half
    -- 120 chars should be all we're allowed for epitaphs as well.
    • He picked the worst, most verbose, and hardest to use as the best choice.

      It is practically impossible to teach good programming to students that have had a prior exposure to Java: as potential programmers they are mentally mutilated beyond hope of regeneration.

      • Speaking from personal experience, coming from a Java/C-style strict typing background and moving into Perl CAN be very difficult.

        Essentially you feel _guilty_ for not ensuring everything is of the "right" type instead of "going with the flow".

        Combine type paranoia (will the code combust at runtime if I don't pin down every detail?!) with a penchant for over-engineering problems and you have the recipe for a very unpleasant, overly-verbose muck-up.
        • Hey, I switched from Java to Perl too, mostly because I compared how much work it was to send mail from Java in 1998 with how easy it was to send mail from the shell, and then decided to use something slightly more cross-platform than whatever the default shell was on HP-UX 9.

      • True. And the exact same thing used to be said about Cobol programmers! And Fortan programmers, and...

        At least we now know Java is Cobol designed by and for accountants.
      • I think there’s a quote trying to be coined in there. Maybe “Classes are to Java programmers as GOTO is to BASIC kids”? Hm, not catchy enough.

        • Interfaces are to Java what machines are to Rube Goldberg.

        • When the only tool you have is Java, every problem looks like a FactoryFactory.

          • That doesn’t convey the punchy idea that I was hoping to capture, though: that casting every task and problem as a class hierarchy is just as brain-damaged as casting every control flow as IF GOTOs.

            • Ontology recapitulates zymarikology?

              This one goes out to all of the Greek-speaking philosophy-loving ex-biologists in the audience. (I really tried to work the word "contravariance" in there, but yeesh.)

              • LOL!

                You get some bonus points for that. The only problem is almost nobody will know what you’re talking about.

  • I still think it would be good to have a "Just Enough Theory" book for programmers that explains the basics they need to know to prevent the "beat them to death with Knuth" fantasies.

    Most of them wouldn't buy it, and most of those who did wouldn't read it.