Trying to get a NN code going
Richard A. O'Keefe
ok@atlas.otago.ac.nz
Thu, 4 Mar 1999 14:05:44 +1300 (NZDT)
"Alex" wrote that
if Mercury is to be successful
1. It must be ported to Windows (as of course Clean has been).
2. It should be usable by "the immense majority" who are
"amateurs and eternal beginners" and therefore
2a. Should be easy to install (slide in CD-ROM, hit the
YES button, wait).
2b. Should have one of those crippling GUI IDEs.
3. The compiler must be tiny, fast, and generate speedy code.
I comment that
0. Success != market dominance. The ultimate goal of the Mercury
team is that Mercury should be a tool that responsible
software engineers could straightforwardly use to write
reliable software.
1. My understanding is that Mercury _has_ been ported to Wind"ow"s.
2. We have a lot of spreadsheets written by people who are
"amateurs and eternal beginners". These are decent, caring,
worthy people who are immensely skilled in their own domains.
But the results are in: 1/4 to 1/3 of real spreadsheets
being used to make real business decisions are grossly in
error. (Meta-studies done at the University of Hawaii, IIRC.)
Just because someone isn't a fool doesn't mean they're a good
programmer. It would be a dreadful shame if the Mercury team
allowed benevolent concern for the people who are (rightly!)
never going to (want to) become good programmers to distract
them from providing appropriate tools for the small minority
who _are_ competent software engineers. Mercury will not
count as a success if millions of people are using it to
write bad software, but if some people are using it to write
_good_ software. As for IDEs, well, I've got a well known
Pascal compiler on the Macintosh I'm typing on, and it's IDE,
which is well respected, is _cripplingly_ limited compared
with emacs, and essentially useless to me, because the compiler
doesn't implement the whole of the (old!) standard.
3. The Clean system and libraries on my SPARCstation takes 12MB of
disc space. The Perl distribution on the same machien takes
31MB. A static checker for C (not a compiler, just a checker)
together with its documentation takes 12MB and the object
program requires a minimum of 2MB just to start. Turn this
around: if a floppy holds 1.4MB and you use great compression,
you _might_ be able to fit a C static checker on one floppy.
MIGHT. A reasonable compiler with useful libraries is likely
to be rather bigger than that. On my PowerMac,
Tcl/Tk 3.2MB (much of it's elsewhere, I think)
Xlisp/Stat 4.5 MB (Lisp interpreter + graphics + statistics)
(MCL4.2 16.2MB (that's Macintosh Common Lisp)
MCL Documentation 4.9MB
Additional MCL Source Code 8.7MB
) total 29.8 MB
and get this:
Metrowerks 303.5 MB (and it's not a full installation, either).
It would be stretching things a bit to say that Metrowerks is
not "successful", even though "CodeWarrior IDE 2.1" is a 5.3MB
executable Nor would one be able to say that it is "so fast
that it feels like an interpreter"; it puts up a line number
display, and when you have optimisation on, you can watch the
numbers ticking over.