Hi Alan, > > My friend clarifies: "It's not the efficiency of doxygen that's the > > question. The problem is that you can add fields to objects as you go in > > Python so you need to do a deep analysis of the code to determine the >class > > structure which you don't have to do with C++ (or Java)." > >That's true it's one of the "benefits" of a dynamic language, but it does >make the code harder to parse.
Is this not just evidence of a very bad Python coding style? Should we not always declare *all* class fields in the class definition by assigning to them, even if the assignment is token or dummy i.e. 'None', "", [], {} etc. > > He mentioned numbers like maybe ~20+x slower on lines-of-code > > for Python vs C++. > >That sounds high, I would have expected no more than 5-10 times longer. >But of course against that we have the advantage that there will be far >fewer >lines to parse in a Python project, typically only a third or a quarter of >the number of lines - sometimes less than that. Can you cite us a literature source for saying that Python is 3-4x more expressive per line-of-code than C++? Would come in handy for evangelizing. > > A second friend of mine who is an XML/Java enthusiast echoed similar > > comments about scalability in large builds with weakly-typed dynamic > > languages such as Python. > >The concept of a "large build" doesn't really exist in an interpreted >language like Python. OTOH I probably wouldn't usePython for a >very large project - say over a million lines of code in C++ - for a >variety of other reasons. eg. Python could do it but the coordination of >multi team projects becomes harder without tools like static type >checking. Has anyone ever tried pragmas for hinting about member types as I suggested? Stephen _________________________________________________________________ A new home for Mom, no cleanup required. All starts here. http://www.reallivemoms.com?ocid=TXT_TAGHM&loc=us _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor