All the Perl that's Practical to Extract and Report

Navigation

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Without JavaScript enabled, you might want to
use the classic discussion system instead. If you login, you can remember this preference.

That's key. I can take lots of stuff in small doses, and enjoy it. Just not PHP.

When writing Java, I used to use kaffe and jikes. Both are pretty small, and both are open source and support my old, slow hardware. jikes is extremely fast. kaffe only does 1.1ish or 1.2ish, but at the time you had to program down to that version anyway to support MS's fuxored Java version they distributed with IE. And then compared to Flash, which was barely programmable at all in its first version, everything was a lot more transparent and exposed.

Having a nice large standard class library to play with isn't as much fun as having an expressive language, but it is fun to play with and is rewarding.

And I am kind of an OO snob. Java suits that side of me. It's not the least bit out of place to worry about which classes can see which other classes and what kind of interfaces they're presenting for each other. Boring for most Perl programmers perhaps but most Perl programmers would do well to spend some time ignoring the language itself and just concentrate on design. Spending time in the Java camp is a great way to do that. I enjoy making interfaces, virtual classes, inner classes, and so on and so forth.

Also unlikely PHP, the Java world is large, with lots of culture (even if it isn't my beloved culture of mad scientists) and goings ons.

No, actually... I intentionally avoided discussion of private, protected, public etc because of this essay. I said "interfaces" and "which classes can see each other", which is in reference not to hiding bits of themselves but simply who has references to who and what the basic topology of the application is. You can hardly invoke the "stay out of my livingroom not because I have a shotgun" argument to justify writing a God Object. Sometimes strong typing makes sense; aside from that, large projects need

You can hardly invoke the “stay out of my livingroom not because I have a shotgun” argument to justify writing a God Object.

But you don’t need mandatory controls if you’re writing a God object either. You won’t understand the need for them until you try to do good OO design, just like a ten-liner can be written without strictures too. Access controls are just another aspect of the sort of design you are talking about.

Quick recap.1. I argued that Perl programmers could benefit from some time spent on OO design, and give thought to things like interfaces and which objects can see which other objects.

2. You object on the grounds that Perl doesn't need forced encapsulation.

3. I clarify that at no point in that point did I argue for forced encapsulation (though I did at another point, but at that point, I was talking about something else). I restate that, ignoring enforced encapsulation, Perl programmers don't do nearly as

Every now and then, I post a disclaimer on my blog, saying that I will be extremely mean to anyone who doesn't follow the house rules. I know I can't impose them, but I can be quite mean. So, please don't do certain things on my blog. But first I ask people to go away. Aristotle [sic] made it to this point and continued on, all the while acting oblivious.This isn't a discussion of whether Perl programmers could benefit from learning more about OO design as it was traditionally taught in the late 80's an

What? Where have I been saying that Perl does not need forced encapsulation? First I agreed with you, then I argued twice that Perl does need mandatory controls, and now you tell me I said the opposite. Did you even read what I was saying? Or did you immediately go crosseyed and started looking for a misinterpretation of what you said so you had some grounds to get pissed off again?

I agree that we have a case of someone being a twit here, but it ain’t me.

Crossed eyes? Perhaps. Let me re-read, in that case."Access controls are just another aspect of the sort of design you are talking about."

Okay, they're another aspect of it -- does this mean that good design is pointless because access controls are pointless (which is how I took it) or does it mean that, being a seperate aspect, they're simply related in some ways but not others, and if that's the case, what did I fail to read between the lines?

Since you often complain about people failing to address the actual argument, I opted to moved all the incidental but off-topic quibbles to a second reply so they don’t get in the way of my real response.

Anyway, I wanted to nitpick the following statements:

Interfaces are a way of keeping straight

I don’t like interfaces in particular. As seen in Java, they fall out of a confusion and conflation of language design goals. Traits/roles are a much superior concept.

Alright, that was slightly better than I had hoped for but I'm unswayed with regards to whether I want to talk to you.My comment was that Perl programmers should spend more time worrying about interfaces and the structure of the code; your retort was that interfaces are poorly implemented and Perl 6's traits and roles are better. That's great... but it's also completely off topic. The point wasn't "Java is better than Perl". That wasn't even the title of the essay. It seems to be a conclusion you slippe

My comment was that Perl programmers should spend more time worrying about interfaces and the structure of the code

Which I agreed with. And in the same breath I pointed to one of my posts in another place where I say that Perl programmers chanting “we prefer politeness not shotguns” is misguided, which I think of as being a sign of the same immaturity.

That’s great… but it’s also completely off topic.

Wow, you found the start of my post (where I said all therein was just

most Perl programmers would do well to spend some time ignoring the language itself and just concentrate on design.

Hmm, I think of Perl programmers as actually focusing more on design than the Java I've seen. For a community that values TMTOWTDI, there sure is a lot of emphasis at times on making sure you do things the One True Best Way, which can be good for design. That's one reason I ask Perl programmers questions involving other languages.

I, too, really like interfaces.:) Unfortunately the Java programmers I've dealt with never use them.:(

--J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers

There is a movement in the Perl community towards clean code (Perl::Critic). We collectively seem to have fallen in love with MVC frameworks. In trying to do things the right way, we obsess over decisions like Mason or Template::Toolkit.

But, compared to the Java camp, we don't read about OODA. (We also don't read about project management methodologies, which is a good thing, IMO.) Rather than going out and buying _Design Patterns_ and _Refactoring: The Art of Improvi