[Python-Dev] deprecating string module?

Steven Lott s_lott@yahoo.com
Fri, 31 May 2002 19:11:06 -0700 (PDT)

In python, you don't need overloading, you have a variety of
optional parameter mechanisms.

I think the "member functions" issues from C++ don't apply to
Python becuase C++ is strongly typed, meaning that many similar
functions have to be written with slightly different type
signatures.  The lack of strong typing makes it practical to
write generic operations.

I find that use of free functions defeats good object-oriented
design and leads to functionality being informally bound by a
cluster of free functions that have similar names.  I'm
suspicious of this, finding it tiresome to maintain and debug.

--- "Martin v. Loewis" <martin@v.loewis.de> wrote:
> Guido van Rossum <guido@python.org> writes:
> > Is this still relevant to Python?  Why are C++ member
> functions
> > difficult to generic programs?  Does the same apply to
> Python methods?
> In a generic algorithm foo, you can write
> def foo1(x):
>   bar(x)
> if you have global functions. With methods, you need to write
> def foo1(x):
>   x.bar()
> which means that bar must be a method of x. This might be
> difficult to
> achieve if x is of a class that you cannot control. In C++, it
> is then
> still possible to define a function
> def bar(x of-type-X):
>   pass
> which, by means of overload resolution, will be found from
> foo1
> automatically.
> In Python, this is not so easy since you don't have
> overloading.
> Regards,
> Martin
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev

S. Lott, CCP :-{)
Buccaneer #468: KaDiMa

Macintosh user: drinking upstream from the herd.

Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup