[sf-perl] [meeting] Pegex and Acmeism

Quinn Weaver quinn at fairpath.com
Sun Oct 16 14:37:44 PDT 2011


On Sun, Oct 16, 2011 at 1:36 PM, Joseph Brenner <doom at kzsu.stanford.edu> wrote:
> Rich Morin <rdm at cfcl.com> wrote:
>> Joseph Brenner wrote:
>>> That's one of the reasons that I think the "mental exercise"
>>> argument for learning another language is pretty weak.  I'm
>>> someone who's more-or-less a "perl programmer", but I
>>> couldn't avoid using a half-dozen languages (of one sort or
>>> another) if I wanted to.  And I could easily spend my life
>>> getting mental exercise by learning my way around new CPAN
>>> modules.
>>
>>  "A language that doesn't affect the way you think about
>>   programming, is not worth knowing."
>
> Just for arguments sake, I would suggest adopting a different
> methodology is what that's really about, where the assumption is that
> the language is going to bring that with it.  But you can do something
> similar with a bit of discipline ("This time, let's do this with
> callbacks and closures instead of objects").

Just to continue the argument, I'd say it depends on the language(s)
you're working in. Most languages won't let you do anything like Lisp
macros. Some won't let you do closures. Perl won't let you have
private or protected members or methods in your objects (if you do
Perl OO the canonical way), which has led to really tortuous
workarounds. You can argue that private data aren't really an
important feature anyway, but it's an example.

In some cases, Language A will let you use a technique from Language
B, but it's not a good idea. For instance, most languages let you do
tail recursion, but it can blow up the stack because they don't do
tail call elimination. So you're better off writing iterative code.

--
Quinn Weaver
PostgreSQL Experts, Inc.
http://pgexperts.com/
1-888-743-9778 (my extension: 510)


More information about the SanFrancisco-pm mailing list