Can't we just stop bickering (CROSS POST BE CAREFUL WHEN REPLYING)
Paul Duffin
pduffin at hursley.ibm.com
Wed Jun 21 08:19:10 EDT 2000
Apologies for the cross posting but I think that this is important.
For those not on comp.lang.tcl the quoted message was originally posted on
comp.lang.python under the title "Python 3000".
**** If you want to flame someone do it off line. ****
Aahz Maruch wrote:
>
> In article <20000617153652.A2727 at dophnic.yi.org>,
> Derek Moeller <moeller at dophnic.yi.org> wrote:
> >Now, I can't say I agree with posting that bit about Ruby as a follow-up to
> >mentioning Python-3k, as this was not what the original poster asked for.
>
> Yes, and that's exactly the kind of thing some Ruby people have been
> doing for a while. I'd feel exactly the same if someone posted a
> message requesting help with text processing and another person followed
> up with a message saying that Python would never be good at text
> processing and Perl was the only way to go. That goes triple if there
> were a pattern of it.
It is not just the Ruby people doing it, just recently someone posted on
comp.lang.c++.moderated and comp.lang.tcl about how to provide a Tcl
front end to a C++ program. Note that is Tcl, not Tk. And someone posted
don't use Tcl, use Python because it has a Tk binding and "Tcl is crap".
Now, front end is often used in the context of a GUI front end and
GUI + Tcl = Tk so that mistake I can live with, however I do object to
the "Tcl is crap" comment as it is just downright rude both to the
community and also to the original poster who we have to assume has taken
at least a cursory look at Tcl and thinks that it may be suitable for doing
what he wants.
Some observations
Whether you like one language over another is for a large part
"subjective", not "objective" as while there are some differences
in what they can do most languages are broadly equivalent so it
then becomes a matter of "style" or "philosophy".
Rather than accepting that we attempt to justify our "feelings"
by giving rational explanations for why we prefer one language
over another.
Rational arguments based on "feelings" quickly turn into flame
wars because when someone disagrees with us it hurts our
"feelings".
Trying to convince someone else who has used their language a lot
and is comfortable with it that your language is better is for
the most part a waste of time and also very disrespectful of
them.
No language is suitable for every job and the sooner we realise
that the better.
Maybe there is a need for a MODERATED newsgroup such as
comp.lang.scripting onto which people can post references to
the different scripting languages which are available.
"Comparisons" between different scripting languages are often
very poor because the author has already chosen the language
which they think is best and then attempt to justify that choice.
These comparisons very quickly become out of date because the
author has no incentive to keep up to date with the "other"
language(s).
All languages benefit from interaction with other languages and
CONSTRUCTIVE discussions about what is PERCEIVED to be wrong with
a language can often lead to improvements to that language.
The communities associated with these languages should cooperate
rather than fight. I understand that in an Open Source world it
is important to have "mind share" as that has an obvious impact
on your development resource. However, there is sufficient
overlap in functionality between the different communities for
cooperation to yield better results. The following areas spring
to mind but I am sure that there are others.
Cross platform functionality (huge).
Operating system access (huge).
Graphical User Interface (large).
Database access (huge).
If there is one thing that Open Source teaches us it is that
cooperation without reward works !!!!!!
As an example of the last few points, lets take Tk as an example simply
because it is about the only extension that I know which is used by Tcl,
Python, Perl, Ruby, ...
Note. The use of 'other' is not a derogatory comment.
All of those languages benefit from using Tk. However the integration of
Tk into each language is made more difficult by the fact that it requires
a Tcl interpreter to use it which increases the complexity and reduces
the performance for those 'other' languages. The solution to this problem
is to create a Tk library which does not depend on Tcl and then provide
language specific bindings to the library.
Tcl would obviously have more integration problems than it does
now but would benefit from any improvements made by the 'other'
languages.
The 'other' languages would benefit in terms of performance and
easier integration and would also be able to invest more in
improving it and fixing it.
So why is this not done, some possible quotes from those involved.
"If any language can easily come along and use it then our language
won't have any competitive advantage over that one."
"If our community does it then those other communities will use it
without giving anything back."
"I'd rather write my own than use something developed by that
community."
If you look closely you will see that they are arguments against Open
Source itself but we all know Open Source works. Maybe Open Source
only works between people and not between communities of people, maybe
communities behave more like commercial companies than commercial
companies do.
I would love to see (and this is not my idea) all of our communities
working together to produce really simple building blocks which can be
used by all of us. e.g.
Regular expression engine.
Cross platform build system.
Libraries of cross platform abstractions.
Database access systems.
GUI toolkits.
:
:
The list goes on and on and on.
Maybe this is a forlorn hope, maybe nobody in the other communities wants
this, maybe I have been contaminated by Tcl glue ;-)......
More information about the Python-list
mailing list