<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16705" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space"
bgColor=#ffffff>
<DIV><FONT face="Courier New" size=2>You are right about by making the
distinction between writing programs and managing large projects. I did not mean
to underestimate HtDP. I do not, realy. But we should be aware of the fact that
some of the students we learn how to program will end up managing large
projects. And even for those that will not do large scale projects: even a small
project done in the capacity of a professional producing software for another
party, should attack their job along the same lines:</FONT></DIV>
<DIV><FONT face="Courier New" size=2>- First make sure what the costomer
expects.</FONT></DIV>
<DIV><FONT face="Courier New" size=2>- Then provide material that can prove that
the costomer will receive what he/she expects.</FONT></DIV>
<DIV><FONT face="Courier New" size=2>- Finally provide the product according to
the specs of the first step and apply the prove that it is what the
consumer expects.</FONT></DIV>
<DIV><FONT face="Courier New" size=2>- Also make sure that the previous three
steps are followed during maintenance.</FONT></DIV>
<DIV><FONT face="Courier New" size=2>May be nowadays there are following up
courses in managing large scale projects, but I have never seen them. What I did
experience is that managers are put in charge without any substantial knowledge
of the techniques required to produce the product. Too often I have seen
managers that did courses in managing without having any idea about what they
are managing. Programming is an art. Managing is a skill (may be even an art
too), but managing without substantial knowledge of what is to be
managed is evil.</FONT></DIV>
<DIV><FONT face="Courier New" size=2>Well, that's somewhat obtrusive, I am aware
of that, but I hate managers that tell me what to do when it is obvious
that they haven't the slightest idea what I am doing or what I should do. In
short: a manager must have substantial knowledge of the product to be delivered
and the techniques required to make the product. In my humble opinion,
management must not be abstracted from what is being managed. Oh yes, there may
be some general rules that apply to all kinds of management, but ultimately,
management without substance is vain. Just my humble opinion.</FONT></DIV>
<DIV><FONT face="Courier New" size=2>Jos</FONT></DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=gregory.woodhouse@gmail.com
href="mailto:gregory.woodhouse@gmail.com">Woodhouse Gregory</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=jos.koot@telefonica.net
href="mailto:jos.koot@telefonica.net">Jos Koot</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Cc:</B> <A title=grettke@acm.org
href="mailto:grettke@acm.org">Grant Rettke</A> ; <A
title=plt-scheme@list.cs.brown.edu
href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme List</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, August 26, 2008 7:56
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [plt-scheme] [maybe
off-topic] The theory of testing</DIV>
<DIV><BR></DIV><BR>
<DIV>
<DIV>On Aug 24, 2008, at 2:31 PM, Jos Koot wrote:</DIV><BR
class=Apple-interchange-newline>
<BLOCKQUOTE type="cite">
<P style="MARGIN: 0px"><FONT style="FONT: 12px Helvetica" face=Helvetica
size=3>In my opinion, HtDP is one of the few books that do integrate
specification, testing and coding. Yet I think that for a substantial
software project even more has to be
considered:</FONT></P></BLOCKQUOTE></DIV><BR>
<DIV><SPAN class=Apple-style-span
style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0"><SPAN
class=Apple-style-span
style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">
<DIV>In all fairness, HtDP is a book about writing programs, not managing (or
developing) large projects. It seems to me that this entirely appropriate for
a first course - though I fully agree that unit tests and contracts fall
within the scope of a text such as this.</DIV>
<DIV><BR></DIV>
<DIV>That being said, the transition from school projects involving maybe
hundreds of lines of code, to commercial applications with tens of thousands
(or even millions) of lines of code can be a bit daunting. It's also an area
where most programmers end up learning "on the job", or at least this has been
my experience.</DIV>
<DIV><BR></DIV>
<DIV>This brings up another point. The OO community has generally been
successful in selling the idea that OO is the appropriate paradigm for complex
projects, and there is tool support out there, such as the Rational/IBM suite
of tools, making languages like Java much more attractive to industry.<BR
class=Apple-interchange-newline><BR class=khtml-block-placeholder></DIV>
<DIV>"You can't win if you don't finish the race."</DIV>
<DIV>--Richard Petty</DIV>
<DIV><BR></DIV>
<DIV><A href="http://www.gwoodhouse.com">http://www.gwoodhouse.com</A></DIV>
<DIV><A
href="http://GregWoodhouse.ImageKind.com">http://GregWoodhouse.ImageKind.com</A></DIV>
<DIV><BR class=khtml-block-placeholder></DIV><BR
class=Apple-interchange-newline></SPAN><BR
class=Apple-interchange-newline></SPAN></DIV><BR></BLOCKQUOTE></BODY></HTML>