comp.lang.ada
 help / color / mirror / Atom feed
* Artistically creative expression has no role in software design
@ 2004-07-19 18:46 Marc A. Criley
  2004-07-19 18:56 ` Ed Falis
                   ` (6 more replies)
  0 siblings, 7 replies; 33+ messages in thread
From: Marc A. Criley @ 2004-07-19 18:46 UTC (permalink / raw)


(Okay, now that I have your attention... :-)

In spectating the "SCO vs Linux" lawsuit (www.groklaw.net), a lot of
documents of various types get posted. One of the recent references was a
paper titled, "The case against Copyright Protection of Non-literal Elements
of Computer Software" http://tinyurl.com/3tjqj, by Christopher Heer of the
University of Toronto.

The paper analyzes something called the "Abstration-Filtration-Comparison
test (AFC test), which is a court created means for attempting to determine
copyright infringement of software where no _literal_ copying was involved,
or perhaps was obscured.

One of the interesting conclusions of this paper is this:

"Since the design of computer software is forever driven by its intended
functionality and efficiency concerns, the room for artistically creative
expression never arises. [...] It is more appropriate to consider the
software objects of a computer program as analogous to the gears, pulleys,
and levers of a mechanical invention, as by its very nature, the design of
computer software is intended to optimize functionality by making a program
run faster, use less memory, or be easier for the programmer to modify."

Since programming in Ada has been sneered at as requiring that a programmer
"lose their programming freedom" and likened to "programming in a
straitjacket", this article argues that those are in fact proper
characteristics in the development of correctly functioning, optimized
software!

Software is pure function, there are inputs (data and time),
transformations, and then outputs; although the software's design and
implementation may be formulated in a specific way that promotes one or more
of Heer's three functionality optimization axes . Arguably then, for the
first two axes, more speed and less memory, there should be an optimal
design and an optimal implementation.

Add in the overriding requirement that the software must be _correct_, and
Ada shines--its definition supports establishing and verifying programming
correctness--and subsets with supporting tools like SPARK (www.sparkada.com)
even take that a serious step further.

Ada's case for the third axis of optimization, "easier for the programmer to
modify" (which is subjective), can be strongly made as well. With its design
goal of readability, fully object-oriented capabilities, and the strong
typing that makes it easier to modify software _correctly_, again Ada
shines.

After you get past the knee-jerk reaction to Heer's conclusion (which I'll
admit to), sit back and really think about software, its function, and how
to achieve _correctness_ and _efficiency_ in design and programming.
Software development starts to become less about creative expression, and
more like a quest, trying to find the elegant implementation of
functionality. Refactoring, anyone?

Marc A. Criley
McKae Technologies
www.mckae.com
"The Efficient Production of High Quality Software"





^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
@ 2004-07-19 18:56 ` Ed Falis
  2004-07-19 19:03 ` Hyman Rosen
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 33+ messages in thread
From: Ed Falis @ 2004-07-19 18:56 UTC (permalink / raw)


On Mon, 19 Jul 2004 13:46:58 -0500, Marc A. Criley <mcNOSPAM@mckae.com>  
wrote:

> Ada's case for the third axis of optimization, "easier for the  
> programmer to
> modify" (which is subjective), can be strongly made as well. With its  
> design
> goal of readability, fully object-oriented capabilities, and the strong
> typing that makes it easier to modify software _correctly_, again Ada
> shines.
> After you get past the knee-jerk reaction to Heer's conclusion (which  
> I'll
> admit to), sit back and really think about software, its function, and  
> how
> to achieve _correctness_ and _efficiency_ in design and programming.
> Software development starts to become less about creative expression, and
> more like a quest, trying to find the elegant implementation of
> functionality. Refactoring, anyone?

Do you really believe that achieving modifiability does not require  
creativity and artistry with the elements of software design?

I'd say the same about achieving appropriate designs that balance the  
optimization dimensions listed in your summary (not to mention scope  
relative to implementation approach).  Further, while refactoring  
operations can be performed automatically, appropriate selection among  
them in a given context is once again a matter of judgment etc.

- Ed


-- 
"When I was a kid, I wanted to grow up to be a wise man. Somehow, I just  
turned out to be a wise guy".



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
  2004-07-19 18:56 ` Ed Falis
@ 2004-07-19 19:03 ` Hyman Rosen
  2004-07-19 23:24   ` Marc A. Criley
  2004-07-20  0:27   ` Nick Roberts
  2004-07-19 20:49 ` Georg Bauhaus
                   ` (4 subsequent siblings)
  6 siblings, 2 replies; 33+ messages in thread
From: Hyman Rosen @ 2004-07-19 19:03 UTC (permalink / raw)


Marc A. Criley wrote:
> "Since the design of computer software is forever driven by its intended
> functionality and efficiency concerns, the room for artistically creative
> expression never arises.

And that is why all office buildings and bridges look identical.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
  2004-07-19 18:56 ` Ed Falis
  2004-07-19 19:03 ` Hyman Rosen
