On Sat, Jan 24, 2009 at 7:46 AM, Roshan Mathews <rmath...@gmail.com> wrote: > The 'knowing the rules' vs. 'being proficient' argument is > also made in SICP > <http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#%_sec_1.2> > ... another good read, (Indian version of the dead trees version > available from University Press.)
Are you referring to this argument? """ Like the novice chess player, we don't yet know the common patterns of usage in the [programming] domain. We lack the knowledge of which moves are worth making (which procedures are worth defining). We lack the experience to predict the consequences of making a move (executing a procedure). The ability to visualize the consequences of the actions under consideration is crucial to becoming an expert programmer, just as it is in any synthetic, creative activity. In becoming an expert photographer, for example, one must learn how to look at a scene and know how dark each region will appear on a print for each possible choice of exposure and development conditions. Only then can one reason backward, planning framing, lighting, exposure, and development to obtain the desired effects. So it is with programming, where we are planning the course of action to be taken by a process and where we control the process by means of a program. To become experts, we must learn to visualize the processes generated by various types of procedures. Only after we have developed such a skill can we learn to reliably construct programs that exhibit the desired behavior. """ Speaking of SICP, http://eli.thegreenplace.net/2008/04/18/sicp-conclusion/ (must have been quite a feeling of achievement!) _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers