Re: "What Makes a Software High-Quality?"

Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]> Sun, 4 May 2008 19:19:48 +0300
Newsgroups gmane.culture.hackers.israel
Message-ID <[email protected]>
On Sunday 04 May 2008, Gary Campbell wrote:
> Just a brief response from me (Gary Campbell).
>
> I seem to be in the opposite mode from Mr. Fish.  

How so, exactly?

> I'm still having fun 
> writing the "last" version of my solver, and taking my time doing so, I
> have to add.  

That's "latest" not "last". I should note that I had fun writing my solver 
too, but now lost interest to other projects. I may return to it in the 
future.

> I'm encouraged by my interim results, but I have a lot 
> more things I want to add to it.  It now solves 99.9% of games in
> well under 100 moves / game, at the rate of over 300 games / second
> on my Vaio laptop (about 3 years old).  

Seems impressive.

> I still consider the player/solver 
> that I posted to my website a "high quality" piece of work.  

Very well.

> Check it 
> out and see for yourself.  Visit:  http://numin8r.us/programs
>
> About 18 years ago I was in charge of Sun Microsystem's Fortran
> compiler.  At that time I was extremely interested in "high quality"
> software (we did use the term "industrial strength" as well as other
> ways to describe it), and at that time I probably wrote a number of
> fragments that might have gone together to describe my opinions
> as well as those of some of my colleagues.  But, now I've kind of
> lost interest.  Ah, well, maybe different stages of life.

Maybe. I would be interested in reading them as well, if they are still 
available. As for "industrial-strength", I understand what it means, but I 
think the term is very much abused and disputed. This is while "high-quality" 
is less abused, simpler and undisputed.

This is similar to all this "code for the Enterprise" that Java proponents 
tout so much. Someone once explained to me a bit what Enterprise code means, 
but so far it seems that it's incredibly dull and uninteresting and doesn't 
do anything useful.

In any case, there are many more parameters for being "industrial-strength" 
than speed as I've shown in the essay. Personally as a hard-core UNIX 
developer, I have a hard time calling a standalone (non-library) Freecell 
solver written in 8086 and DOS Assembly "industrial strength". But maybe 
that's just me.[1] 

Regards,

	Shlomi Fish

[1] - I'm not sure I can call my solver industrial strength either, but it was 
still good enough to be integrated into several bigger programs. Your 
Kilomtrage May Vary.

>   ----- Original Message -----
>   From: Shlomi Fish
>   To: [email protected] ; Hackers-IL
>   Cc: Gary Campbell
>   Sent: Sunday, May 04, 2008 7:46 AM
>   Subject: RFC: "What Makes a Software High-Quality?"
>
>
>   Hi all!
>
>   Inspired by what Mr. Gary Capmbell (CCed to this message) wrote in a
> previous message to the fc-solve-discuss list, I have written an essay on
> what makes a software program "high-quality". (And by induction also
> Solitaire solvers.). You can find it:
>
>   http://www.shlomifish.org/philosophy/computers/high-quality-software/
>
>   A browsable HTML version is available on the directory at the bottom, but
>   there are other formats. I'm announcing it here for comments before I
> make the document public, and publicise it.
>
>   Any comments, including silly typos are welcome. If you wish to be
> credited for helping writing the document send me your desired name or
> psedunym, and how to hyperlink it (homepage URL, blog URL, email, no link,
> etc.).
>
>   Regards,
>
>   Shlomi Fish
>
>   -----------------------------------------------------------------
>   Shlomi Fish       http://www.shlomifish.org/
>   "The Human Hacking Field Guide" - http://xrl.us/bjn8q
>
>   The bad thing about hardware is that it sometimes work and sometimes
> doesn't. The good thing about software is that it's consistent: it always
> does not work, and it always does not work in exactly the same way.



-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
Why I Love Perl - http://xrl.us/bjn88

The bad thing about hardware is that it sometimes work and sometimes doesn't.
The good thing about software is that it's consistent: it always does not
work, and it always does not work in exactly the same way.

------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/hackers-il/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/hackers-il/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/