@ 2004-07-19 20:49 ` Georg Bauhaus
  2004-07-19 23:27   ` Marc A. Criley
  2004-07-20  0:31 ` Nick Roberts
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 33+ messages in thread
From: Georg Bauhaus @ 2004-07-19 20:49 UTC (permalink / raw)


Marc A. Criley <mcNOSPAM@mckae.com> wrote:


: the room for artistically creative
: expression never arises.

I don't know English, so maybe this is just a misunderstanding;
I wonder how a room can arise and what this expression says about
the author's notion of creativity?



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 19:03 ` Hyman Rosen
@ 2004-07-19 23:24   ` Marc A. Criley
  2004-07-20  0:27   ` Nick Roberts
  1 sibling, 0 replies; 33+ messages in thread
From: Marc A. Criley @ 2004-07-19 23:24 UTC (permalink / raw)


"Hyman Rosen" <hyrosen@mail.com> wrote

> And that is why all office buildings and bridges look identical.

That is correct. When the requirements are maximum utility at minimum
cost...





^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 20:49 ` Georg Bauhaus
@ 2004-07-19 23:27   ` Marc A. Criley
  2004-07-20  9:05     ` Georg Bauhaus
  0 siblings, 1 reply; 33+ messages in thread
From: Marc A. Criley @ 2004-07-19 23:27 UTC (permalink / raw)



"Georg Bauhaus" <sb463ba@l1-hrz.uni-duisburg.de> wrote:
> Marc A. Criley <mcNOSPAM@mckae.com> wrote:
>
>
> : the room for artistically creative
> : expression never arises.

Actually I didn't, Heer wrote that.

> I don't know English, so maybe this is just a misunderstanding;
> I wonder how a room can arise and what this expression says about
> the author's notion of creativity?

"the room" in this context basically means "a justifiable opportunity".





^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 19:03 ` Hyman Rosen
  2004-07-19 23:24   ` Marc A. Criley
@ 2004-07-20  0:27   ` Nick Roberts
  2004-07-20  7:40     ` Hyman Rosen
  1 sibling, 1 reply; 33+ messages in thread
From: Nick Roberts @ 2004-07-20  0:27 UTC (permalink / raw)


On Mon, 19 Jul 2004 15:03:34 -0400, Hyman Rosen <hyrosen@mail.com> wrote:

> Marc A. Criley wrote:
>> "Since the design of computer software is forever driven by its
>> intended functionality and efficiency concerns, the room for
>> artistically creative expression never arises.
>
> And that is why all office buildings and bridges look identical.

But Hyman, the design of Concorde (the aircraft) was driven by its
intended functionality and efficiency concerns, but it was not identical
to other aircraft designs, and most people do not, upon seeing the plane,
say "yuk, what an ugly functional and efficient design!"

The design of plants and animals by nature (if one looks at it that way)
is forever driven by functionality and efficiency concerns, yet there
are at least some plants and animals which are very beautiful.

-- 
Nick Roberts



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
                   ` (2 preceding siblings ...)
  2004-07-19 20:49 ` Georg Bauhaus
@ 2004-07-20  0:31 ` Nick Roberts
  2004-07-20  1:45 ` Alexander E. Kopilovich
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 33+ messages in thread
From: Nick Roberts @ 2004-07-20  0:31 UTC (permalink / raw)


On Mon, 19 Jul 2004 13:46:58 -0500, Marc A. Criley <mcNOSPAM@mckae.com>  
wrote:

> One of the interesting conclusions of this paper is this:
>
> "Since the design of computer software is forever driven by its
> intended functionality and efficiency concerns, the room for
> artistically creative expression never arises. [...] It is more
> appropriate to consider the software objects of a computer
> program as analogous to the gears, pulleys, and levers of a
> mechanical invention, as by its very nature, the design of
> computer software is intended to optimize functionality by
> making a program run faster, use less memory, or be easier for
> the programmer to modify."

I would heartily agree with this synopsis -- particularly the
analogy with clockwork -- but I would suggest that the design of
the user interface of a computer program is often necessarily of
an artistic nature. After all, the design of clocks often has an
artistic element to it.

-- 
Nick Roberts



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
                   ` (3 preceding siblings ...)
  2004-07-20  0:31 ` Nick Roberts
@ 2004-07-20  1:45 ` Alexander E. Kopilovich
  2004-07-20  8:20 ` Dmitry A. Kazakov
  2004-07-21  1:05 ` Robert I. Eachus
  6 siblings, 0 replies; 33+ messages in thread
From: Alexander E. Kopilovich @ 2004-07-20  1:45 UTC (permalink / raw)
  To: comp.lang.ada

Marc A. Criley wrote:

> In spectating the "SCO vs Linux" lawsuit (www.groklaw.net), a lot of
> documents of various types get posted. One of the recent references was a
> paper titled, "The case against Copyright Protection of Non-literal Elements
> of Computer Software" http://tinyurl.com/3tjqj, by Christopher Heer of the
> University of Toronto.
>
[...]
>
> One of the interesting conclusions of this paper is this:
>
> "Since the design of computer software is forever driven by its intended
> functionality and efficiency concerns, the room for artistically creative
> expression never arises.

It seems that the author of that paper knows far too little about art and 
artistically created expressions. Perhaps he thinks that art is overwhelmingly
not functional, but decorative... and that true artists never worry about
restrictions and consequences, being driven by mystical revelations.

I'd like to recall here an interesting (and not rare) kind of art -
propaganda art, which from time to time thrives both in literature and in
movies (especially in war or tension times). There are plenty of examples
of true art of this kind - and certainly the ultimate purposes of those
things were and are functionality and efficiency.

