What's better about Ruby than Python?

Doug Tolton dtolton at yahoo.com
Wed Aug 20 14:01:37 EDT 2003


On Tue, 19 Aug 2003 13:43:11 +0200, Alex Martelli <aleaxit at yahoo.com>
wrote:

>Doug Tolton wrote:
>   ...
>> abstractions and better programmer productivity.  Why not add Macro's
>> allowing those of us who know how to use them and like them to use
>> them.  If you hate macros, or you think they are too slow, just don't
>> use them.
>
>"No programmer is an island"!  It's not sufficient that *I* do not use
>macros -- I must also somehow ensure that none of my colleagues does,
>none of my clients which I consult for, nobody who posts code asking
>for my help to c.l.py or python-help -- how can I possibly ensure all
>of this except by ensuring that macros ARE NOT IN PYTHON?!  "Slow" has
>nothing to do with it: I just don't want to find myself trying to debug
>or provide help on a language which I cannot possibly know because it
>depends on what macros somebody's defined somewhere out of sight.  Not
>to mention that I'd have to let somebody else write the second edition
>of the Nutshell -- if Python had macros, I would have to cover them in
>"Python in a Nutshell".
>

Sadly, I would say that is something that would sway me.  I love my
Python in a Nutshell book.  I have that baby on my desk and I refer to
it *daily*.  Although I'd say that's more extortion than a winning
argument!! :-p

I just don't see Macros as the huge threat you do.  As someone
mentioned in a previous post, the option would require to do declare
explicitly that you are using Macros.  Why is that such a *huge*
issue?  Why is it that the very *existence* of a Macro in a program
would offend your sensibilities?

>  They don't change the underlying language, they just add a
>> more useful abstaction capability into the language.
>
>They may not change the "underlying" language but they sure allow anybody
>to change the language that is actually IN USE.  That is definitely NOT
>what I want in a language for writing production-level applications.

I tend to disagree on this point.  I like the idea of being able to
treat commonly reused idioms as if they are a part of the language.

>
>I dearly hope that, if and when somebody gives in to the urge of adding
>macros to Python, they will have the decency to FORK it, and use an
>easily distinguishable name for the forked Python-with-macros language,
>say "Monty".  This way I can keep editing future editions of "Python in
>a Nutshell" and let somebody else write "Monty in a Nutshell" without
>any qualms -- and I can keep programming applications in Python, helping
>people with Python, consulting about Python, and let somebody else worry
>about the "useful abstaction" fragmentation of "Monty".  If that "useful
>abstaction" enters the Python mainstream instead, I guess the forking 
>can only be the last-ditch refuge for those of us (often ones who've seen
>powerful macros work in practice to fragment language communities and
>end up with "every programmer a different language"... do NOT assume that
>fear and loathing for powerful macro systems comes from LACK of experience
>with them, see also the Laura Creighton posts whose URLs have already
>been posted on this thread...) who'd much rather NOT have them.  But maybe
>moving over to Ruby might be less painful than such a fork (assuming THAT
>language can forever stay free of powerful macro systems, of course).

That certainly is one way for it to happen. I must say I certainly am
suprised at your vehemence.  I don't think the natural state of human
beings is singular in purpose or design.  I think the natural state of
humans is to fracture into competing camps / factions.  *Every* human
system of any size has factions of some sort or another.  I think the
power of Unix / Linux in general has been in working to allow these
factions to Co-exists peacefully.  By trying to prevent factioning
within the community, I think you will ultimately only be successful
in driving people with different viewpoints out of the community.
>
>I have nothing against macros *IN GENERAL*.  I just don't want them *in
>my general-purpose language of choice for the purpose of application
>programming*: they add NOWHERE NEAR ENOUGH PRODUCTIVITY, in application
>programming, to even START making up for the risks of "divergence" of
>dialects between individuals, groups, and firms.  If I was focused on
>some other field than application programming, such as experimental
>explorations, tinkering, framework-writing, etc, I might well feel quite
>otherwise.  But application programming is where the big, gaping hole
>of demand in this world is -- it's the need Python is most perfectly
>suited to fulfil -- and I think it's the strength it should keep focus
>and iinvestments on.

Again, I disagree.  It appears to me as though you've had some near
death experience with Macros that left a sore taste in your mouth.
Could you elaborate some on what your experience has been that turned
you so definitively sour on Macros?
>
>Alex

Doug Tolton
(format t "~a@~a~a.~a" "dtolton" "ya" "hoo" "com")




More information about the Python-list mailing list