<!-- The Joys of the Craft 01/14/1998-06/18/2006 --> <!-- ------------------------------------------- 09/23/1999 --> <!-- www.davar.net/PROGRAM/EXTRACTS/CRAFTJOY.HTM --> <HTML> <HEAD> <TITLE>The Joys of the Craft (Programming Extracts at Davar Web Site)</TITLE> <LINK REL="shortcut icon" HREF="../../favicon.ico" TYPE="image/vnd.microsoft.icon"> <META HTTP-EQUIV="Content-Type" CONTENT="Text/HTML; CharSet=ISO-8859-1"> <META NAME = Description CONTENT ="Page: The Joys of the Craft [of Programming] from The Mythical Man-Month by Frederic Brooks. Site: Davar Web Site, Computer Science, Programming, Mainframe, Client/Server, PC, Internet, Mathematics, Go, Zen, Quotations, Extracts, Humor, Russian."> <META NAME = Keywords CONTENT ="Davar Web Site, Programming, Frederic Brooks, Mythical Man-Month"> <META NAME = Author CONTENT="Vladimir Veytsel"> <STYLE TYPE="Text/CSS"> A:HOVER {COLOR:Red; BACKGROUND:#FFFF66} P {TEXT-INDENT:50px; TEXT-ALIGN:Justify} </STYLE> </HEAD> <NOSCRIPT> <BODY BACKGROUND="../../PAPER001.JPG" BGCOLOR=White TEXT=Black LINK=Blue ALINK=Fuchsia VLINK=Purple> </NOSCRIPT> <SCRIPT LANGUAGE=JavaScript> <!-- N=Math.floor(Math.random()*9)%9+1 document.write("<BODY BACKGROUND='../../PAPER00",N,".JPG' BGCOLOR=White TEXT=Black LINK=Blue ALINK=Fuchsia VLINK=Purple>") //--> </SCRIPT> <!-- Page: The Joys of the Craft [of Programming] from The Mythical Man-Month by Frederic Brooks. Site: Davar Web Site, Computer Science, Programming, Mainframe, Client/Server, PC, Internet, Mathematics, Go, Zen, Quotations, Extracts, Humor, Russian. --> <SCRIPT LANGUAGE=JavaScript> <!-- if (window.innerWidth>800) // Open horizontal framing and centering table document.write("<TABLE WIDTH=800 ALIGN=Center BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD>") //--> </SCRIPT> <FONT FACE="Times New Roman" SIZE=3> <A NAME="Top"></A> <I> <CENTER> <FONT COLOR=Green>Go to:</FONT>&nbsp; <A HREF="../../index.htm">Site entry</A> <FONT COLOR=Green>|</FONT> <A HREF="../../CNT.HTM">Site direct</A> <FONT COLOR=Green>|</FONT> <A HREF="../../IND.HTM">Site index</A> <FONT COLOR=Green>|</FONT> <A HREF="../PROGRAM.HTM">Programming</A> <FONT COLOR=Green>|</FONT> <A HREF="EXTRACTS.HTM">Program extracts</A> <FONT COLOR=Green>|</FONT> <A HREF="#Bottom">Text bottom</A> <HR> <BR> <FONT SIZE=4 COLOR=Red><B><U>The&nbsp; Joys&nbsp; of&nbsp; the&nbsp; Craft</U></B></FONT><BR><BR> <FONT COLOR=Navy><B>Frederic Brooks, Jr.</B></FONT> </CENTER> <P><FONT COLOR=Red><B>W</B></FONT>hy is programming fun?&nbsp; What delights may its practitioner expect as his reward? </P> <P><FONT COLOR=Red><B>F</B></FONT>irst is the sheer joy of making things.&nbsp; As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design.&nbsp; I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake. </P> <P><FONT COLOR=Red><B>S</B></FONT>econd is the pleasure of making things that are useful to other people.&nbsp; Deep within, we want others to use our work and to find it helpful.&nbsp; In this respect the programming system is not essentially different from the child's first clay pencil holder "for Daddy's office." </P> <P><FONT COLOR=Red><B>T</B></FONT>hird is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning.&nbsp; The programmed computer has all the fascination of the pinball machine or the jukebox mechanism, carried to the ultimate. </P> <P><FONT COLOR=Red><B>F</B></FONT>ourth is the joy of always learning, which springs from the nonrepeating nature of the task.&nbsp; In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both. </P> <P><FONT COLOR=Red><B>F</B></FONT>inally, there is the delight of working in such a tractable medium.&nbsp; The programmer, like the poet, works only slightly removed from pure thought-stuff.&nbsp; He builds his castles in the air, from air, creating by exertion of the imagination.&nbsp; Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.&nbsp; (As we shall see later, this very tractability has its own problems.) </P> <P><FONT COLOR=Red><B>Y</B></FONT>et the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself.&nbsp; It prints results, draws pictures, produces sounds, moves arms.&nbsp; The magic of myth and legend has come true in our time.&nbsp; One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be. <P><FONT COLOR=Red><B>P</B></FONT>rogramming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men. </P> <TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0> <TR> <TD VALIGN=Bottom><A HREF="CRAFTWOE.HTM"><I>The Woes of the Craft</I></A></TD> <TD ALIGN=Right><I><A HREF="http://www.cs.unc.edu/~brooks">Frederic Brooks, Jr.</A><BR>"<A HREF='http://en.wikipedia.org/wiki/The_Mythical_Man-Month'>The Mythical Man-Month</A>", 1975, 1995</I></TD> </TR> </TABLE> <BR> <HR> <CENTER> <FONT COLOR=Green>Go to:</FONT>&nbsp; <A HREF="../../index.htm">Site entry</A> <FONT COLOR=Green>|</FONT> <A HREF="../../CNT.HTM">Site direct</A> <FONT COLOR=Green>|</FONT> <A HREF="../../IND.HTM">Site index</A> <FONT COLOR=Green>|</FONT> <A HREF="../PROGRAM.HTM">Programming</A> <FONT COLOR=Green>|</FONT> <A HREF="EXTRACTS.HTM">Program extracts</A> <FONT COLOR=Green>|</FONT> <A HREF="#Top">Text top</A> </CENTER> </I> <A NAME="Bottom"></A> </SCRIPT> <SCRIPT LANGUAGE=JavaScript> <!-- if (window.innerWidth>800) // Close horizontal framing and centering table document.write("</TD></TR></TABLE>") //--> </SCRIPT> </FONT> </BODY> </HTML>