Another well-known generic example is architecture - one may recall that so
beloved by many in software world "design patterns" were largely originated
from the Christpher Alexander's work on architectural patterns - and then
read the first book in that series - "Timeless Way of Building" by Christopher
Alexander - and see the roles of functionality and effectiveness in that art.

Then, the author of that paper holds awfully narrow view for computer software.
It seems that he recognizes very specific-purpose software only - because he
spoke about functionality as about a compact and well-defined thing, which
does not need such artisitic features as fine balancing between contradictory
criteria. He surely did not ask himself: what is the functionality for a text
editor of MS Word kind, and how it differs - not in general, but in all
important details - from the functionality of a text editor of, say, Emacs
kind.

So I think that the quoted paper does not deserve further reading -;) .




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20  0:27   ` Nick Roberts
@ 2004-07-20  7:40     ` Hyman Rosen
  2004-07-20 15:24       ` Nick Roberts
                         ` (2 more replies)
  0 siblings, 3 replies; 33+ messages in thread
From: Hyman Rosen @ 2004-07-20  7:40 UTC (permalink / raw)


Nick Roberts wrote:
> On Mon, 19 Jul 2004 15:03:34 -0400, Hyman Rosen <hyrosen@mail.com> wrote:
>> And that is why all office buildings and bridges look identical.
> 
> But Hyman, the design of Concorde (the aircraft) was driven by its
> intended functionality and efficiency concerns, but it was not identical
> to other aircraft designs, and most people do not, upon seeing the plane,
> say "yuk, what an ugly functional and efficient design!"
> 
> The design of plants and animals by nature (if one looks at it that way)
> is forever driven by functionality and efficiency concerns, yet there
> are at least some plants and animals which are very beautiful.

Who said anything about beauty? I was sarcastically noting that office
buildings and bridges are in fact almost never identical, even though
their functions are essentially simple - one contains offices and the
other spans waterways.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
                   ` (4 preceding siblings ...)
  2004-07-20  1:45 ` Alexander E. Kopilovich
@ 2004-07-20  8:20 ` Dmitry A. Kazakov
  2004-07-20 14:28   ` Martin Krischik
  2004-07-21 20:17   ` Simon Wright
  2004-07-21  1:05 ` Robert I. Eachus
  6 siblings, 2 replies; 33+ messages in thread
From: Dmitry A. Kazakov @ 2004-07-20  8:20 UTC (permalink / raw)


On Mon, 19 Jul 2004 13:46:58 -0500, Marc A. Criley wrote:

> (Okay, now that I have your attention... :-)

A very interesting reading. Thanks!

> One of the interesting conclusions of this paper is this:
> 
> "Since the design of computer software is forever driven by its intended
> functionality and efficiency concerns, the room for artistically creative
> expression never arises...."

Q1: Is design always driven by functionality and efficiency concerns?

Another quote from the paper:

"The most significant doctrine limiting the copyrightability of works is
the idea-expression dichotomy.25 It holds that the aim of copyright law is
to protect an idea's expression, not the idea itself."

Q2: Can a particular program express an idea?

Q3: Can a program design express an idea?

[Amateur: Seems Q2 and not Q3. So programs (code) can be copyrighted,
design cannot?]

Yet another quote:

"Furthermore, a computer program is not intended to be read or understood
by its target audience. While people trained in software may read the
source code of computer programs, this is done for no other purpose than to
understand how the programs work."

Q4: What about UML and other languages intended for solely human readers?

[Amateur: Documents written in those languages are not programs?]

> After you get past the knee-jerk reaction to Heer's conclusion (which I'll
> admit to), sit back and really think about software, its function, and how
> to achieve _correctness_ and _efficiency_ in design and programming.
> Software development starts to become less about creative expression, and
> more like a quest, trying to find the elegant implementation of
> functionality.

Sure, software design becomes engineering, CS becomes a science...

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



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 23:27   ` Marc A. Criley
@ 2004-07-20  9:05     ` Georg Bauhaus
  0 siblings, 0 replies; 33+ messages in thread
From: Georg Bauhaus @ 2004-07-20  9:05 UTC (permalink / raw)


Marc A. Criley <mcNOSPAM@mckae.com> wrote:
: 
: "Georg Bauhaus" <sb463ba@l1-hrz.uni-duisburg.de> wrote:
:> Marc A. Criley <mcNOSPAM@mckae.com> wrote:
:>
:>
:> : the room for artistically creative
:> : expression never arises.
: 
: Actually I didn't, Heer wrote that.

Yes, I'm sorry.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20  8:20 ` Dmitry A. Kazakov
@ 2004-07-20 14:28   ` Martin Krischik
  2004-07-20 15:02     ` Dmitry A. Kazakov
                       ` (2 more replies)
  2004-07-21 20:17   ` Simon Wright
  1 sibling, 3 replies; 33+ messages in thread
From: Martin Krischik @ 2004-07-20 14:28 UTC (permalink / raw)


Dmitry A. Kazakov wrote:

> On Mon, 19 Jul 2004 13:46:58 -0500, Marc A. Criley:
> What about UML and other languages intended for solely human readers? 
> 
> [Amateur: Documents written in those languages are not programs?]

Well, a super duper code generator could create quite a lot of program from
UML - and could be considered a programming language. However I have not
seen one yet.

All UML generators I have seen generate only from the Class view. They do
not create from the activity or state charts.

