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.