Does Python really follow its philosophy of "Readability counts"?

Paul Rubin http
Wed Jan 21 08:30:32 CET 2009

Bruno Desthuilliers <bruno.42.desthuilliers at websiteburo.invalid> writes:
> > Zope is about 375 KLOC[1],
> How many LOCS would it require if it was written in ADA ?

No idea.  Ada is a lot more verbose than Python, but I'm baffled at
what the heck Zope is actually doing with all that code.

> > Zope also has 275 open bugs, 6 of which are critical.
> None of which are going to *kill* anyone FWIW. Now how many of these
> bugs would have language-enforced access restriction prevented ?

I'm not about to audit 375 KLOC of code to find out.  Regardless of
whether access restriction actually prevents bugs though, it certainly
makes auditing easier.  And auditing does find bugs.

> >[2] The Space Shuttle avionics (written in the 1980's!) are 2 MLOC
> of a hi-level dynamic language ? Hm, I guess not.

I think written in some forerunner of Ada.

> Given the difference in LOCS count between a low-level static language
> and a hi-level dynamic language for the implementation of a same given
> features set, you cannot just define "large" by the # of LOCS. Not
> that I'm going to compare Zope with Space shuttle's stuff.

I don't think static vs dynamic makes much difference in the amount of
LOCS to accomplish some function.  In my limited experience with
Haskell (statically typed but very high level), it takes around the
same amount of Haskell code as Python code (sometimes more, sometimes
less) to do a given task.  More important for concise code is features
like higher-level functions and types (e.g. it's easy in Python or
Haskell, but a huge pain in Java or C, to write down a value that is a
list of dictionaries whose keys are tuples and whose values are more
lists of dictionaries, to code something list a listcomp, etc).

More information about the Python-list mailing list