IBM's Visual Age (for Smalltalk, C++ and Java) has shown that it is possible
to generate classes with there appropriate activity's as well.

With Regards

Martin
-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com




^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20 14:28   ` Martin Krischik
@ 2004-07-20 15:02     ` Dmitry A. Kazakov
  2004-07-20 18:02       ` Wes Groleau
  2004-07-21  9:30       ` Martin Krischik
  2004-07-21 20:22     ` Simon Wright
  2004-07-23  8:00     ` Rolf Ebert
  2 siblings, 2 replies; 33+ messages in thread
From: Dmitry A. Kazakov @ 2004-07-20 15:02 UTC (permalink / raw)


On Tue, 20 Jul 2004 16:28:06 +0200, Martin Krischik wrote:

> Dmitry A. Kazakov wrote:
> 
>> What about UML and other languages intended for solely human readers? 
>> 
>> [Amateur: Documents written in those languages are not programs?]
> 
> Well, a super duper code generator could create quite a lot of program from
> UML - and could be considered a programming language. However I have not
> seen one yet.
> 
> All UML generators I have seen generate only from the Class view. They do
> not create from the activity or state charts.
> 
> IBM's Visual Age (for Smalltalk, C++ and Java) has shown that it is possible
> to generate classes with there appropriate activity's as well.

Right, but the author emphasizes that possibility is nothing, intent and
purpose is everything:

"... While people trained in software may read the source code of computer
programs, this is done for no other purpose than to understand how the
programs work. Hence, it can be said that computer programs are only
literary works in form, whereas in substance they are technology for using
computers. Consequently, the fact that source code reads like the English
language gives the wrong impression as to its true nature."

In his logic an ability to generate code from UML just "gives the wrong
impression"...

To a certain extent he is definitely right. Information without a receiver
(purpose) is a garbage. (That's why broadcastings are so irritating (:-))

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



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20  7:40     ` Hyman Rosen
@ 2004-07-20 15:24       ` Nick Roberts
  2004-07-20 16:00       ` Marc A. Criley
  2004-08-09 16:14       ` Richard  Riehle
  2 siblings, 0 replies; 33+ messages in thread
From: Nick Roberts @ 2004-07-20 15:24 UTC (permalink / raw)


On Tue, 20 Jul 2004 07:40:38 GMT, Hyman Rosen <hyrosen@mail.com> wrote:

> ...
> Who said anything about beauty? I was sarcastically noting that
> office buildings and bridges are in fact almost never identical,
> even though their functions are essentially simple - one contains
> offices and the other spans waterways.

Oh. I see your point.

But are you saying that you think there /should/ be as much
diversity among computer programs, or are you saying that there
is such diversity de facto, but /shouldn't/ be?

-- 
Nick Roberts



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20  7:40     ` Hyman Rosen
  2004-07-20 15:24       ` Nick Roberts
@ 2004-07-20 16:00       ` Marc A. Criley
  2004-07-20 18:46         ` Jeffrey Carter
  2004-08-09 16:14       ` Richard  Riehle
  2 siblings, 1 reply; 33+ messages in thread
From: Marc A. Criley @ 2004-07-20 16:00 UTC (permalink / raw)


"Hyman Rosen" <hyrosen@mail.com> wrote:

> Who said anything about beauty? I was sarcastically noting that office
> buildings and bridges are in fact almost never identical, even though
> their functions are essentially simple - one contains offices and the
> other spans waterways.

But get away from structures that also try to provide a public aesthetic
(which would also be a functional--albeit touchy-feely--design requirement),
like skyscrapers and high-profile bridges, and consider utilitarian ones.

E.g., freeway overpasses. I strongly suspect that the overpasses built
within a given state, conforming to specific industry and state
requirements, and on similar terrain will all be virtually identical, with
only functionally-derived differences in length, clearance, and approach
angle.

I also regularly see these mini-retail sales buildings that house 2-10
tenants being constructed all around where I live. They're virtually
identical (high wall in front, roof sloping to the back, one door, a display
window on either side of the door) no matter who builds them, with the main
variation being the number of (identically constructed) tenant modules to
incorporate.

In terms of software, Heer's argument is about "_creative_expression_"
within the software, which is not necessary for correct functioning. Now how
developer's come up with the correct (and optimal) implementation may be
aided by creative problem solving, and creative leaps of understanding of
how to find the solution, but the solution itself is a product of
engineering.





^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20 15:02     ` Dmitry A. Kazakov
@ 2004-07-20 18:02       ` Wes Groleau
  2004-07-21  9:30       ` Martin Krischik
  1 sibling, 0 replies; 33+ messages in thread
From: Wes Groleau @ 2004-07-20 18:02 UTC (permalink / raw)



> Right, but the author emphasizes that possibility is nothing, intent and
> purpose is everything:
> 
> "... [snip]  Consequently, the fact that source code reads like the English
> language gives the wrong impression as to its true nature."

Oh, THAT'S why Ada, Cobol, and SQL are more evil than C and C++   :-)

-- 
Wes Groleau

   Armchair Activism: http://www.breakthechain.org/armchair.html



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20 16:00       ` Marc A. Criley
@ 2004-07-20 18:46         ` Jeffrey Carter
  2004-07-20 22:41           ` Randy Brukardt
  0 siblings, 1 reply; 33+ messages in thread
From: Jeffrey Carter @ 2004-07-20 18:46 UTC (permalink / raw)


Marc A. Criley wrote:

> E.g., freeway overpasses. I strongly suspect that the overpasses built
> within a given state, conforming to specific industry and state
> requirements, and on similar terrain will all be virtually identical, with
> only functionally-derived differences in length, clearance, and approach
> angle.

Not necessarily. A new interchange between 2 freeways (1 existing, the 
other being constructed) near my home has sculptures based on the art of 
the aboriginal people of this part of North America molded into the 
supports, and is being painted a terra-cotta color.

-- 
Jeff Carter
"Oh Lord, bless this thy hand grenade, that with it thou
mayst blow thine enemies to tiny bits, in thy mercy."
Monty Python and the Holy Grail
24




^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20 18:46         ` Jeffrey Carter
@ 2004-07-20 22:41           ` Randy Brukardt
  0 siblings, 0 replies; 33+ messages in thread
From: Randy Brukardt @ 2004-07-20 22:41 UTC (permalink / raw)


"Jeffrey Carter" <spam@spam.com> wrote in message
news:7MdLc.9515$Qu5.3023@newsread2.news.pas.earthlink.net...
> Marc A. Criley wrote:
>
> > E.g., freeway overpasses. I strongly suspect that the overpasses built
> > within a given state, conforming to specific industry and state
> > requirements, and on similar terrain will all be virtually identical,
with
> > only functionally-derived differences in length, clearance, and approach
> > angle.
>
> Not necessarily. A new interchange between 2 freeways (1 existing, the
> other being constructed) near my home has sculptures based on the art of
> the aboriginal people of this part of North America molded into the
> supports, and is being painted a terra-cotta color.

That's a relatively recent innovation, and it seems to be mostly limited to
urban areas. Here in Wisconsin, you can tell within a couple of years which
year a freeway was constructed by the style of the overpasses (at least for
freeways constructed between 1960 and 1980, which is the majority of them).
That seems to hold in other midwestern states as well (although I don't know
the actual dates of construction well enough to be sure). In recent years,
upgrades and replacements have had that somewhat harder (because the new
bridges obscure the date of original construction) - but they're easy to
pick out.

                     Randy.






^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
                   ` (5 preceding siblings ...)
  2004-07-20  8:20 ` Dmitry A. Kazakov
@ 2004-07-21  1:05 ` Robert I. Eachus
  2004-07-21  1:17   ` Ed Falis
                     ` (2 more replies)
  6 siblings, 3 replies; 33+ messages in thread
From: Robert I. Eachus @ 2004-07-21  1:05 UTC (permalink / raw)



Marc A. Criley wrote:

> After you get past the knee-jerk reaction to Heer's conclusion (which I'll
> admit to), sit back and really think about software, its function, and how
> to achieve _correctness_ and _efficiency_ in design and programming.
> Software development starts to become less about creative expression, and
> more like a quest, trying to find the elegant implementation of
> functionality. Refactoring, anyone?

I think Marc hit the nail on the head here.  Have often been accused of 
  writing "pretty" code. (Or if you prefer, complimented on it.  But in 
my experience, if someone says your code is very clear, it is a 
compliment.  If they say is is very pretty, they are dissing it. ;-)  To 
me the hard work was defining the requirements and ruthlessly 
eliminating any preconceptions that were not part of the requirements. 
At that point there usually seems to be not one best way to write the 
code, but only one way to write the code correctly, in conformance with 
the requirements.

In my opinion Software Engineering is an Art.  But the code produced as 
one of the end products of that art is not the art itself.  It is a 
mechanical expression/evolution of the requirements and design.

Maybe copyright law should recognize this.  That would mean that you 
could copyright code design, and ANY code that was an instance of your 
copyrighted design would be covered by the copyright.  Copyrighting the 
requirements is a bit more troubling, but not much.  If you do a good 
job on any programming task, you may put more than half your effort into 
the requirements.  (Of course, you can instead put much more than half 
your effort into debugging...)

Think about it this way:  What if you design a program in Ada, and I 
make a "work alike" program written in say PL/I.  Did I violate your 
copyright?  I think I would agree that if I "reverse engineered" your 
code--or just read the comments--and used the same design I was 
infringing.  Even if my version used char(*) varying where you used 
Unbounded_String, and so on.

-- 

                                           Robert I. Eachus

"The flames kindled on the Fourth of July, 1776, have spread over too 
much of the globe to be extinguished by the feeble engines of despotism; 
on the contrary, they will consume these engines and all who work them." 
-- Thomas Jefferson, 1821




^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-21  1:05 ` Robert I. Eachus
@ 2004-07-21  1:17   ` Ed Falis
  2004-07-21  3:44     ` tmoran
  2004-07-21  4:09     ` tmoran
  2004-07-21  9:38   ` Ludovic Brenta
  2004-07-22 14:11   ` Marc A. Criley
  2 siblings, 2 replies; 33+ messages in thread
From: Ed Falis @ 2004-07-21  1:17 UTC (permalink / raw)


On Tue, 20 Jul 2004 21:05:37 -0400, Robert I. Eachus  
<rieachus@comcast.net> wrote:

> Think about it this way:  What if you design a program in Ada, and I  
> make a "work alike" program written in say PL/I.  Did I violate your  
> copyright?  I think I would agree that if I "reverse engineered" your  
> code--or just read the comments--and used the same design I was  
> infringing.  Even if my version used char(*) varying where you used  
> Unbounded_String, and so on.

