Why we will use obj$func() often

Mark Hahn mark at prothon.org
Fri Apr 23 13:55:55 EDT 2004


"A.M. Kuchling" <amk at amk.ca> wrote in message
news:WqWdnfW7RpSmhRTdRVn-uw at speakeasy.net...
> On Thu, 22 Apr 2004 18:28:37 -0700,
> Erik Max Francis <max at alcyone.com> wrote:
> > Being a fan of Io, I think prototype-languages are interesting.  Even so
> > far, I lost interest in looking at the actual main feature of Prothon,
> > after seeing all the extra baggage that was brought on in unecessary
> > stylistic changes.
>
> There's a rule in experiments that you should only change one thing at a
> time, trying to answer a single question with each change. Prothon started
> out asking two questions:

Well, we didn't really start out to ask questions.  We started out to design
a new language.  We happened to like Python so we stole most of the syntax
from Python.  Tim Peters and some other Pythoneers saw the existence of
Prothon as an opportunity to get some of these questions answered though for
Python.

> * Does implementing an interpreter on top of the Apache Portable Runtime
>   for the sake of free threading work?  (Presumably the answer is yes,
since
>   Prothon does run.  I haven't seen performance numbers on Prothon,
though.)
> * Is prototyping a workable replacement for a class-based object system?
>   Unclear, since I don't know that anyone has written sizable systems
>   in Prothon yet.
>
> The problem is that if you then make a whole bunch of additional
changes --

> a 'with' statement,

This was required.  Not having a class statement meant there was no way to
group the definition of functions and other attribute assignments together
when building a prototype or even a plain object.  When playing with early
versions of the language it was unusable without the "with".

> changing the rules for indenting

Actually no rules changed for indenting.  Well, we added a rule that you
couldn't mix tabs and spaces within a single block, but that is not an
unreasonable requirement.  We also added a new way to do continuations, but
that is optional.

> changing the names of various built-in methods

The names are totally unchanged. We just changed the style to camelCase and
added ! and ? for readability.  These are all mechanical changes and no
memorization is required.

> it becomes harder for Python users to try out
> the new language for a while because there are more changes they have to
> cope with.  After a certain point the number of crossover users dwindles
to
> near-zero.

Yes, many people are afraid to try new things.  That is a shame.  Of course
if it was identical to Python many people still wouldn't try it.

I think everyone here is operating under fear, uncertainty, and doubt.  Most
of the reports on the Prothon mailing list of people who have actually
picked up Prothon and played with it have been happy.  People look at the
surface and are prejudiced, just like looking at people with different skin
color.

The best example is the current suggestion that self be changed to the
dollar-sign.  Now anyone with any intelligence knows that changing the 4
letters "self" to the one symbol $ does nothing to change the language, but
several people here on c. l. p. claim that because you see dollar-signs
Prothon has now "become Perl".  That is narrow-minded prejudice.  What's
funny is that many people were happy with the current Prothon's use of
period for self but object to dollar-sign because now it looks like Perl.
Go figure.

> None of these changes is critical or results in a 100%
> improvement in functionality (or even a 10% one), but their collective
> effect is to make the distance too great to cross conveniently; you might
as
> well start a new language with a blank sheet of paper at that point.

Don't forget that we are not claiming to be Python.  We intended from the
beginning to be a new language.  We are using everything from Python that
isn't broken, and we get to define what is broken in Python :)

We are definitely fighting a battle to improve things while keeping the best
of Python.  There is no way to make everyone happy.  There have been people
who have come to our mailing list whose "suggestions" for Prothon were to
basicly keep Prothon exactly like Python and not change anything.  There are
also people who claim that any change from the Self language means that it
is not a real Prototype-based language.  And of course a smattering of
people who claim it must be like Lisp :)





More information about the Python-list mailing list