[Edu-sig] OT: Good idea - [reading source code]

Arthur ajsiegel@optonline.net
Sat, 28 Jun 2003 09:17:45 -0400


Danny writes -

>Yes, I also agree that code should be treated as literature.  As writers,
>we have a responsibility to do our fair share of reading good code!  I'm
>not sure if Microsoft Access qualifies, but it must be better than
>nothing.  *grin*


And this from the Eric Raymond entry on Agile Porgramming that Jason pointed
to a few posts back.
"""

Working software over comprehensive documentation. That's us, too. In fact,
the radical hacker position is that source code of a working system is its
documentation. We, more than any other culture of software engineering,
emphasize program source code as human-to-human communication that is
expected to bind together communities of cooperation and understanding
distributed through time and space. In this, too, we build on and amplify
Unix tradition.

"""

And I can't help making this related point, as much as I am sure folks are
uninterested in hearing me talk about my pet project. And depsite the fact I
am supposed to be uninterested in the uninterested.

But a key idea behind PyGeo is that the source as literature is part of the
application.  The concept though is not so much to expose the programming
logic, but to expose the analytics.  The "synthetic" geoemetry we are seeing
on the screen is being driven by the analytic geometry accessbile in the
code. And this synthesizes the study of geometry in a way that was not
before (mass access to computers) possible in quite the same way. By having
the source in Python (and accepting a bit of a performance hit) I am able
to, I think, expose the analytics much more clearly to the non-specialist
(in programming) than I might be able to so in any other programming
language of which I am aware.

>The only time I saw code reading really emphasized in high school, though,
>was during the reading of test questions; we were otherwise left to our
>own devices.  But what kinds of good Python "literature" can educators
>use?


As far as I am capable, I am making that effort with the PyGeo code.  The
fact is that using geometric "objects" to introduce programming concepts
(such as OOP inheritance), is an established tradition, almost as endemic as
the "Hello World" program.  I accept the fact that I am not fully capable.
I find it harder to accept the fact that because there is lots of math in
there, it is unfit for the purpose, as there seems to be some growing
Chinese wall between math and programming education.  Which is horribly
misguided, IMO.



Art