Which just goes to show the absurdity of the concept of intellectual  
property as an ideology.

-- 
"When I was a kid, I wanted to grow up to be a wise man. Somehow, I just  
turned out to be a wise guy".



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-21  1:17   ` Ed Falis
@ 2004-07-21  3:44     ` tmoran
  2004-07-21  4:09     ` tmoran
  1 sibling, 0 replies; 33+ messages in thread
From: tmoran @ 2004-07-21  3:44 UTC (permalink / raw)


> > Think about it this way:  What if you design a program in Ada, and I
> > make a "work alike" program written in say PL/I.  Did I violate your
> > copyright?  I think I would agree that if I "reverse engineered" your
> > code--or just read the comments--and used the same design I was
> > infringing.  Even if my version used char(*) varying where you used
> > Unbounded_String, and so on.
>
> Which just goes to show the absurdity of the concept of intellectual
> property as an ideology.
  I suggest it shows the absurdity of thinking that expertise in
software engineering carries over to expertise in law.  (IANAL)
  From "The Software Developer's and Marketer's Legal Companion",
ISBN 0-201-62276-9 page 2: A fundamental concept of copyright law is
that it grants exclusive rights to the particular expression that
constitutes the work.  The Copyright Act expressly provides that
copyright protection does not extend to "any idea, procedure, system,
method of operation, concept, principle, or discovery" underlying the
program.  ... the level of originality required is very, very low ...
The legal test contains two elements (1) a level of originality
described by judges as "very slight" or "minimal," and (2) independent
creation.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-21  1:17   ` Ed Falis
  2004-07-21  3:44     ` tmoran
@ 2004-07-21  4:09     ` tmoran
  1 sibling, 0 replies; 33+ messages in thread
From: tmoran @ 2004-07-21  4:09 UTC (permalink / raw)


> > Think about it this way:  What if you design a program in Ada, and I
> > make a "work alike" program written in say PL/I.  Did I violate your
> > copyright?  I think I would agree that if I "reverse engineered" your
> > code--or just read the comments--and used the same design I was
> > infringing.  Even if my version used char(*) varying where you used
> > Unbounded_String, and so on.
>
> Which just goes to show the absurdity of the concept of intellectual
> property as an ideology.
  I suggest it shows the absurdity of thinking that expertise in
software engineering carries over to expertise in law.  (IANAL)
  From "The Software Developer's and Marketer's Legal Companion",
ISBN 0-201-62276-9 page 2: A fundamental concept of copyright law is
that it grants exclusive rights to the particular expression that
constitutes the work.  The Copyright Act expressly provides that
copyright protection does not extend to "any idea, procedure, system,
method of operation, concept, principle, or discovery" underlying the
program.  ... the level of originality required is very, very low ...
The legal test contains two elements (1) a level of originality
described by judges as "very slight" or "minimal," and (2) independent
creation.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20 15:02     ` Dmitry A. Kazakov
  2004-07-20 18:02       ` Wes Groleau
@ 2004-07-21  9:30       ` Martin Krischik
  1 sibling, 0 replies; 33+ messages in thread
From: Martin Krischik @ 2004-07-21  9:30 UTC (permalink / raw)


Dmitry A. Kazakov wrote:

> On Tue, 20 Jul 2004 16:28:06 +0200, Martin Krischik wrote:
> 
>> Dmitry A. Kazakov wrote:
>> 
>>> What about UML and other languages intended for solely human readers?
>>> 
>>> [Amateur: Documents written in those languages are not programs?]
>> 
>> Well, a super duper code generator could create quite a lot of program
>> from UML - and could be considered a programming language. However I have
>> not seen one yet.
>> 
>> All UML generators I have seen generate only from the Class view. They do
>> not create from the activity or state charts.
>> 
>> IBM's Visual Age (for Smalltalk, C++ and Java) has shown that it is
>> possible to generate classes with there appropriate activity's as well.
> 
> Right, but the author emphasizes that possibility is nothing, intent and
> purpose is everything:
> 
> "... While people trained in software may read the source code of computer
> programs, this is done for no other purpose than to understand how the
> programs work. Hence, it can be said that computer programs are only
> literary works in form, whereas in substance they are technology for using
> computers. Consequently, the fact that source code reads like the English
> language gives the wrong impression as to its true nature."
> 
> In his logic an ability to generate code from UML just "gives the wrong
> impression"...

But I was trying to answer the question in the [] ;-). - UML Documents are
programs - just on a different abstraction level.

With Regards

Martin
-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com




^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-21  1:05 ` Robert I. Eachus
  2004-07-21  1:17   ` Ed Falis
@ 2004-07-21  9:38   ` Ludovic Brenta
  2004-07-22 14:11   ` Marc A. Criley
  2 siblings, 0 replies; 33+ messages in thread
From: Ludovic Brenta @ 2004-07-21  9:38 UTC (permalink / raw)


"Robert I. Eachus" writes:
> Think about it this way: What if you design a program in Ada, and I
> make a "work alike" program written in say PL/I.  Did I violate your
> copyright?  I think I would agree that if I "reverse engineered"
> your code--or just read the comments--and used the same design I was
> infringing.  Even if my version used char(*) varying where you used
> Unbounded_String, and so on.

IANAL, but this looks to me that you would be translating the Ada
program into another language.  This does not sound any different tran
translating a book from English into French, for instance.  I would
suppose that copyright law has provisions for this?

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20  8:20 ` Dmitry A. Kazakov
  2004-07-20 14:28   ` Martin Krischik
@ 2004-07-21 20:17   ` Simon Wright
  2004-07-21 22:15     ` Georg Bauhaus
  1 sibling, 1 reply; 33+ messages in thread
From: Simon Wright @ 2004-07-21 20:17 UTC (permalink / raw)


"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> Q4: What about UML and other languages intended for solely human readers?
> 
> [Amateur: Documents written in those languages are not programs?]

There are parts of UML (1.n, not yet up to speed with 2) that are
sufficiently formal that code can indeed be generated from them. This
includes class and state modelling but excludes use cases :-)

You usually have to subset the complete UML and state what precise
interpretation you will place on the model and what extensions
(stereotypes and tagged values) have what meanings. This is known as a
profile. So far you have enough for a framework, you need to add the
application logic.

UML now includes (not sure at what revision exactly) an action
language specification which has allowed at least two companies to
create development systems where you can specify your subject in UML +
actions and have the resulting model execute (by complete translation
to a development runtime, possibly based on C) and be deployed (by
complete translation to a deliverable runtime, possibly in a different
language eg Ada).

I have some links on the Resources page under
http://pushface.org/coldframe/ -- specifically the Project Technology
and Kennedy-Carter links.

-- 
Simon Wright                               100% Ada, no bugs.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20 14:28   ` Martin Krischik
  2004-07-20 15:02     ` Dmitry A. Kazakov
@ 2004-07-21 20:22     ` Simon Wright
  2004-07-23  8:00     ` Rolf Ebert
  2 siblings, 0 replies; 33+ messages in thread
From: Simon Wright @ 2004-07-21 20:22 UTC (permalink / raw)


Martin Krischik <krischik@users.sourceforge.net> writes:

> All UML generators I have seen generate only from the Class view. They do
> not create from the activity or state charts.

This one generates from (flat) statecharts:

http://pushface.org/coldframe/events.html

-- 
Simon Wright                               100% Ada, no bugs.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-21 20:17   ` Simon Wright
@ 2004-07-21 22:15     ` Georg Bauhaus
  2004-07-23 20:59       ` Simon Wright
  0 siblings, 1 reply; 33+ messages in thread
From: Georg Bauhaus @ 2004-07-21 22:15 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote:
: UML now includes (not sure at what revision exactly) an action
: language specification which has allowed at least two companies to
: create development systems where you can specify your subject in UML +
: actions and have the resulting model execute (by complete translation
: to a development runtime, possibly based on C) and be deployed (by
: complete translation to a deliverable runtime, possibly in a different
: language eg Ada).

Is this notation more readable than conventional programming
languges?


-- Georg



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-21  1:05 ` Robert I. Eachus
  2004-07-21  1:17   ` Ed Falis
  2004-07-21  9:38   ` Ludovic Brenta
@ 2004-07-22 14:11   ` Marc A. Criley
  2 siblings, 0 replies; 33+ messages in thread
From: Marc A. Criley @ 2004-07-22 14:11 UTC (permalink / raw)



"Robert I. Eachus" <rieachus@comcast.net> wrote:

> Maybe copyright law should recognize this.  That would mean that you
> could copyright code design, and ANY code that was an instance of your
> copyrighted design would be covered by the copyright.  Copyrighting the
> requirements is a bit more troubling, but not much.  If you do a good
> job on any programming task, you may put more than half your effort into
> the requirements.  (Of course, you can instead put much more than half
> your effort into debugging...)

Recall the title of the original article: "The Case against Copyright
Protection of Non-literal Elements of Copyright Software". The author is
arguing in fact that the design itself should not by copyrightable, because
the design is as functionally driven to a singular solution by the
requirements as the code is.

This then starts to smell like advocacy for software patents--but that's
another issue with its own pros and cons (mostly cons -- mc :-).

Marc





^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20 14:28   ` Martin Krischik
  2004-07-20 15:02     ` Dmitry A. Kazakov
  2004-07-21 20:22     ` Simon Wright
@ 2004-07-23  8:00     ` Rolf Ebert
  2004-07-23 21:04       ` Simon Wright
  2 siblings, 1 reply; 33+ messages in thread
From: Rolf Ebert @ 2004-07-23  8:00 UTC (permalink / raw)


Martin Krischik <krischik@users.sourceforge.net> wrote in message news:<2037155.DSSJocQ4yI@linux1.krischik.com>...
> All UML generators I have seen generate only from the Class view. They do
> not create from the activity or state charts.

Probaly you missed most of the market leaders.  At least Rose, Artisan
and Rhapsody generate code from statecharts, probably others do as
well.  I have seen programs (i.e. models) containing thousands of
nested states (debatable if that was a good design).  On a key click
you get a complete and running program.  It is impressive when you see
that for the first time.

Artisan and Rhapsody can also generate Ada code for state and activity
charts.

As for the action language that Simon mentions, all real life models
that I know use the target language as action language.  That is, you
program in Ada (or mostly in C++, C, or Java) within an activity or at
the state transitions.

    Rolf



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-21 22:15     ` Georg Bauhaus
@ 2004-07-23 20:59       ` Simon Wright
  0 siblings, 0 replies; 33+ messages in thread
From: Simon Wright @ 2004-07-23 20:59 UTC (permalink / raw)


Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> writes:

> Simon Wright <simon@pushface.org> wrote:
> : UML now includes (not sure at what revision exactly) an action
> : language specification which has allowed at least two companies to
> : create development systems where you can specify your subject in UML +
> : actions and have the resulting model execute (by complete translation
> : to a development runtime, possibly based on C) and be deployed (by
> : complete translation to a deliverable runtime, possibly in a different
> : language eg Ada).
> 
> Is this notation more readable than conventional programming
> languges?

The OMG part specifies the semantics required, not the syntax. So --
at the moment -- the syntax is up to the vendor. The last time I
actually dealt with this stuff was a few years ago, at the time I
wondered exactly what the vendors' qualifications as language syntax
designers might have been; it was rather simple (typing by first
assignment, for instance). But it was certainly clear enough about the
UML aspects (navigatinjg from instance to instance, for example); I
wouldn't have wanted to code up a Kalman filter in it, though. Code
inserts (Ada for us) were allowed.

-- 
Simon Wright                               100% Ada, no bugs.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-23  8:00     ` Rolf Ebert
@ 2004-07-23 21:04       ` Simon Wright
  0 siblings, 0 replies; 33+ messages in thread
From: Simon Wright @ 2004-07-23 21:04 UTC (permalink / raw)


rolf.ebert_nospam_@gmx.net (Rolf Ebert) writes:

> As for the action language that Simon mentions, all real life models
> that I know use the target language as action language.  That is,
> you program in Ada (or mostly in C++, C, or Java) within an activity
> or at the state transitions.

This is possibly (well, certainly I guess) where the mass market is,
but I assure you that there are real-world examples where this is not
true -- a graphics console for a command system and a torpedo near me,
also see http://www.projtech.com/ and http://www.kc.com/

-- 
Simon Wright                               100% Ada, no bugs.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: Artistically creative expression has no role in software design
  2004-07-20  7:40     ` Hyman Rosen
  2004-07-20 15:24       ` Nick Roberts
  2004-07-20 16:00       ` Marc A. Criley
@ 2004-08-09 16:14       ` Richard  Riehle
  2 siblings, 0 replies; 33+ messages in thread
From: Richard  Riehle @ 2004-08-09 16:14 UTC (permalink / raw)



"Hyman Rosen" <hyrosen@mail.com> wrote in message
news:W%3Lc.24894$F8.17744@nwrdny02.gnilink.net...
>
> Who said anything about beauty? I was sarcastically noting that office
> buildings and bridges are in fact almost never identical, even though
> their functions are essentially simple - one contains offices and the
> other spans waterways.
>
This observation is correct at one level of abstraction.  When one
takes an architectural view, it looks a little different.

One of the key ideas in software engineering is that of "levels of
abstraction."   This is a fundamental property of derived types
(classes) in object-oriented programming, or object modeling.

Although each building is different, there are architectural
similarities for most buildings.  The construction materials
are different, the height is different for each instance, the
number of doors and windows (if any) are different, but
the underlying functionality, across a given domain, is
likely to be similar.

This architectural view mainifests itself in a large number of
day-to-day artifacts.  For some of those artifacts, the
fundamental architecture has not changed in hundreds
of years.

I don't believe I need to give a list of examples since
my assertion would seem to be self-evident.

Richard Riehle





^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2004-08-09 16:14 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-19 18:46 Artistically creative expression has no role in software design Marc A. Criley
2004-07-19 18:56 ` Ed Falis
2004-07-19 19:03 ` Hyman Rosen
2004-07-19 23:24   ` Marc A. Criley
2004-07-20  0:27   ` Nick Roberts
2004-07-20  7:40     ` Hyman Rosen
2004-07-20 15:24       ` Nick Roberts
2004-07-20 16:00       ` Marc A. Criley
2004-07-20 18:46         ` Jeffrey Carter
2004-07-20 22:41           ` Randy Brukardt
2004-08-09 16:14       ` Richard  Riehle
2004-07-19 20:49 ` Georg Bauhaus
2004-07-19 23:27   ` Marc A. Criley
2004-07-20  9:05     ` Georg Bauhaus
2004-07-20  0:31 ` Nick Roberts
2004-07-20  1:45 ` Alexander E. Kopilovich
2004-07-20  8:20 ` Dmitry A. Kazakov
2004-07-20 14:28   ` Martin Krischik
2004-07-20 15:02     ` Dmitry A. Kazakov
2004-07-20 18:02       ` Wes Groleau
2004-07-21  9:30       ` Martin Krischik
2004-07-21 20:22     ` Simon Wright
2004-07-23  8:00     ` Rolf Ebert
2004-07-23 21:04       ` Simon Wright
2004-07-21 20:17   ` Simon Wright
2004-07-21 22:15     ` Georg Bauhaus
2004-07-23 20:59       ` Simon Wright
2004-07-21  1:05 ` Robert I. Eachus
2004-07-21  1:17   ` Ed Falis
2004-07-21  3:44     ` tmoran
2004-07-21  4:09     ` tmoran
2004-07-21  9:38   ` Ludovic Brenta
2004-07-22 14:11   ` Marc A. Criley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox