[mercury-users] IDE...

Richard A. O'Keefe ok at cs.otago.ac.nz
Thu Oct 19 13:32:24 AEST 2006


RMJ <radse1 at yahoo.com> wrote, rather strangely:
	Indeed, it's only a matter of taste to use
	IDE/GUI-tools but you can't impose your personal style
	on the absolut majority of programmers in this world.
	
The people who are developing Mercury
 - don't have any time spare from developing Mercury and their other duties
 - are GIVING IT AWAY FOR NOTHING
 - HAVE taken the trouble to provide support for Mercury in one
   of the oldest IDEs around (Emacs; more than an integrated
   Development environment, perhaps it should be called an integrated
   Everything environment)

I cannot for the life of me see how this constitutes "imposing
[their] personal style" in any way on any person whatsoever.

They are doing *nothing*, for example, to prevent anyone providing
Mercury support for Eclipse or NetBeans or Visual Studio or XCode.
Should someone else do it, I dare say the Mercury team would be glad
to distribute it.

	Enhancing productivity or not plays no role.

I may say that I have only used one IDE that I liked, and that's (a
modern version of) the Smalltalk one, as found in Squeak.  That's _really_
integrated, and it really pays off.

I did look into the possibility of using Eclipse and NetBeans.
However:
    On an UltraSPARC running Solaris 2.9 with Sun's JDK 1.5,
    a recent version of Eclipse crashes in libgtk just after selecting
    a project directory, so I've never been able to try it.

    On the same machine, Sun's own NetBeans failed to install.

Some of my students tried Eclipse on a Linux box and found it completely
destroyed their productivity.

I shall spare you my comments on XCode.

	IDEs and GUI-tools (you can add good documentation, humble and
	helpful community, ease of
	reading/writing/debugging/extending/use and production, etc.)
	are among the most important things that make a programming
	language popular (if you are lucky).

Mercury *has* an IDE:  it's called Emacs.  I repeat, anyone who wants any
other would be more than welcome to build it and contribute it.  What is
stopping you?  GUI tools?  Well, Objective C has had quite a pleasant one
for a long time, but that doesn't seem to have made Objective C very popular.
And Squeak lets you build *amazing* GUIs; that doesn't seem to have made
Squeak popular either.

Mercury HAS good documentation; it HAS a helpful community, and if humble
has any definition other than "doing whatever RMJ wants", a humble one;
it HAS ease of reading once you have learned it; ease of writing may make
a language popular, but all too often it really means ease of writing the
wrong thing.

	If you want to keep Mercury in it's current tiny
	circle of users before it disappears in a decade or
	two, then don't bother. But I think Mercury deserves
	much better.
	
Most things disappear in a decade or two.  Microsoft have pulled the
plug on Visual Basic.  (Yes, I know about VB.Net; I even have a reference
book for it.  And no, it's not compatible with VB6 in any practical sense;
VB.Net is basically C# in drag.)

Mercury is a research project exploring the question "how could we make
logic programming useful to a software *engineer* who takes seriously
the task of making working programs".

What does it take to make a language popular?  Usually, it takes the
backing of someone with deep pockets; that's what it takes.  Fortran
and COBOL had the backing of the US government.  C and C++ had the
backing of AT&T.  Java has the backing of Sun.  Visual Basic had and
C# has the backing of Microsoft.  Visual Basic didn't become the language
of choice for 53% of programmers (as it was a few years ago) on its MERITS.

Where did IDEs like XCode, Eclipse, and NetBeans come from?  They came from
outfits with deep pockets (or at any rate much deeper than the Mercury team):
Apple, IBM, and Sun.

Just recently I've been reading the Java 1.5 Language Specification.
(Sun provide it as a PDF on a personal use one copy only kind of basis.)
I'm horrified.  It's bigger than the C++ standard!  And the C++ standard
covers the libraries, including iostreams and STL.  The JLS doesn't cover
any of the class library; that's in another manual.  And as someone who has
been reading computer manuals for pleasure for >30 years, I have to say
that it is very far from an easy read.  It begins to look to me as though
Mercury may not just be a *better* language than Java, but a *simpler* one
to understand.
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list