[Python-3000] pep 3124 plans (original) (raw)
Greg Ewing greg.ewing at canterbury.ac.nz
Tue Jul 24 01:58:10 CEST 2007
- Previous message: [Python-3000] pep 3124 plans
- Next message: [Python-3000] pep 3124 plans
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Phillip J. Eby wrote:
In order to follow things through with normal method calls, you have to know where a class is in the program, implying that you either search for it, or have read enough of the program to figure it out.
Which of these two things is different with generic functions?
A class is defined in just one place, or a limited number of places if it has base classes.
It also provides a convenient mental chunk under which to group all the operations that it implements. With GFs, there is no such obvious mental grouping.
if you're going to be grepping for 'foo', it doesn't matter whether it's a method name or a generic function name -- you're still going to find all the definitions.
No, you're going to find every function whose name is 'foo', whether it's a method of the particular GF you have in mind or not. A considerably smarter tool than grep would be needed.
Since they make my world simpler,
Are you talking about code that you've written yourself here, or do you find they make code written by others easier to understand as well?
I'd have to disagree with such a blanket statement.
Grep (or whatever global search tool your editor provides) is your friend. It ain't perfect, but it's just as much required (and equally imperfect) for global analysis of a traditionally-OO program.
Most of the time I find that I don't need to perform global analysis of a traditionally-OO paradigm. The conceptual encapsulation provided by classes makes that unnecessary. GF breaks that encapsulation, or at least to my mind it seems to, and that makes me uncomfortable.
-- Greg
- Previous message: [Python-3000] pep 3124 plans
- Next message: [Python-3000] pep 3124 plans
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]