Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tlug] Making programming easier... or something like that



Attila Kinali writes:

 > Would someone lend me a hand and give me some pointers to stuff
 > i could read about programming as a mental work and how people
 > learn it?

Start with The Mythical Man-Month, of course.  Get the 20th
Anniversary Edition, which includes Brooks' thoughts about "what a
long, strange trip it's been" in additional chapters, as well as the
classic "No Silver Bullet".

Next, type "python -m this" at any command prompt.

Then read the Beautiful Stuff (Code, Tests, etc) series.

Starting at any Agile site should point you to some of what you want.
I've got some AI-cum-CAI books around (from back when people weren't
entirely clear that computers-that-learn and computers-that-teach are
two different things), I'll see if I can dig some up.  History of the
Logo programming language, maybe SmallTalk and HyperCard.

Books on structured design and object-oriented design are not what you
want, but the references will likely point you in the right direction.

There's a recent literature on "design patterns" in programming
(sprouted from design patterns for architecture AIUI) which I admit I
haven't read.  But people who talk about them clearly are interested
in the same questions you are.

 > And how does the structure of programming languages
 > simplify the task of programming and learning of programming?

Kiboze python-ideas for "Guido van Rossum", "Nick Coghlan", and "Greg
Ewing".  There's a reason why GvR is BDFL, and it's not "just 'cause
he was there are the beginning."

There's a current thread on python-ideas about async programming where
you can watch some great language designers in action.  You can see
the interaction between correct semantics and beautiful syntax as it
develops.  Aside from the three protagonists above, "Glyph Lefkowitz"
is well worth reading.  You could also check their blogs.

I don't mean to put down any other language development teams.  I just
happen to know that the Python team consciously tries to improve the
usability of the language (as opposed to the development environment),
based on a common (though implicit and idiosyncratic) understanding of
what "language usability" means.  If anybody has a recommendation for
another development community like that, feel free to go that
direction.

 > Also, i wouldn't mind to read about your thoughts on this topic.

"python -m this" is pretty much where I'm at these days.  The Zen of
Python is attributed to Tim Peters who is a language lawyer to be
reckoned with (but not a designer at the level of GvR).

Speaking of Zen, "Zen and the Art of Motorcycle Maintenance" is a
classic in the field of "how to people learn to do jobs well".  I
didn't like Pirsig's later stuff anywhere near as much, though.

As far as your more specific questions, I'll come back to those
later.  :-)


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links