Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Concepts RE: Python evolution: Unease

Reply
Thread Tools

Concepts RE: Python evolution: Unease

 
 
Roman Suzi
Guest
Posts: n/a
 
      01-05-2005
On Wed, 5 Jan 2005, EP wrote:

>Roman wrote:
>
>> Maybe OP doesn't yet fully comprehend the ways of Python universe?

>
><snip>
>
>> > Don't misinterpret this response. I know it was a rambling. But

>> *maybe* you
>> > have something to contribute to Python development, even good ideas

>> only and
>> > no work.
>> >
>> > . Facundo

>
>
>Am I selling Snake Oil?
>
>What I do have is a "forest" instead of an "in the trees" perspective, and
>from a forest view I see a lot of defensiveness about Python's hypothetical
>shortcomings. No one needs be defensive, Python is an amazing programming
>language, and everyone involved with its development, evolution, support and
>codebase ought to feel quite good about it.


-skip-

It's c.l.p and people are free to express their opinions. Even negative.
This helps improve Python.

As for concepts, they are from Generic Programming (by Musser and Stepanov)
and I feel that Python is in position to implement them to the fullest extent.
And IMHO it will be nicer than just Java-like interfaces or Eiffel's contract
approach.

I can try to write a PEP "Generic Programming Concepts".


Sincerely yours, Roman Suzi
--
http://www.velocityreviews.com/forums/(E-Mail Removed) =\= My AI powered by GNU/Linux RedHat 7.3
 
Reply With Quote
 
 
 
 
Paul Rubin
Guest
Posts: n/a
 
      01-05-2005
Roman Suzi <(E-Mail Removed)> writes:
> As for concepts, they are from Generic Programming (by Musser and
> Stepanov) and I feel that Python is in position to implement them to
> the fullest extent. And IMHO it will be nicer than just Java-like
> interfaces or Eiffel's contract approach.


I keep hearing that term (GP). Can someone explain in a few sentences
what it means, without resorting to marketing buzzwords?

There is nothing in Wikipedia about it.
 
Reply With Quote
 
 
 
 
Paul Rubin
Guest
Posts: n/a
 
      01-05-2005
Paul Rubin <http://(E-Mail Removed)> writes:
> There is nothing in Wikipedia about [Generic programming].


Oops: http://en.wikipedia.org/wiki/Generic_programming

This helps. But I don't see how it's different from what used to
be called polymorphism.
 
Reply With Quote
 
Skip Montanaro
Guest
Posts: n/a
 
      01-05-2005
Paul> Oops: http://en.wikipedia.org/wiki/Generic_programming

Paul> This helps. But I don't see how it's different from what used to
Paul> be called polymorphism.

I think of generic programming as polymorphism for statically typed
languages. Using the example from the Wikipedia reference, you can't have a
generic List class that can hold a list of ints as well as a list of animals
without using templates.

Skip

 
Reply With Quote
 
Roman Suzi
Guest
Posts: n/a
 
      01-05-2005
On Wed, 5 Jan 2005, Paul Rubin wrote:

>Paul Rubin <http://(E-Mail Removed)> writes:
>> There is nothing in Wikipedia about [Generic programming].

>
>Oops: http://en.wikipedia.org/wiki/Generic_programming
>
>This helps. But I don't see how it's different from what used to
>be called polymorphism.


I already posted these links. They seem to give more fundamental
definitions than wikipedia:

'''
1. http://www.cs.rpi.edu/~musser/gp/

2. "A Formalization of Concepts for Generic Programming"
(google could find PDF of that). If I am correct, this one:
http://www.osl.iu.edu/publications/p...ener_progr.pdf

(it is safe to skip till example on Fig.1 to grasp the idea behind
a concept. Relations between concepts are also very logical and
remind of inheritance, association and aggregation)

3. "The Boost Graph Library" by Jeremy Siek, et al with A.Stepanov's
foreword is a good way to see GP != STL.
'''

As for polymorphism, yes, polymorphism. But any decent language has some sort
of polymorphism today. The essense of concepts is that they provide
formalities for (call them) contracts, interfaces, etc. Concepts from GP
gather all these together and call it a concept: a family of similar types.

Python already uses concepts implicitly, by convention. And we know them well:
file-like objects, sequences, maps, sets, queues, arrays, etc.
My "marketing" of GP is directed to formalise on concepts instead of
partial cases (design-by-contract, interfaces etc).

Thus, concepts control polymorphism not only from liberation side, but
from constraint side too. Right now concepts in Python are reused
here and there without explicit mentioning. Concepts could help
make code even more reusable.


Sincerely yours, Roman Suzi
--
(E-Mail Removed) =\= My AI powered by GNU/Linux RedHat 7.3
 
Reply With Quote
 
corey
Guest
Posts: n/a
 
      01-06-2005

Roman Suzi wrote:
> On Wed, 5 Jan 2005, EP wrote:
>

<snip>
>
> I can try to write a PEP "Generic Programming Concepts".
>


That would be great. It's so hard to get your head around an abstract
concept (a thought, not a programming concept) without a concrete
example in some form of syntax. I think that's what's throwing off
most people from the idea.
And if you really do want to get it incorporated into whatever Guido is
thinking, it would probably be best to hurry.

 
Reply With Quote
 
Jeremy Bowers
Guest
Posts: n/a
 
      01-06-2005
On Wed, 05 Jan 2005 12:15:29 +0300, Roman Suzi wrote:
> As for concepts, they are from Generic Programming (by Musser and
> Stepanov) and I feel that Python is in position to implement them to the
> fullest extent. And IMHO it will be nicer than just Java-like interfaces
> or Eiffel's contract approach.
>
> I can try to write a PEP "Generic Programming Concepts".


I'd like to see this.

As corey says, sooner rather than later is good. Release Early, Release
Often

I'm still skeptical on how *most* Generic Programming concepts are an
improvement, but while I don't know much about how "concepts" formally
work I know I like the name... and that's a start. I'd love to see my
skepticism proved wrong.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Concepts, concepts, concepts... Trans Ruby 0 04-23-2006 11:56 AM
RE: Python evolution: Unease Roman Suzi Python 52 01-08-2005 03:06 AM
Re: Python evolution: Unease Carlos Ribeiro Python 9 01-07-2005 06:31 AM
Python evolution: Unease Iwan van der Kleyn Python 44 01-07-2005 02:12 AM
Python design strategy (was Python evolution: Unease) ajsiegel@optonline.net Python 1 01-04-2005 07:28 PM



Advertisments