> Large Python projects seem to need something more formal than this. > I think Zope, Twisted and PEAK have all invented ways to formalize > this notion, and one of them may become part of Python in the > future.
I think thats more to do with the background of the programmers involved. > small projects, duck typing and implicit protocols work pretty well. Even for large projects. Lisp, SmallTalk and ObjectiveC all use duck typing and some very large projects (several 100K of code, and a few million line plus projects) have been built using those languages. The important point is that duck typing needs to be combined with exception handling and exceptions have to be written to catch the Attribute errors that result from incorrect protocol behaviour. Provided that is done duck typing is no worse than static typed interfaces, its just a different approach. > I hope someone else will explain this better than me... I thought you did pretty good Kent! Alan G. (Just back from the Enterprise Architecture 2006 conference...) _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor