|
From: A.M. K. <aku...@us...> - 2001-07-07 03:00:22
|
Update of /cvsroot/py-howto/pyhowto
In directory usw-pr-cvs1:/tmp/cvs-serv2263
Modified Files:
python-dev.tex
Log Message:
Add section on devel. principles, listing Tim's 19 theses.
Added conclusion and acknowledgement sections
Index: python-dev.tex
===================================================================
RCS file: /cvsroot/py-howto/pyhowto/python-dev.tex,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** python-dev.tex 2001/07/06 03:58:35 1.3
--- python-dev.tex 2001/07/07 03:00:19 1.4
***************
*** 10,13 ****
--- 10,14 ----
\maketitle\tableofcontents
+ %======================================================================
\section{Introduction}
***************
*** 20,23 ****
--- 21,25 ----
explanation of the development process, online forums,
+ %======================================================================
\section{Why Work on Python?}
***************
*** 145,148 ****
--- 147,151 ----
\end{itemize}
+ %======================================================================
\section{How Python is Developed}
***************
*** 162,201 ****
- \subsection{The CVS Tree}
-
- In May 2000, the Python CVS tree was moved to SourceForge
- (\url{http://www.sf.net}), and the bug tracking and patch submission tools
- offered by SourceForge were also adopted at that time. Using
- SourceForge's admittedly erratic project activity ranking, Python is
- often among the 10 most active projects.
-
- Anyone can check out a read-only copy of the CVS tree by using
- anonymous CVS. First, you'll need to run the following command to anonymously log in to the CVS server:
-
- \begin{verbatim}
- cvs -d:pserver:ano...@cv...:/cvsroot/python login
- \end{verbatim}
-
- Then, you can check out the tree:
-
- \begin{verbatim}
- cvs -z3 \
- -d:pserver:ano...@cv...:/cvsroot/python \
- co python
- \end{verbatim}
-
- Running \code{cvs -z3 update} will update the CVS tree to the most
- recent version. Checkin messages and the accompanying diffs are sent
- to a mailing list, \email{python-checkins}. Anyone can subscribe by
- going to \url{http://mail.python.org/mailman/listinfo/python-checkins}.
-
- Write access to the Python CVS tree is not automatically granted,
- though there's no formal process to go through to get it. If the
- python-dev team knows who you are, whether through mailing list
- discussion, having submitted patches, or some other interaction, then
- you can ask for full CVS access. You'll need to have a SourceForge
- ID, and provide it with your request.
-
-
\subsection{PEPs}
--- 165,168 ----
***************
*** 236,242 ****
\subsection{Bug Tracking}
! To report a bug in Python, use the bug tracking tool at \url{http://sourceforge.net/tracker/?group_id=5470\&atid=105470}.
Don't report bugs by posting them to a mailing list, or sending them
to a particular developer as a private e-mail; most likely the bug
--- 203,311 ----
+ \subsection{Design Principles}
+
+ Each software project in the world has its own culture and style, its
+ own approach to designing solutions to problems. Python has its own
+ style, of course, and if you've learnt the language then that style
+ has probably rubbed off on you to some extent. Python tries to keep
+ things simple, to be orthogonal but not too much so, to assist the
+ user as much as possible.
+
+ In June 1999, Tim Peters channeled Guido and listed 19 guiding
+ principles for Python's design in a \newsgroup{comp.lang.python}
+ posting. The principles shouldn't be taken too seriously, as they're
+ not hard-and-fast constraints and for each rule you can probably list
+ instances where it's been broken. Still, no one has had much
+ disagreement with this list of design criteria.
+
+ \begin{enumerate}
+ \item Beautiful is better than ugly.
+
+ \item Explicit is better than implicit.
+
+ \item Simple is better than complex.
+
+ \item Complex is better than complicated.
+
+ \item Flat is better than nested.
+
+ \item Sparse is better than dense.
+
+ \item Readability counts.
+
+ \item Special cases aren't special enough to break the rules.
+
+ \item Although practicality beats purity.
+
+ \item Errors should never pass silently.
+
+ \item Unless explicitly silenced.
+
+ \item In the face of ambiguity, refuse the temptation to guess.
+
+ \item There should be one --- and preferably only one --- obvious way
+ to do it.
+
+ \item Although that way may not be obvious at first unless you're Dutch.
+
+ \item Now is better than never.
+
+ \item Although never is often better than \emph{right} now.
+
+ \item If the implementation is hard to explain, it's a bad idea.
+
+ \item If the implementation is easy to explain, it may be a good idea.
+
+ \item Namespaces are one honking great idea --- let's do more of those!
+
+ \end{enumerate}
+
+ Don't take these 19 aphorisms too seriously --- tattooing them on your
+ body is probably a bad idea, for example --- but it's instructive to
+ contemplate them. Some parallels can be drawn to the guiding
+ principles of extreme programming, most notably the emphasis on ``Do
+ the simplest thing that can possibly work''.
+
+
+ \subsection{The CVS Tree}
+
+ In May 2000, the Python CVS tree was moved to SourceForge
+ (\url{http://www.sf.net}), and the bug tracking and patch submission tools
+ offered by SourceForge were also adopted at that time. Using
+ SourceForge's admittedly erratic project activity ranking, Python is
+ often among the 10 most active projects.
+
+ Anyone can check out a read-only copy of the CVS tree by using
+ anonymous CVS. First, you'll need to run the following command to anonymously log in to the CVS server:
+
+ \begin{verbatim}
+ cvs -d:pserver:ano...@cv...:/cvsroot/python login
+ \end{verbatim}
+
+ Then, you can check out the tree:
+
+ \begin{verbatim}
+ cvs -z3 \
+ -d:pserver:ano...@cv...:/cvsroot/python \
+ co python
+ \end{verbatim}
+
+ Running \code{cvs -z3 update} will update the CVS tree to the most
+ recent version. Checkin messages and the accompanying diffs are sent
+ to a mailing list, \email{python-checkins}. Anyone can subscribe by
+ going to \url{http://mail.python.org/mailman/listinfo/python-checkins}.
+
+ Write access to the Python CVS tree is not automatically granted,
+ though there's no formal process to go through to get it. If the
+ python-dev team knows who you are, whether through mailing list
+ discussion, having submitted patches, or some other interaction, then
+ you can ask for full CVS access. You'll need to have a SourceForge
+ ID, and provide it with your request.
+
+
\subsection{Bug Tracking}
! To report a bug in Python, use the bug tracking tool at
! \url{http://sourceforge.net/tracker/?group_id=5470\&atid=105470}.
Don't report bugs by posting them to a mailing list, or sending them
to a particular developer as a private e-mail; most likely the bug
***************
*** 246,252 ****
for a while, but before releases someone will go over the outstanding
bugs and fix or close them. PEP 3, ``Guidelines for Handling Bug
! Reports'' (online at
! \url{http://www.python.org/peps/pep-0003.html}), explains the
! procedures for handling bugs once they've been reported.
--- 315,320 ----
for a while, but before releases someone will go over the outstanding
bugs and fix or close them. PEP 3, ``Guidelines for Handling Bug
! Reports'' (online at \url{http://www.python.org/peps/pep-0003.html}),
! explains the procedures for handling bugs once they've been reported.
***************
*** 280,283 ****
--- 348,352 ----
\end{itemize}
+ %======================================================================
\section{Mailing Lists}
***************
*** 387,396 ****
fond of it.
%\section{Tour of the Python Distribution}
%
%XXX List significant directories and source files; point to relevant
%documents...
! % XXX write a conclusion
\end{document}
--- 456,482 ----
fond of it.
+ %======================================================================
%\section{Tour of the Python Distribution}
%
%XXX List significant directories and source files; point to relevant
%documents...
+
+ %======================================================================
+ \section{Conclusion}
! The development process of any large software system continuously
! shifts and evolves to match its environment, so this document will
! probably never be either complete or totally accurate. Please report
! inaccuracies, errors, or suggestions for additional topics to me at
! \email{aku...@me...}. I hope that this guide convinces
! you that Python is a worthwhile project to spend time on, and give you
! enough information to begin contributing.
!
! %======================================================================
! \section{Acknowledgements}
!
! The author would like to thank the following people for offering
! suggestions on various drafts of this article: Skip Montanaro, Guido
! van Rossum.
\end{document}
|