Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Is Python growing?

2 views
Skip to first unread message

a.clarke11

unread,
Jun 27, 2002, 6:34:36 PM6/27/02
to
I love this language, don't know any other, and use it for all sorts of
things. Thanks Guido and all you guys for the work you do.
My question is, I use 2.1 and by the time I need to update, probably the
version number will have reached Python 3.xx. Will that version have the
inherent simplicity that makes 2.1 so usable? Or will it become more
complex, and lose some of its original ease of use? By more complex, I
mean will it have a steeper learning curve for newbies, will it be
slower, will the download take longer, and will the featurelist be
significantly longer?
Other things develop until they lose their function, eg flowers,
saplings, clouds: can Python avoid increasing complexity, is that the
present trend in development?

Just wondered
Tony Clarke

Matthew Dixon Cowles

unread,
Jun 27, 2002, 10:28:55 PM6/27/02
to
On Thu, 27 Jun 2002 23:34:36 +0100, a.clarke11
<a.cla...@pop.ntlworld.com> wrote:

> My question is, I use 2.1 and by the time I need to update, probably
> the version number will have reached Python 3.xx. Will that version
> have the inherent simplicity that makes 2.1 so usable? Or will it
> become more complex, and lose some of its original ease of use? By
> more complex, I mean will it have a steeper learning curve for
> newbies, will it be slower, will the download take longer, and will
> the featurelist be significantly longer? Other things develop until
> they lose their function, eg flowers, saplings, clouds: can Python
> avoid increasing complexity, is that the present trend in
> development?

Dear Tony,
Entire flamewars have been written on the subject <wink> but here's my
opinion: I suspect that you'll be OK. Indeed, I'm placing my own bets
that way.

Here's why I think that: It's not just complexity that's good to
avoid, it's certain kinds of complexity. Python will surely get new
features, but Python doesn't have to be much harder to learn and can
be easier to use if (only) the right features are included.

Python is wonderfully easy to get started with. But someone who's new
to programming doesn't need to learn everything about Python in order
for it to be useful and fun. (That sounds obvious but it's less true
in many other languages.) So if Guido adds a feature here and there,
that doesn't necessarily make the learning curve much worse. I've been
using Python for some years now and there are corners of the standard
library that I haven't explored because I haven't needed to. Indeed,
there are aspects of the core language that I haven't found out much
about because I haven't needed them.

On the other hand, some features make Python much easier to use and
read. A while ago, I replaced:

def lengthOfLongestStr(list):
l=len(list[0])
for count in range(1,len(list)):
if len(list[count])>l:
l=len(list[count])
return l

with

def lengthOfLongestStr(myList):
return max([len(s) for s in myList])

To my eye, the second one is much easier to read. Similarly, writing
something like:

countWidgetsFound=countWidgetsFound+1

as

countWidgetsFound+=1

makes the intention clearer and avoids the chance of making a typo.

I'm happy to trust Guido to add the right features.

Regards,
Matt

Paul Rubin

unread,
Jun 27, 2002, 11:10:19 PM6/27/02
to
Matthew Dixon Cowles <ma...@mondoinfo.com> writes:
> On the other hand, some features make Python much easier to use and
> read. A while ago, I replaced:
>
> def lengthOfLongestStr(list):
> l=len(list[0])
> for count in range(1,len(list)):
> if len(list[count])>l:
> l=len(list[count])
> return l
>
> with
>
> def lengthOfLongestStr(myList):
> return max([len(s) for s in myList])
>
> To my eye, the second one is much easier to read.

Well, you could have said

def lengthOfLongestStr(myList):
return max (map (len, myList))

without needing any new features added.

G. Willoughby

unread,
Jun 28, 2002, 8:47:26 AM6/28/02
to
> Well, you could have said...

Theres always one isn't there? ;-)

--G. Willoughby


Steve Holden

unread,
Jun 28, 2002, 9:53:42 AM6/28/02
to
"Paul Rubin" <phr-n...@NOSPAMnightsong.com> wrote ...

NOW you tell him.

regards
-----------------------------------------------------------------------
Steve Holden http://www.holdenweb.com/
Python Web Programming http://pydish.holdenweb.com/pwp/
-----------------------------------------------------------------------

Mark McEahern

