[Tutor] software carpentry

Danny Yoo dyoo at hkn.eecs.berkeley.edu
Sun Feb 26 02:28:18 CET 2006


> 1) Is subversion really a good tool for the beginning programmmer, or a
> single programmer? If not which version control system would you
> recommend? what about tortoiseSVN? Up til now i've just been saving
> multiple filenames of my code.

Hi Brian,

Yes, learning to use a revision control system is a Very Good Idea.

The Subversion system is very popular these days; you can get some
background on how it works by browsing the Subversion book:

    http://svnbook.red-bean.com/

These revision control systems are invaluable, even when one is working in
a solitary setting.  As a conceptual example, I sometimes have to "break"
a fairly large bit of code while making significant code changes.  But at
the same time, I want to make sure that I can still make simple code fixes
that aren't related to the code restructuring.  A revision control system
can help accomodate this situation with good "branch" support.



> How and where do I look for (well-written) code? Is it a good idea to
> look in the standard libraries for ideas, or code to modify? How are
> large applications usually organized, and how do you find a specific
> part of it? How can you find code specific to certain tasks?

We can look at large applications; we may not even have to look too far.
Python's Standard Library, for example, is written mostly in Python.
Because of the sheer amount of work that's gone into those libraries, the
code there is most likely of high quality.  We can even view it directly
from the SVN repository:

    http://svn.python.org/projects/python/trunk/Lib/

For example, we can look at code like the 'textwrap' module:

    http://svn.python.org/projects/python/trunk/Lib/textwrap.py

or the source code to IDLE:

    http://svn.python.org/projects/python/trunk/Lib/idlelib/


Best of wishes!



More information about the Tutor mailing list