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