unread,
Jun 28, 2002, 8:33:31 AM6/28/02
to
[Matthew Dixon Cowles]
[...]

> Python is wonderfully easy to get started with. But someone who's new
> to programming doesn't need to learn everything about Python in order
> for it to be useful and fun. (That sounds obvious but it's less true
> in many other languages.) So if Guido adds a feature here and there,
> that doesn't necessarily make the learning curve much worse. I've been
> using Python for some years now and there are corners of the standard
> library that I haven't explored because I haven't needed to. Indeed,
> there are aspects of the core language that I haven't found out much
> about because I haven't needed them.
[...]

This is true for me as well. For instance, I typically don't use map,
filter, zip, et al. Paul Rubin replied to your post with an example that
used max and map to return the longest string in a list. What's so
beautiful about Python is that all I had to do was fire up the interactive
interpreter and do this to remind myself of what map does:

>>> print map.__doc__

So not only is the language incredibly expressive, clear, and pragmatic, but
it provides tools for exploration that make it easy to focus on what works.
Those tools allow you to expand your working subset of the language slowly
over time as needed.

// m

-

Gerhard Häring

unread,
Jun 28, 2002, 11:02:59 AM6/28/02
to
Mark McEahern wrote:
> [...] What's so

> beautiful about Python is that all I had to do was fire up the interactive
> interpreter and do this to remind myself of what map does:
>
> >>> print map.__doc__

help(map) in 2.2.

Gerhard
--
mail: gerhard <at> bigfoot <dot> de registered Linux user #64239
web: http://www.cs.fhm.edu/~ifw00065/ OpenPGP public key id 86AB43C0
public key fingerprint: DEC1 1D02 5743 1159 CD20 A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))

scott

unread,
Jun 29, 2002, 12:53:23 AM6/29/02
to
Gerhard Häring wrote:
> Mark McEahern wrote:
>
>>[...] What's so
>>beautiful about Python is that all I had to do was fire up the interactive
>>interpreter and do this to remind myself of what map does:
>>
>> >>> print map.__doc__
>
>
> help(map) in 2.2.
>
> Gerhard

Or 2.1.1.

Gerhard Häring

unread,
Jun 29, 2002, 1:10:09 AM6/29/02
to
Am Sat, 29 Jun 2002 04:53:23 GMT schrieben Sie:
> Or 2.1.1.

No. Of course, for anything more recent than 2.2.0, yes.

Gerhard
--
mail: gerhard <at> bigfoot <dot> de registered Linux user #64239

web: http://www.cs.fhm.edu/~ifw00065/ OpenPGP public key id AD24C930
public key fingerprint: 3FCC 8700 3012 0A9E B0C9 3667 814B 9CAA AD24 C930

scott

unread,
Jul 2, 2002, 6:16:44 PM7/2/02
to
Gerhard Häring wrote:
> Am Sat, 29 Jun 2002 04:53:23 GMT schrieben Sie:
>
>>Gerhard Häring wrote:
>>
>>>Mark McEahern wrote:
>>>
>>>
>>>>[...] What's so
>>>>beautiful about Python is that all I had to do was fire up the
>>>
>>interactive
>>
>>>>interpreter and do this to remind myself of what map does:
>>>>
>>>>
>>>>>>>print map.__doc__
>>>>>>
>>>
>>>help(map) in 2.2.
>>
>>Or 2.1.1.
>
>
> No. Of course, for anything more recent than 2.2.0, yes.
>
> Gerhard

You are mistaken Gerhard. 2.1.1 (Activestate on NT4) is demonstrated below:

bash-2.02$ python
ActivePython 2.1.1, build 212 (ActiveState)
Python 2.1.1 (#20, Jul 26 2001, 11:38:51) [MSC 32 bit (Intel)] on win32
Type "copyright", "credits" or "license" for more information.
Alternative ReadLine 1.4 -- Copyright 2001, Chris Gonnerman
>>> help(map)
Help on built-in function map:

map(...)
map(function, sequence[, sequence, ...]) -> list

Return a list of the results of applying the function to the items of
the argument sequence(s). If more than one sequence is given, the
function is called with an argument list consisting of the
corresponding
item of each sequence, substituting None for missing values when
not all
sequences have the same length. If the function is None, return a
list of
the items of the sequence (or a list of tuples if more than one
sequence).

>>> print map.__doc__
map(function, sequence[, sequence, ...]) -> list

Return a list of the results of applying the function to the items of
<snip>
--
Colorless green ideas sleep furiously.
Chomsky

Gerhard Häring

unread,
Jul 2, 2002, 6:30:13 PM7/2/02
to
* scott <sma...@hotmail.com> [2002-07-02 22:16 +0000]:
> Gerhard Häring wrote:
> [help builtin only available in Python 2.2 or later]

>
> You are mistaken Gerhard. 2.1.1 (Activestate on NT4) is demonstrated
> below:
>
> bash-2.02$ python
> ActivePython 2.1.1, build 212 (ActiveState)
> Python 2.1.1 (#20, Jul 26 2001, 11:38:51) [MSC 32 bit (Intel)] on win32
> Type "copyright", "credits" or "license" for more information.
> Alternative ReadLine 1.4 -- Copyright 2001, Chris Gonnerman

It's either ActiveState or your Alternative ReadLine that's installing
pydoc.help as a builtin. In the standard Python 2.1.x, it isn't there.

scott

unread,
Jul 4, 2002, 9:22:45 PM7/4/02
to
Gerhard Häring wrote:
>
> * scott <sma...@hotmail.com> [2002-07-02 22:16 +0000]:
> > Gerhard Häring wrote:
> > [help builtin only available in Python 2.2 or later]
> >
> > You are mistaken Gerhard. 2.1.1 (Activestate on NT4) is demonstrated
> > below:
> >
> > bash-2.02$ python
> > ActivePython 2.1.1, build 212 (ActiveState)
> > Python 2.1.1 (#20, Jul 26 2001, 11:38:51) [MSC 32 bit (Intel)] on win32
> > Type "copyright", "credits" or "license" for more information.
> > Alternative ReadLine 1.4 -- Copyright 2001, Chris Gonnerman
>
> It's either ActiveState or your Alternative ReadLine that's installing
> pydoc.help as a builtin. In the standard Python 2.1.x, it isn't there.
>
> Gerhard

bash-2.02$ cd /Python21
bash-2.02$ cat changes-ActivePython.txt
ActivePython changes to Python
------------------------------

This document describes changes made to the core Python sources by
ActiveState Tool Corp. for the ActivePython distribution.

1. The Python interactive shell version/copyright-info message was
extended
to properly identify the Python executable as ActivePython (with the
appropriate ActivePython version number).

2. Aesthetic changes were made to the standard Python documentation.

****3. Add the "help" command which calls Ping's pydoc.help****

4. Include the Tools/ directory in the installation. (a change to
the Un*x make install target).

5. Minor build system changes to compile the _tkinter Python extension
module.

6. Improve the error messages for Ping's pydoc when it is called from
Unix with a wrong version of Python.

--
ActiveState Tool Corp.
18 April, 2001

Chris Gonnerman

unread,
Jul 5, 2002, 1:26:29 AM7/5/02
to
----- Original Message -----
From: "scott" <sma...@hotmail.com>


> Gerhard Häring wrote:
> >
> > * scott <sma...@hotmail.com> [2002-07-02 22:16 +0000]:
> > > Gerhard Häring wrote:
> > > [help builtin only available in Python 2.2 or later]
> > >
> > > You are mistaken Gerhard. 2.1.1 (Activestate on NT4) is demonstrated
> > > below:
> > >
> > > bash-2.02$ python
> > > ActivePython 2.1.1, build 212 (ActiveState)
> > > Python 2.1.1 (#20, Jul 26 2001, 11:38:51) [MSC 32 bit (Intel)] on
win32
> > > Type "copyright", "credits" or "license" for more information.
> > > Alternative ReadLine 1.4 -- Copyright 2001, Chris Gonnerman
> >
> > It's either ActiveState or your Alternative ReadLine that's installing
> > pydoc.help as a builtin. In the standard Python 2.1.x, it isn't there.
> >
> > Gerhard

The Alternative Readline is my code, and it doesn't do squat with
pydoc.help.

FWIW.

Chris Gonnerman -- chris.g...@newcenturycomputers.net
http://newcenturycomputers.net

0 new messages