Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Is programming/computer science an art or science? or both?

0 views
Skip to first unread message

apn...@yahoo.com

unread,
Sep 28, 2005, 11:05:36 AM9/28/05
to
Is programming an art or science? Or both? I don't know how programming
can belong
to art, because programming requires algorithms, and math is science.
Art is subjective,
and science is objective. How can programming be subjective? If the
program doesn't
produces the right output, then there is a bug.


And how about computer science, is computer science an art or science?
Some schools
put this major in Languages and Arts department.

I just know computer science != programming.

Please advise. thanks!!

RobertSzefler

unread,
Sep 28, 2005, 11:21:09 AM9/28/05
to
apn...@yahoo.com wrote:

> Is programming an art or science? Or both? I don't know how programming
> can belong
> to art, because programming requires algorithms, and math is science.
> Art is subjective,
> and science is objective. How can programming be subjective? If the
> program doesn't
> produces the right output, then there is a bug.

For me both art and programming are subjective and objective the same
way. The sole act of creation (of program, painting, sculpture) is
undoubtedly objective (creation of concrete entities), but the act of
evaluation and possibly (dis)appreciation is entirely subjective. No
difference for me. And (in case you don't know from personal experience)
programmers are often motivated and guided in their work by subjective
values like elegance.

> And how about computer science, is computer science an art or science?

This one is trickier. Vide infra.

> Some schools
> put this major in Languages and Arts department.

Give me a break! Which ones?

> I just know computer science != programming.

IMHO CS is much closer to "science" than "art" but the crux is
subjective evaluation which can cause all sorts of things appear
artistic (like seeing a beautiful and brilliant proof of algorithm
correctness, which happenened, I hope, not only in my past).

osmium

unread,
Sep 28, 2005, 11:24:15 AM9/28/05
to
<apn...@yahoo.com> wrote:

> And how about computer science, is computer science an art or science?
> Some schools
> put this major in Languages and Arts department.

Please name some of these schools.


Russell Shaw

unread,
Sep 28, 2005, 11:46:21 AM9/28/05
to

Programming is design which requires imagination. It is a science
because it implements algorithms of mathematics and logic. It is also
engineering which requires tradeoffs of size, speed, maintainability,
and time to implement. It is art because it requires the programmer
to choose the most efficient and elegant of multiple possible solutions.

Peter Bushell

unread,
Sep 28, 2005, 11:52:27 AM9/28/05
to
<apn...@yahoo.com> wrote in message
news:1127919936.6...@o13g2000cwo.googlegroups.com...

Why do you care?
--
Peter Bushell
http://www.software-integrity.com/


Julienne Walker

unread,
Sep 28, 2005, 11:57:00 AM9/28/05
to
> Is programming an art or science? Or both?

Neither. Programming is a craft. :-)

Laurent Bossavit

unread,
Sep 28, 2005, 12:45:48 PM9/28/05
to
> I don't know how programming can belong to art, because
> programming requires algorithms, and math is science.

Painting requires paints, and chemistry is a science...

Laurent

Dmitry A. Kazakov

unread,
Sep 28, 2005, 12:57:43 PM9/28/05
to
On 28 Sep 2005 08:05:36 -0700, apn...@yahoo.com wrote:

> Is programming an art or science? Or both? I don't know how programming
> can belong to art, because programming requires algorithms, and math is science.

Art requires chemistry, geometry, metallurgy...

> Art is subjective, and science is objective. How can programming be subjective? If the
> program doesn't produces the right output, then there is a bug.

It is a vicious circle. Bug = when output is wrong. But:

1. Which output is right? ("No space left on hard drive! So, what?")
2. How to evaluate outputs from inputs? ("What if I press this button?")
3. Do we know the inputs? ( "What a hell is going on?")
. . .

> And how about computer science, is computer science an art or science?
> Some schools put this major in Languages and Arts department.
>
> I just know computer science != programming.

Computer science is a science. (:-))

Programming is an engineering activity which applies that science.

Though, CS is not much science (yet). It is close to what Ernest Rutherford
called "stamp collecting." (:-))

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Chris Sonnack

unread,
Sep 28, 2005, 12:52:15 PM9/28/05
to
apn...@yahoo.com writes:

> Is programming an art or science? Or both?

Since art is subjective, the answers you get to this will be just
as subjective.

My take: programming--the act of writing programs--is both. One
of analogs I like is that programming is much like architecture.

Architecture uses--depends on--material *sciences* and engineering,
but also has a strong aesthetic component. It's not just that a
building should look good and fit in with its environment, it's
also things like how it flows and works for its occupants.

Same with software. Just working isn't enough--much software also
interacts with humans, so there are aesthetic and human factor
components. None of which is a science.

Also, just as there are many ways to design a building, there are
many ways to design a software. Many of the choices are creative
in nature.

> And how about computer science, is computer science an art or
> science?

Why do you think it's called Computer Science? (-:

> I just know computer science != programming.

A quote I've always liked is that Computer Science is no more about
computers than astronomy is about telescopes.

Which is to say that it's a LITTLE BIT about them, but they are not
at all the point. They are a means.

Computer Science is about the *Science* of Computation.

--
|_ CJSonnack <Ch...@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL |
|_____________________________________________|_______________________|

moopâ„¢

unread,
Sep 28, 2005, 9:39:46 PM9/28/05
to
both

Randy Howard

unread,
Sep 28, 2005, 10:35:29 PM9/28/05
to
moopâ„¢ wrote
(in article
<1127957986.9...@z14g2000cwz.googlegroups.com>):

> both
>

How wonderfully content-free.

--
Randy Howard (2reply remove FOOBAR)

gcrh...@yahoo.com

unread,
Sep 29, 2005, 1:05:39 AM9/29/05
to
Julienne Walker wrote:
> > Is programming an art or science? Or both?
>
> Neither. Programming is a craft. :-)

That's exactly my view of programming, though a number
of people don't seem to know what is meant by "craft."

Martin Brown

unread,
Sep 29, 2005, 3:23:27 AM9/29/05
to
Chris Sonnack wrote:

> apn...@yahoo.com writes:
>
>>Is programming an art or science? Or both?
>
> Since art is subjective, the answers you get to this will be just
> as subjective.
>
> My take: programming--the act of writing programs--is both. One
> of analogs I like is that programming is much like architecture.
>
> Architecture uses--depends on--material *sciences* and engineering,
> but also has a strong aesthetic component. It's not just that a
> building should look good and fit in with its environment, it's
> also things like how it flows and works for its occupants.
>
> Same with software. Just working isn't enough--much software also
> interacts with humans, so there are aesthetic and human factor
> components. None of which is a science.

I am inclined to agree that programming is closer to civil engineering
than almost anything else. And to extend the analogy that we are still
at the same stage of development as mediaeval cathedral builders for
large projects. i.e. if it is still standing after 5 years then it was
obviously a good design.


>
> Also, just as there are many ways to design a building, there are
> many ways to design a software. Many of the choices are creative
> in nature.

Even in simple programming languages there is an element of poetry. Some
ways of writing the same algorithm can look nicer and be easier to
understand than others even if they are all functionally identical.

And the human computer interaction side is incredibly subjective. I find
several Windows programs almost unusable because I cannot understand the
relationship between the weird random icons and the underlying function
that they perform. Sometimes even the helpful hover over text is still
monumentally uniformative. Perhaps it is just me?


>
>>And how about computer science, is computer science an art or
>>science?
>
> Why do you think it's called Computer Science? (-:

> Computer Science is about the *Science* of Computation.

I am more inclined to view Computer Science in its purest form as a
branch of applied mathematics. They use hard theorems with proofs of
correctness whenever possible. Formal methods based on languages like Z
& VDM share this trait.

Several famous computer departments started life in the mathematics
faculty originally. And science and mathematics also have an artistic
side too... (something seldom recognised by the general public)

Regards,
Martin Brown

iamfr...@hotmail.com

unread,
Sep 29, 2005, 6:23:12 AM9/29/05
to

apn...@yahoo.com skrev:

> Is programming an art or science? Or both? I don't know how programming

Pick a definition and run with it.

>From dictionary.com (which is a little abstruse):

Art:
"Human effort to imitate, supplement, alter, or counteract the work
of nature."

Science:
"The observation, identification, description, experimental
investigation, and theoretical explanation of phenomena."

In those contexts, programming is perhaps more art than science.

.ed

--
www.EdmundKirwan.com - Home of The Fractal Class Composition.

Thomas Gagne

unread,
Sep 29, 2005, 6:34:21 AM9/29/05
to
Paul Graham wrote an interesting comparison between programmers and
painters. You can read it here: <http://www.paulgraham.com/hp.html>

blm...@myrealbox.com

unread,
Sep 29, 2005, 7:28:32 AM9/29/05
to
In article <e5ilj155ligpbfte9...@4ax.com>,
Chris Sonnack <Ch...@Sonnack.com> wrote:
>apn...@yahoo.com writes:

[ snip ]

>> And how about computer science, is computer science an art or
>> science?
>
>Why do you think it's called Computer Science? (-:

You haven't heard the line about how any field with "science" in
the name isn't one? political science .... social science ....
hm, the indicators seem good?

Well, it seems to appeal to my acquaintances with degrees in "real"
sciences. No idea who said it first.

--
| B. L. Massingill
| ObDisclaimer: I don't speak for my employers; they return the favor.

Laurent Bossavit

unread,
Sep 29, 2005, 7:51:52 AM9/29/05
to
> > Neither. Programming is a craft. :-)
>
> That's exactly my view of programming, though a number
> of people don't seem to know what is meant by "craft."

For me, a defining characteristic of craft is how skill is considered an
exclusive property of the craftsman (as opposed to industry, where skill
is inherent in the factory itself, and considered a property of the
employer - this is what "software engineering" is all about), but
nevertheless subordinate to the desires of a client (as opposed to art,
where the artist's intention is what primarily matters).

The peculiar organization of craftsmen into guild-type systems is a
consequence of this view of skill.

Laurent

RobertSzefler

unread,
Sep 29, 2005, 8:06:13 AM9/29/05
to
Laurent Bossavit wrote:

> nevertheless subordinate to the desires of a client (as opposed to art,
> where the artist's intention is what primarily matters).

A typical postmodern prejudice. There was a time (a good time) where
artists actually had to make a living off their creations...

Chris Hills

unread,
Sep 29, 2005, 9:00:41 AM9/29/05
to
In article <1127919936.6...@o13g2000cwo.googlegroups.com>,
apn...@yahoo.com writes

It is neither an art or a science but a branch of Engineering.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch...@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Steve O'Hara-Smith

unread,
Sep 29, 2005, 5:23:28 AM9/29/05
to
On 28 Sep 2005 08:05:36 -0700
apn...@yahoo.com wrote:

> Is programming an art or science? Or both?

Part art, part engineering, not a science. Then again the scientific
method is useful in debugging so I suppose debugging qualifies as a science.

--
C:>WIN | Directable Mirror Arrays
The computer obeys and wins. | A better way to focus the sun
You lose and Bill collects. | licences available see
| http://www.sohara.org/

Laurent Bossavit

unread,
Sep 29, 2005, 9:30:38 AM9/29/05
to
Robert,

Interesting, though slightly off the main thrust of my point; would you
be willing to elaborate on what period you're thinking of, and how one
might have characterized the issue of "ownership of the skill" for
artists at that time ? That's still what I see as the main reason we
might want to characterize programming as a "craft" and neither "art"
nor "engineering".

Laurent

RobertSzefler

unread,
Sep 29, 2005, 9:41:22 AM9/29/05
to
Laurent Bossavit wrote:
> Robert,
>
>>>nevertheless subordinate to the desires of a client (as opposed to art,
>>>where the artist's intention is what primarily matters).
>>
>>A typical postmodern prejudice. There was a time (a good time) where
>>artists actually had to make a living off their creations...
>
> Interesting, though slightly off the main thrust of my point; would you
> be willing to elaborate on what period you're thinking of, and how one

Think Shakespeare. Well, it could be argued that he was, at least for
some time supported by English kings which would spur a question of
legitimacy of his income to a level not needed for this discussion, but
you get the point.

> might have characterized the issue of "ownership of the skill" for

I don't get this "ownership of the skill" part. It's just about being
able to make a decent living and not having to resort to implicit theft
(which tax support is) or bare fraud (raising funds by making impression
on community that their profession is critical to civilization's
existence and such). Being subordinate to their clients and not their
own whims floating in void.

> artists at that time ? That's still what I see as the main reason we
> might want to characterize programming as a "craft" and neither "art"
> nor "engineering".

Well, I don't get this connection either. If you aiming at concluding
that art is (or ideally should be) a kind of craft, I would
wholeheartedly argue.

RobertSzefler

unread,
Sep 29, 2005, 9:43:20 AM9/29/05
to
RobertSzefler wrote:

> Well, I don't get this connection either. If you aiming at concluding
> that art is (or ideally should be) a kind of craft, I would
> wholeheartedly argue.

Heck, should be "admit" :)

Laurent Bossavit

unread,
Sep 29, 2005, 10:06:28 AM9/29/05
to
Robert,

> Think Shakespeare. Well, it could be argued that he was, at least for
> some time supported by English kings which would spur a question of

I don't dispute that the Bard lived from his writing. The interesting
question is, I think, did he write about what he damn well pleased or
was someone telling him, "I'd like a play on the theme of jealousy ?"

> I don't get this "ownership of the skill" part. It's just about being
> able to make a decent living and not having to resort to implicit theft

Okay, I didn't mean "subordinate" in the original post in the sense of
"financially subordinate". I mean that a craftsman does whatever the
client asks for - and ideally what the client gets is just what the
client expected. "Make me a staircase that goes up, here." That's less
true of an artist. (I'm aware of painters painting portraits, etc., so
I'd admit this is a matter of degree.)

Laurent

RobertSzefler

unread,
Sep 29, 2005, 10:21:01 AM9/29/05
to
Laurent Bossavit wrote:
> Robert,
>
>>Think Shakespeare. Well, it could be argued that he was, at least for
>>some time supported by English kings which would spur a question of
>
> I don't dispute that the Bard lived from his writing. The interesting
> question is, I think, did he write about what he damn well pleased or
> was someone telling him, "I'd like a play on the theme of jealousy ?"

I think I saw TV show some time ago where there was a story of one of
his clients (I suppose some fat rich anglo aristocrat) who demanded to
be depicted in one of his works as some of historical figures (forgot
who) and succeeded. Even Shakespeare had to fill his stomach ;) Other
than that it is of course possible that most of his work was done out of
his inner sense of art, but it wasn't his only activity (satisfying this
inner sense, that is - which would of course be a sign of disgusting,
lowly vanity).

>>I don't get this "ownership of the skill" part. It's just about being
>>able to make a decent living and not having to resort to implicit theft
>
> Okay, I didn't mean "subordinate" in the original post in the sense of
> "financially subordinate". I mean that a craftsman does whatever the
> client asks for - and ideally what the client gets is just what the
> client expected. "Make me a staircase that goes up, here." That's less
> true of an artist. (I'm aware of painters painting portraits, etc., so
> I'd admit this is a matter of degree.)

I agree; from this point programming might be seen very close to craft,
indeed. I guess my original view on programming as art was to an extent
a sign of wishful thinking ;) Anyway, there is at least a taste of art
in programming and CS, but this taste is probably present everywhere if
the person professing an activity is devoted enough...

Christopher Barber

unread,
Sep 29, 2005, 10:51:44 AM9/29/05
to
Laurent Bossavit wrote:
> Robert,
>
>>Think Shakespeare. Well, it could be argued that he was, at least for
>>some time supported by English kings which would spur a question of
>
> I don't dispute that the Bard lived from his writing. The interesting
> question is, I think, did he write about what he damn well pleased or
> was someone telling him, "I'd like a play on the theme of jealousy ?"

A little bit of both I think. Shakespeare's historical plays were
heavily influenced by court politics of the time and he wrote the
"Merry Wives of Windsor" because Queen Elizabeth wanted a play
featuring the Falstaff character of the Henry IV plays.

> I don't get this "ownership of the skill" part. It's just about being
>>able to make a decent living and not having to resort to implicit theft
>
> Okay, I didn't mean "subordinate" in the original post in the sense of
> "financially subordinate". I mean that a craftsman does whatever the
> client asks for - and ideally what the client gets is just what the
> client expected. "Make me a staircase that goes up, here." That's less
> true of an artist. (I'm aware of painters painting portraits, etc., so
> I'd admit this is a matter of degree.)

The important distinction between artist and craftsman, in my opinion,
is not on the degree of creative freedom enjoyed by the creator or their
economic details of their professions, but rather on the primary purpose
of their output. We usually use the words "art" and "artist" when the
work has a purely aesthetic purpose, and "craft" when the work has some
functional use apart from its aesthetic value.

- Christopher


Chris Sonnack

unread,
Sep 29, 2005, 11:39:09 AM9/29/05
to
gcrh...@yahoo.com writes:

>> Neither. Programming is a craft. :-)
>
> That's exactly my view of programming, though a number
> of people don't seem to know what is meant by "craft."

Air craft or water craft? :-|

Dmitry A. Kazakov

unread,
Sep 29, 2005, 12:56:44 PM9/29/05
to
On Thu, 29 Sep 2005 10:51:44 -0400, Christopher Barber wrote:

> The important distinction between artist and craftsman, in my opinion,
> is not on the degree of creative freedom enjoyed by the creator or their
> economic details of their professions, but rather on the primary purpose
> of their output. We usually use the words "art" and "artist" when the
> work has a purely aesthetic purpose, and "craft" when the work has some
> functional use apart from its aesthetic value.

I don't think that this is so important. Portraits, architecture, sculpture
had quite functional use [sacral, for example] in the great times of arts.

I believe, it is rather uniqueness, exclusivity which makes difference.
Copying handicrafts is production, a decent activity. Copying works of art
is forgery. Not because it might be legal, rather because it makes no
sense.

Christopher Barber

unread,
Sep 29, 2005, 2:48:35 PM9/29/05
to
Dmitry A. Kazakov wrote:
> On Thu, 29 Sep 2005 10:51:44 -0400, Christopher Barber wrote:
>
>>The important distinction between artist and craftsman, in my opinion,
>>is not on the degree of creative freedom enjoyed by the creator or their
>>economic details of their professions, but rather on the primary purpose
>>of their output. We usually use the words "art" and "artist" when the
>>work has a purely aesthetic purpose, and "craft" when the work has some
>>functional use apart from its aesthetic value.
>
> I don't think that this is so important. Portraits, architecture, sculpture
> had quite functional use [sacral, for example] in the great times of arts.

Yes, but in those cases the aesthetics was an essential part of the purpose.
(I also would not classify Architecture as Art.)

> I believe, it is rather uniqueness, exclusivity which makes difference.
> Copying handicrafts is production, a decent activity. Copying works of art
> is forgery. Not because it might be legal, rather because it makes no
> sense.

What about Artist-authorized or produced prints and reproductions?

- C

David Tiktin

unread,
Sep 29, 2005, 2:53:32 PM9/29/05
to
On 29 Sep 2005, Chris Sonnack <Ch...@Sonnack.com> wrote:

> gcrh...@yahoo.com writes:
>
>>> Neither. Programming is a craft. :-)
>>
>> That's exactly my view of programming, though a number
>> of people don't seem to know what is meant by "craft."
>
> Air craft or water craft? :-|
>

Witchcraft!

Dave

--
D.a.v.i.d T.i.k.t.i.n
t.i.k.t.i.n [at] a.d.v.a.n.c.e.d.r.e.l.a.y [dot] c.o.m

H. S. Lahman

unread,
Sep 29, 2005, 4:14:45 PM9/29/05
to
Responding to Apngss...

> Is programming an art or science? Or both?

Both. In addition there are aspects of craft as well. So the industry
is quite schizophrenic and the answer depends upon which part of it one
happens to be looking at the moment.

The problem is that software development is quite young compared to
engineering disciplines so the notion of scientific discipline does not
yet apply to much of it. That is reflected in the fact that "good"
programs are often evaluated on subjective criteria even though
correctness and our tools (e.g., languages) are often based upon complex
mathematics.

> How can programming be subjective?

There are many areas where the optimal methodological approach has not
yet been convincingly identified. In those areas any choice will tend
to be based on subjective criteria. In addition, we often have
conflicting goals (performance, reliability, maintainability, speed of
development, etc.) that must be reconciled without enough data for
deterministic optimization. We also have problems like maintainability
that defy quantification because the concept itself depends upon purely
intellectual activities.

> If the program doesn't
> produces the right output, then there is a bug.

Correctness is one of the few things that is currently demonstrable in a
rigorous fashion (most of the time!). Where we have problems is in
situations like agreeing on which program is "better" when both produce
correct results.

> And how about computer science, is computer science an art or science?
> Some schools
> put this major in Languages and Arts department.

At my alma mater CS is still taught within the EE department. And most
schools award PhDs. OTOH, I know schools that give out BS degrees that
should be regarded as degrees in alchemy. Where it is taught or what
letters are on the degree don't matter relative to the course content.


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
h...@pathfindermda.com
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
(888)OOA-PATH

Berislav Lopac

unread,
Sep 30, 2005, 4:59:39 AM9/30/05
to
apn...@yahoo.com wrote:
> Is programming an art or science? Or both? I don't know how
> programming can belong
> to art, because programming requires algorithms, and math is science.

Programming is about algorithms as much as painting is about paint
chemistry.

Berislav


Gerry Quinn

unread,
Sep 30, 2005, 5:01:17 AM9/30/05
to
In article <dhglbl$299u$1...@news2.ipartners.pl>,
NOSPAMrsze...@murator.com.pl says...

Surely it is a modern(ist) prejudice, not a postmodern one?

- Gerry Quinn

RobertSzefler

unread,
Sep 30, 2005, 5:19:23 AM9/30/05
to

By no means am I an expert, but according to

http://en.wikipedia.org/wiki/Postmodern_philosophy and
http://en.wikipedia.org/wiki/Postmodernity,

postmodernity and postmodernism bear marks of relativization of values -
hence, following Nietzsche's (who is embraced as an early postmordenist
by some) insights, in absence of objective means to analysis, artists
can judge their own work as unconditionally valuable by essentially whim
- and critique of capitalism. Which nicely fits my analysis of
decapitation of decency in art ;)

she...@osel.netkonect.co.uk

unread,
Sep 30, 2005, 7:36:57 AM9/30/05
to

apn...@yahoo.com wrote:
> Is programming an art or science? Or both? I don't know how programming
> can belong
> to art, because programming requires algorithms, and math is science.
> Art is subjective,
> and science is objective. How can programming be subjective? If the

> program doesn't
> produces the right output, then there is a bug.
>
>
> And how about computer science, is computer science an art or science?
> Some schools
> put this major in Languages and Arts department.
>
> I just know computer science != programming.
>
> Please advise. thanks!!

Neither. It's like writing - it depends what you write: shopping list,
novel or technical spec for the eigth wonder of the world.

Code is a medium, not a product.

Halcyo...@gmail.com

unread,
Sep 30, 2005, 9:42:38 AM9/30/05
to

apn...@yahoo.com wrote:
> Is programming an art or science? Or both? I don't know how programming
> can belong
> to art, because programming requires algorithms, and math is science.
> Art is subjective,
> and science is objective. How can programming be subjective? If the
> program doesn't
> produces the right output, then there is a bug.
>
>
> And how about computer science, is computer science an art or science?
> Some schools
> put this major in Languages and Arts department.
>
> I just know computer science != programming.
>
> Please advise. thanks!!

A science I would say. Consider a bridge a structural engineer makes.
It can be made of wood, steel, concrete, or even cardboard. The
engineer has to decide what to use, how to build it. It is logic and
mathematics. The engineer would trade off aesthetics with strength, and
time to completion. Similar to programming.
I must say that programming involves much less math than making a
bridge though. If by art, you mean beauty and aesthetics, a well
engineered car like Mercedes also has to take care of beauty and
aesthetics. Its always there in all branches of engineering. Be it
making a bridge or home, or building a program, or building an
aircraft, an electric motor or even a computer motherboard. You would
prefer a well laid out motherboard with all components neatly arranged,
easy access to IDE connectors and the likes.

Duane Bozarth

unread,
Sep 30, 2005, 11:12:02 AM9/30/05
to
Halcyo...@gmail.com wrote:
>
...

>
> A science I would say.

Not in the classical sense, I think...an _applied_ science, maybe.

> Consider a bridge a structural engineer makes.

Engineers design, not "make"...

> It can be made of wood, steel, concrete, or even cardboard. The
> engineer has to decide what to use, how to build it. It is logic and
> mathematics. The engineer would trade off aesthetics with strength, and
> time to completion. Similar to programming.

To an extent, but engineering is also an applied science (I say as an
engineer).

> I must say that programming involves much less math than making a
> bridge though.

IMO that depends greatly on the area of application. I've worked on
areas of coding that were far more complex mathematically as well as
numerically than any ordinary civil engineering computations of stress,
etc.

...

Ed Prochak

unread,
Sep 30, 2005, 1:09:06 PM9/30/05
to

Duane, you hit the bulls eye. Programming is more Engineering.

And like building a bridge, the degree of engineering depends on the
context.

If programming is off the cuff, hacking with little or no design plan,
then it seems closer to art (or witchcraft as mentioned earlier). just
like a homeowner building a small decorative bridge.

If programming is implementing a design, then it is Engineering. Part
of Software Engineering to be more precise. Much like construction
Engineering as they implement the bridge design is part of Civil
Engineering.

Computer Science is not programming so don't lump it into the
discusion. Computer Science is a science. Algorithms, Relational
Algebra (databases), Language design (compilers), Finite Automata
(compilers and communications) and other topics are clearly more
mathematical and structured in a way that shows they fit the scientific
discipline.

That's my opinion. Programming should be part of Software Engineering.
But obviously some is done with out following Engineering discipline,
so that is more of a craft.

Ed

Dmitry A. Kazakov

unread,
Sep 30, 2005, 2:38:09 PM9/30/05
to
On Thu, 29 Sep 2005 14:48:35 -0400, Christopher Barber wrote:

> Dmitry A. Kazakov wrote:
>> On Thu, 29 Sep 2005 10:51:44 -0400, Christopher Barber wrote:
>>
>>>The important distinction between artist and craftsman, in my opinion,
>>>is not on the degree of creative freedom enjoyed by the creator or their
>>>economic details of their professions, but rather on the primary purpose
>>>of their output. We usually use the words "art" and "artist" when the
>>>work has a purely aesthetic purpose, and "craft" when the work has some
>>>functional use apart from its aesthetic value.
>>
>> I don't think that this is so important. Portraits, architecture, sculpture
>> had quite functional use [sacral, for example] in the great times of arts.
>
> Yes, but in those cases the aesthetics was an essential part of the purpose.

I would say it is an attribute, not the purpose. The purpose of portrait is
representation of a person. Of course the purpose should not limit
aesthetics, at least not much. I don't believe in purposeless art. Though,
it is easy to abstract it, especially hundreds of years later, and pretend
that there was no one...

> (I also would not classify Architecture as Art.)

Too much engineering in? Still it is closer to art than software design.
Architectural projects and drawings can be enjoyable. Could you say the
same about UML diagrams? (:-))

>> I believe, it is rather uniqueness, exclusivity which makes difference.
>> Copying handicrafts is production, a decent activity. Copying works of art
>> is forgery. Not because it might be legal, rather because it makes no
>> sense.
>
> What about Artist-authorized or produced prints and reproductions?

They aren't unique, they are reproductions. A creative act cannot be
reproduced. Each copy diminishes the initial value. What is worse, it
transfers the value from the work onto the creator. So in the end it is
signatures not the pictures valued.

adaw...@sbcglobal.net

unread,
Sep 30, 2005, 9:38:54 PM9/30/05
to

"Dmitry A. Kazakov" <mai...@dmitry-kazakov.de> wrote in message
news:pdqstntk9aes.1i...@40tude.net...
>
> Programming is an engineering activity which applies that science.
>
Most programming has nothing to do with engineering.

How does one define engineering? What are the properties of
engineering? How does one distinguish engineering from the
ad hoc processes that characterize most of software practrice?

Software engineering /= Programming
Programming /= Software Engineering
Software Engineering includes programming
Programming does not include software engineering

Richard Riehle


Lee Riemenschneider

unread,
Oct 1, 2005, 1:24:14 AM10/1/05
to
On Thu, 29 Sep 2005 02:35:29 UTC, Randy Howard
<randy...@FOOverizonBAR.net> wrote:
> moop wrote
> (in article
> <1127957986.9...@z14g2000cwz.googlegroups.com>):
>
> > both
> >
>
> How wonderfully content-free.
>
Hmmm. There must be an art to answering direct questions, or maybe
it's a craft? ;-)

--
Lee W. Riemenschneider
GO BOILERS!
Running eComStation (eCS)(the latest incarnation of OS/2)
Buy eCS everyone! Buy it now! http://www.ecomstation.com

Dmitry A. Kazakov

unread,
Oct 1, 2005, 6:49:40 AM10/1/05
to
On Sat, 01 Oct 2005 01:38:54 GMT, adaw...@sbcglobal.net wrote:

> "Dmitry A. Kazakov" <mai...@dmitry-kazakov.de> wrote in message
> news:pdqstntk9aes.1i...@40tude.net...
>>
>> Programming is an engineering activity which applies that science.
>>
> Most programming has nothing to do with engineering.

Like writing isn't yet literature? That's true.

> How does one define engineering?

Application of science to solve practical problems.

> What are the properties of engineering?

I believe they are derived from ones of the corresponding science. The
miserable state of SE reflects one of CS.

> How does one distinguish engineering from the
> ad hoc processes that characterize most of software practrice?

By looking what the science tells. There wouldn't so much place for ad hoc
practice if the science could offer hard facts, known to everybody.
Presently any electrical engineer believes that he can design software,
what is worse is that they do.

> Software engineering /= Programming
> Programming /= Software Engineering
> Software Engineering includes programming
> Programming does not include software engineering

Right. Programming is what pupils should learn. SE is what adults earn
money with. (:-))

Gerry Quinn

unread,
Oct 1, 2005, 7:46:55 AM10/1/05
to
In article <dhivus$fc9$1...@news2.ipartners.pl>,
NOSPAMrsze...@murator.com.pl says...

Since values are considered relative, postmodernism does not ascribe
excessive value to the artist's intention (cf. 'death of the author').
The OP did ascribe such value. You criticised that, but incorrectly
described it as a postmodern prejudice.

- Gerry Quinn

Markus Redeker

unread,
Oct 1, 2005, 9:21:39 AM10/1/05
to
"Ed Prochak" <ed.pr...@magicinterface.com> writes:

>Duane, you hit the bulls eye. Programming is more Engineering.

[...]

>Computer Science is not programming so don't lump it into the
>discusion. Computer Science is a science. Algorithms, Relational
>Algebra (databases), Language design (compilers), Finite Automata
>(compilers and communications) and other topics are clearly more
>mathematical and structured in a way that shows they fit the scientific
>discipline.

>That's my opinion. Programming should be part of Software Engineering.
>But obviously some is done with out following Engineering discipline,
>so that is more of a craft.

One addition: Debugging is definitely a science. Especially when
closed-source libraries are involved. It is a science in a quite traditional
sense, with theories, experiments, and measuring instruments (debuggers),
something like experimental physics. But nobody teaches Debugging Science.


--
Markus Redeker Hamburg, Germany

Michael Schneider

unread,
Oct 1, 2005, 10:53:07 AM10/1/05
to
Sometimes it is an art, sometimes it is a craft.


One of my past times is woodturnings. I have woodturning
friends that are artists, woodturning friends that are craftspeople, and
some friends that do both.

My definition of Art and Craft are simple and pragmatic:

Art: Sits in a display case and is admired through glass

Craft: Is used daily, ex. a salad bowl.

I create both art and craft pieces. I enjoy seeing my work
used, more then I enjoy seeing it admired through glass.

I must admit, some of the techniques that I learn while doing art pieces
are incorporated into my craft pieces. For me, there is a value from
creating art pieces. My true passion is spent creating craft pieces.

I would say the same for my programming.

A simple craftsman,
Mike

adaw...@sbcglobal.net

unread,
Oct 1, 2005, 8:19:59 PM10/1/05
to

> On Sat, 01 Oct 2005 01:38:54 GMT, adaw...@sbcglobal.net wrote:
>
> > "Dmitry A. Kazakov" <mai...@dmitry-kazakov.de> wrote in message

> > How does one define engineering?


>
> Application of science to solve practical problems.
>

I think this is not quite rigorous enough a definition. In particular,
modern engineering includes a much larger set of concerns than
what we usually call science.

Many craftspersons who are not engineers use science in the
design of solutions to practical problems. An artist might choose
a combination of colors, using his knowledge of the science of
color, to produce a particular visual effect. A hobbyist can
build a fuzz-box for an amplifier using knowledge of science,
but is not doing engineering.

When does the application of science go beyond craft, technological
experimentation, creation of interesting products, and become an
actual engineering process?

> > What are the properties of engineering?
>
> I believe they are derived from ones of the corresponding science. The
> miserable state of SE reflects one of CS.
>

And, is there a science of software? In the physical world, we have a clear
notion of science. In the software world, the science is not as clear, agreed
upon, or settled. There is little of software practice that can be subjected
to the same kind of mathematical discipline expected of other kinds of
engineering.

We need a definition of engineering that is true for all branches of
engineering,
but which still includes software engineering.

What are the qualifications of an engineer? When should one be permitted
to call oneself an engineer?

So far, no one, in this forum, has provided an answer to that question that is
sufficiently rigorous.

Richard Riehle


Barb Knox

unread,
Oct 1, 2005, 8:38:06 PM10/1/05
to
In article <PIF%e.2025$lc1....@newssvr21.news.prodigy.com>,
<adaw...@sbcglobal.net> wrote:

>> On Sat, 01 Oct 2005 01:38:54 GMT, adaw...@sbcglobal.net wrote:

[snip]


>> > What are the properties of engineering?
>>
>> I believe they are derived from ones of the corresponding science. The
>> miserable state of SE reflects one of CS.
>>
>And, is there a science of software? In the physical world, we have a clear
>notion of science. In the software world, the science is not as clear, agreed
>upon, or settled. There is little of software practice that can be subjected
>to the same kind of mathematical discipline expected of other kinds of
>engineering.

Indeed. ISTM that Computer "Science" has a lot more in common with
Social "Science" than it does with the physical sciences: both CS and SS
deal with highly non-linear and discontinuous systems, for which the
powerful analytical tools of the physical sciences seldom apply.

>We need a definition of engineering that is true for all branches of
>engineering, but which still includes software engineering.

That presupposes that Software "Engineering" is indeed sufficiently
close in relevant ways to traditional engineering fields. It is
certainly arguable that it is NOT close.

>What are the qualifications of an engineer? When should one be permitted
>to call oneself an engineer?
>
>So far, no one, in this forum, has provided an answer to that question that is
>sufficiently rigorous.
>
>Richard Riehle

--
---------------------------
| BBB b \ Barbara at LivingHistory stop co stop uk
| B B aa rrr b |
| BBB a a r bbb | Quidquid latine dictum sit,
| B B a a r b b | altum viditur.
| BBB aa a r bbb |
-----------------------------

Dmitry A. Kazakov

unread,
Oct 2, 2005, 4:27:26 AM10/2/05
to
On Sun, 02 Oct 2005 00:19:59 GMT, adaw...@sbcglobal.net wrote:

>> On Sat, 01 Oct 2005 01:38:54 GMT, adaw...@sbcglobal.net wrote:
>>
>>> "Dmitry A. Kazakov" <mai...@dmitry-kazakov.de> wrote in message
>
>>> How does one define engineering?
>>
>> Application of science to solve practical problems.
>>
> I think this is not quite rigorous enough a definition. In particular,
> modern engineering includes a much larger set of concerns than
> what we usually call science.

True, though I would say that they don't characterize engineering.

> Many craftspersons who are not engineers use science in the
> design of solutions to practical problems. An artist might choose
> a combination of colors, using his knowledge of the science of
> color, to produce a particular visual effect. A hobbyist can
> build a fuzz-box for an amplifier using knowledge of science,
> but is not doing engineering.

Because in these cases the science applied does not describe the problem.
An artistic problem is not to obtain a combination of colors, or a guitar
effect. They are technical problems. Guitar construction is
craft/engineering, playing guitars is an art.

> When does the application of science go beyond craft, technological
> experimentation, creation of interesting products, and become an
> actual engineering process?

It is an interesting question. I think that the key features are:

1. The problems faced by engineers in a project are new, though the
solutions are theoretically known.

2. The result of engineer work is predictable in terms of quality.

3. Budget, resources, man power can be planned. So there is a certain
degree of depersonalization. You can replace an engineer, let other
engineers analyse his work etc.

>>> What are the properties of engineering?
>>
>> I believe they are derived from ones of the corresponding science. The
>> miserable state of SE reflects one of CS.
>>
> And, is there a science of software? In the physical world, we have a clear
> notion of science. In the software world, the science is not as clear, agreed
> upon, or settled. There is little of software practice that can be subjected
> to the same kind of mathematical discipline expected of other kinds of
> engineering.

Which is exactly the problem.

> We need a definition of engineering that is true for all branches of
> engineering, but which still includes software engineering.

No. I think that it is not a definition problem. The reason why SE isn't
true engineering, is in CS.

You cannot have engineering based on astrology or alchemy. The science
should mature to give birth to an engineering. Our civilization has so
accustomed to scientific practice, that there exists an impression that we
could make a new science out of nothing, just by using mathematical
formalism, attending conferences and writing articles. It is a delusion. CS
is much pseudo science, it is "stamp collecting."

But I see no obvious reason why CS could not become a decent science.
Otherwise, we as humans, have a much more serious problem than climatic
changes, terrorism, poverty!

RobertSzefler

unread,
Oct 3, 2005, 3:28:27 AM10/3/05
to

This might be exactly right, althought initially I thought the
connection is clear - now I'm not so sure. How would you describe this
attitude if not postmodern? And what is OP?

Gerry Quinn

unread,
Oct 3, 2005, 5:03:00 AM10/3/05
to
In article <dhqmir$1e76$1...@news2.ipartners.pl>,

I said the argument [that the artist's intention is what matters] is
modern(ist) rather than postmodern, though I would not assume that
modernism is the sole movement that has embodied this motivation in
various forms.

OP = 'original poster', i.e. someone up-thread who first stated
something that is under discussion.

- Gerry Quinn

Cristiano Sadun

unread,
Oct 3, 2005, 11:13:27 AM10/3/05
to
>The interesting question is, I think, did he write about
>what he damn well pleased or was someone telling
> him, "I'd like a play on the theme of jealousy ?

Does it matter? If he did the former, he was making "products" - and
waiting to see if they were selling or not. If he did the latter, he
was working on specifications - probably fuzzy ones. Not a bad metaphor
for software.

Christopher Barber

unread,
Oct 3, 2005, 12:20:43 PM10/3/05
to
Dmitry A. Kazakov wrote:
> On Thu, 29 Sep 2005 14:48:35 -0400, Christopher Barber wrote:
>
>
>>Dmitry A. Kazakov wrote:
>>
>>>On Thu, 29 Sep 2005 10:51:44 -0400, Christopher Barber wrote:
>>>
>>>
>>>>The important distinction between artist and craftsman, in my opinion,
>>>>is not on the degree of creative freedom enjoyed by the creator or their
>>>>economic details of their professions, but rather on the primary purpose
>>>>of their output. We usually use the words "art" and "artist" when the
>>>>work has a purely aesthetic purpose, and "craft" when the work has some
>>>>functional use apart from its aesthetic value.
>>>
>>>I don't think that this is so important. Portraits, architecture, sculpture
>>>had quite functional use [sacral, for example] in the great times of arts.
>>
>>Yes, but in those cases the aesthetics was an essential part of the purpose.
>
>
> I would say it is an attribute, not the purpose. The purpose of portrait is
> representation of a person. Of course the purpose should not limit
> aesthetics, at least not much.

> I don't believe in purposeless art. Though,
> it is easy to abstract it, especially hundreds of years later, and pretend
> that there was no one...

Well, what is the non-aesthetic purpose of an abstract sculpture?

>>(I also would not classify Architecture as Art.)
>
> Too much engineering in? Still it is closer to art than software design.
> Architectural projects and drawings can be enjoyable. Could you say the
> same about UML diagrams? (:-))

Sure. Having hired and worked with an architect, I don't see that their work
is necessarily any more artistic than a programmer's. The architecture of
monuments is much more in the art category, but that represents only a tiny
subset of the profession of Architecture.

>>>I believe, it is rather uniqueness, exclusivity which makes difference.
>>>Copying handicrafts is production, a decent activity. Copying works of art
>>>is forgery. Not because it might be legal, rather because it makes no
>>>sense.
>>
>>What about Artist-authorized or produced prints and reproductions?
>
> They aren't unique, they are reproductions. A creative act cannot be
> reproduced. Each copy diminishes the initial value. What is worse, it
> transfers the value from the work onto the creator. So in the end it is
> signatures not the pictures valued.

Who cares about value? My point is that prints are generally considered
to be art. Worthless, crappy oil paintings are still considered art.
Your criterion for distinguishing between Art and Craft just doesn't work.

- C

Dmitry A. Kazakov

unread,
Oct 3, 2005, 2:16:51 PM10/3/05
to
On Mon, 03 Oct 2005 12:20:43 -0400, Christopher Barber wrote:

> Dmitry A. Kazakov wrote:
>> On Thu, 29 Sep 2005 14:48:35 -0400, Christopher Barber wrote:
>>
>>>Dmitry A. Kazakov wrote:
>>>
>>>>On Thu, 29 Sep 2005 10:51:44 -0400, Christopher Barber wrote:
>>>>
>>>>>The important distinction between artist and craftsman, in my opinion,
>>>>>is not on the degree of creative freedom enjoyed by the creator or their
>>>>>economic details of their professions, but rather on the primary purpose
>>>>>of their output. We usually use the words "art" and "artist" when the
>>>>>work has a purely aesthetic purpose, and "craft" when the work has some
>>>>>functional use apart from its aesthetic value.
>>>>
>>>>I don't think that this is so important. Portraits, architecture, sculpture
>>>>had quite functional use [sacral, for example] in the great times of arts.
>>>
>>>Yes, but in those cases the aesthetics was an essential part of the purpose.
>>
>> I would say it is an attribute, not the purpose. The purpose of portrait is
>> representation of a person. Of course the purpose should not limit
>> aesthetics, at least not much.
>
> > I don't believe in purposeless art. Though,
>> it is easy to abstract it, especially hundreds of years later, and pretend
>> that there was no one...
>
> Well, what is the non-aesthetic purpose of an abstract sculpture?

Do you mean things like mobiles etc? Abstractionism is agony of an art
(though it might be artistic, there is aesthetic of death (:-)) Anyway it
is a necessary phase before final death. And the reason for death is lack
of purpose. Classical painting and sculpture are well dead by now. Though
their souls maybe will reincarnate in computer games and simulations...
There is a purpose!

>>>>I believe, it is rather uniqueness, exclusivity which makes difference.
>>>>Copying handicrafts is production, a decent activity. Copying works of art
>>>>is forgery. Not because it might be legal, rather because it makes no
>>>>sense.
>>>
>>>What about Artist-authorized or produced prints and reproductions?
>>
>> They aren't unique, they are reproductions. A creative act cannot be
>> reproduced. Each copy diminishes the initial value. What is worse, it
>> transfers the value from the work onto the creator. So in the end it is
>> signatures not the pictures valued.
>
> Who cares about value?

I didn't mean money. Money could be an equivalent of it. A simple test,
say, Louvre is on fire, you have to flee, which painting would you save?

> My point is that prints are generally considered
> to be art. Worthless, crappy oil paintings are still considered art.

You are mixing activity and a product of. Oil painting is an artistic
activity. Crappy painting is an object, which is not necessarily a product
of artistic painting. People have trained dogs, monkeys and elephants to
produce such kind of objects. They sell well, AFAIK. It is quite trivial to
assemble a robot which would do the same. It is *not* art.

Gerry Quinn

unread,
Oct 4, 2005, 5:00:52 AM10/4/05
to
In article <11f8vl8t3zbu3.1...@40tude.net>,
mai...@dmitry-kazakov.de says...

> I didn't mean money. Money could be an equivalent of it. A simple test,
> say, Louvre is on fire, you have to flee, which painting would you save?

Since the majority of the public only know of one picture that is
there, I think I'd pick that to avoid trouble.

- Gerry Quinn

Mabden

unread,
Oct 4, 2005, 5:13:22 AM10/4/05
to
"Gerry Quinn" <ger...@DELETETHISindigo.ie> wrote in message
news:MPG.1dac551d8...@news.indigo.ie...

BzzzzzT! Wrong answer! Everyone is running towards Mona! In a fire you
run AWAY from the crowd!

Save a nice Monet or Cezanne (sp?) - tho I think they are over at the
Musee D'Orrly (sp2?) or something.

People are really stupid about fire. If you see fire you have about 1.5
minutes to be very far away - and others will block your path, so plan
carefully.

Remember the White Snake club concert where the band member died (they
have access to the back stage exits) and many other folk died as well,
of course.

Once fire hits the ceiling the fumes and heat are intense. It goes from
500 degrees to 2000 degrees in a TINY amount of time (numbers are
estimates).

"Be afraid. Be very afraid."

--
Mabden


Michael Schneider

unread,
Oct 4, 2005, 8:14:56 AM10/4/05
to

You don't save any of them. Save yourself, save your family, and help
an old lady to the door.

Ultimately, It is just oil and canvas.

Richard Heathfield

unread,
Oct 4, 2005, 8:27:42 AM10/4/05
to
Mabden said:

> Remember the White Snake club concert where the band member died (they
> have access to the back stage exits) and many other folk died as well,
> of course.

Great White, not White Snake (or Whitesnake, as they are more normally
known).

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/2005
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)

JXStern

unread,
Oct 4, 2005, 5:43:55 PM10/4/05
to
On 28 Sep 2005 08:05:36 -0700, apn...@yahoo.com wrote:
>And how about computer science, is computer science an art or science?
>Some schools put this major in Languages and Arts department.

I prefer this. I'm still peeved that my alma mater moved CS under EE
just a few years after I left. It was previously under "Arts and
Sciences". Heck, biology was under that heading, I think, and
physics, too.

Heck, they call it Business Process Reengineering, but they don't move
the business school into the engineering department.

For me, the conceptual basis of computer science is more linguistic,
mathematical, and philosophical than discoverable or ad-hoc.

Even if most programming is to one degree or another ad-hoc.

<insert here entire debate about what "engineering" means anyway>

Anyway, in my case, they had CS in the same school as physics,
biology, linguistics, psychology, mathematics, and even fine arts (how
do you "engineer" a block of stone into a statue of a woman? carve
away all the material that doesn't look like a woman. a similarly
(non-)rigorous process is at work in most programming projects, I
think!) I liked it there just fine.

J.


Mabden

unread,
Oct 4, 2005, 6:14:04 PM10/4/05
to
"Richard Heathfield" <inv...@invalid.invalid> wrote in message
news:dhtsfu$qpj$1...@nwrdmz02.dmz.ncs.ea.ibs-infra.bt.com...

> Mabden said:
>
> > Remember the White Snake club concert where the band member died
(they
> > have access to the back stage exits) and many other folk died as
well,
> > of course.
>
> Great White, not White Snake (or Whitesnake, as they are more normally
> known).

Oh yeah, thanks.

Have you seen the video? It might be another concert, but it was on a
show about how little people notice / care about fire. There is a guy
with a video camera at the back of the hall and a fire starts on the
wall. Some of the people up front are dancing and pointing to the wall.
The singer sees them and does the same pointing gesture back to the
crowd. They are yelling, "Fire!" and pointing, but they keep dancing.
The guy with the camera says something about it to his friends. Nobody
is moving away, tho. They think it will be put out by "somebody else".
Finally, as it reaches to top of the wall and is about 6 feet across,
the band notices and the crowd realizes it's not part of the act. The
camera guy says one last thing about getting the hell out of there and
the next shot is like the Great White footage of the club all burned
down. They had something like 2 minutes to get out.

If you see fire, get away. As Frankenstein's Monster says, "Fire, bad!"

--
Mabden


Rick Decker

unread,
Oct 4, 2005, 8:38:05 PM10/4/05
to

JXStern wrote:

Heh. I've seen that "carve away all the material..." process used by a
(fortunately small) set of my intro programming students: write
several pages of code all at once and only then compile it. Of course
the result is several screens of compiler errors, so start at the
first one, identify the line the error message points to, delete that
line and recompile. Rinse and repeat.... Done to completion, it
generally results in a program that compiles without error, which
is the goal, right?


Regards,

Rick "Incremental testing? We don't need no steenkin' incremental
testing!"

Barb Knox

unread,
Oct 4, 2005, 9:23:38 PM10/4/05
to
In article <AvidnZPDSau...@hamilton.edu>,
Rick Decker <rde...@hamilton.edu> wrote:

>JXStern wrote:
[snip]

>> Anyway, in my case, they had CS in the same school as physics,
>> biology, linguistics, psychology, mathematics, and even fine arts (how
>> do you "engineer" a block of stone into a statue of a woman? carve
>> away all the material that doesn't look like a woman. a similarly
>> (non-)rigorous process is at work in most programming projects, I
>> think!) I liked it there just fine.
>>
>Heh. I've seen that "carve away all the material..." process used by a
>(fortunately small) set of my intro programming students: write
>several pages of code all at once and only then compile it. Of course
>the result is several screens of compiler errors, so start at the
>first one, identify the line the error message points to, delete that
>line and recompile. Rinse and repeat.... Done to completion, it
>generally results in a program that compiles without error, which
>is the goal, right?

Lucky you. I've had students who handed programs that didn't even
compile. Maybe they figured we wouldn't notice....

And many of the weak students seem to practice a form of Darwinian
programming: take their current non-functional program; make a
more-or-less random change; run it; if it functions better (or no worse)
then keep that change, else undo the change; repeat.

Gerry Quinn

unread,
Oct 5, 2005, 4:55:51 AM10/5/05
to
In article <dhv9uh$oag$1...@lust.ihug.co.nz>, s...@sig.below says...

> And many of the weak students seem to practice a form of Darwinian
> programming: take their current non-functional program; make a
> more-or-less random change; run it; if it functions better (or no worse)
> then keep that change, else undo the change; repeat.

That's called 'test-driven development', I believe!

- Gerry Quinn

Laurent Bossavit

unread,
Oct 5, 2005, 5:29:11 AM10/5/05
to
Gerry,

> > And many of the weak students seem to practice a form of Darwinian
> > programming: take their current non-functional program; make a
> > more-or-less random change; run it; if it functions better (or no worse)
> > then keep that change, else undo the change; repeat.
>
> That's called 'test-driven development', I believe!

No, in test-driven development the starting point is always a *working*
program.

In fact, TDD seems a rather good antidote to the "write several pages of
code then check if it compiles" syndrome. Before writing even one line
of program code, a student instructed to use TDD would have to submit a
test program that compiles *and* fails in an appropriate way. They would
first have to think about the interface to some of their program's
function.

I have no doubt that a sufficiently gifted student could subvert the TDD
process, mind you. Such as by writing several pages of tests, and only
then checking that they compile...

Laurent

Chris Dollin

unread,
Oct 5, 2005, 5:38:08 AM10/5/05
to
Gerry Quinn wrote:

You do?

I wouldn't take it as a description of TDD: the bits that say
"non-functional" and "more-or-less random" are a bit of a giveaway,
as is the absence of "write a new test" and "refactor".

Of course, pretty much any software development method can be
described as "keep changing things until you have a product".
It also applies to novels, cars, sandwiches, MRI scanners,
fusion reactors, lemon-flavoured cheescake, and, apparently,
political parties.

--
Chris "perhaps the details are important" Dollin
"I know three kinds: hot, cool, and what-time-does-the-tune-start?"

JXStern

unread,
Oct 6, 2005, 1:40:35 AM10/6/05
to
On Tue, 04 Oct 2005 20:38:05 -0400, Rick Decker <rde...@hamilton.edu>
wrote:

>Heh. I've seen that "carve away all the material..." process used by a
>(fortunately small) set of my intro programming students: write
>several pages of code all at once and only then compile it. Of course
>the result is several screens of compiler errors, so start at the
>first one, identify the line the error message points to, delete that
>line and recompile. Rinse and repeat.... Done to completion, it
>generally results in a program that compiles without error, which
>is the goal, right?

Harumph.

First, let's give our props to Microsoft's VB6, which if you give it a
program with fifty syntax errors would only report the first one,
anyway.

Now, let's turn back the clock to yesteryear, when we had to punch a
card deck, read it into the input queue, and wait X minutes for a
compile-link-execute attempt. And here we are today, sneering at
anyone foolish enough to write all the code before submission. Hmm.
Influence of VB6-like tools? No, you did say "several screens of
compiler errors". Hmm. Hope they save them into something
scrollable.

I like iterative process as well as the next guy, but the kind of
assignments given in intro classes, do they really require a lot of
process? I wonder. Suppose I ought to audit an intro class sometime
and observe the goings-on!

J.

0 new messages