[mercury-users] Bertrand Meyer's opinion
schachte at cs.mu.OZ.AU
schachte at cs.mu.OZ.AU
Wed Aug 23 12:32:27 AEST 2000
Hi Michel,
On 22 Aug, Michel Vanden Bossche wrote:
> In "Where is Software Headed? A Virtual Roundtable" (Computer, Vol. 28,
> No. 8, August 1995), Betrand Meyer says:
>
>> I do not see much future in the next few years for some approaches that
>> were recently heralded as promising: functional programming, logic
>> programming, and expert systems (in their application to software).
>> Some of them will find, or have already found, a niche, and all will
>> remain useful as part of every software developer's bag of tricks, but
>> it is hard to see how any of them could fundamentally affect our field
>> over the next 10 years.
...
> And now, my key question. Besides what's being done or identified, what
> can help invalidate Bertrand's prediction?
Firstly, I think Meyer is probably right. It probably took C++ at
least 5 years to "fundamentally affect our field" after its first public
release, and that with a big company behind it and being a fairly
incremental improvement on one of the already most popular programming
languages. I'd be surprised if Mercury caught on any faster than 5
years from now.
But here are a few things that I think will be needed before Mercury
can really catch on, in roughly chronological order:
o I suspect any new paradigm now must sell itself as an improvement
on object oriented programming, not just the successor to it. So
rewriting the library using type classes will probably be
important. It may also be useful to look for an appropriate
language enhancement that makes abstract datatypes more formally
part of the language. Perhaps some way to make a type *be* a
module. I know subtypes are fraught with peril, but they may be
necessary for OO programmers to be comfortable with Mercury.
o A good university-level text will need to be available,
preferably several. It will have to be easy for first or second
year university students to pick up the language in one semester.
This may mean the langauge will have to be modified, so that
students can learn it a bit at a time. Before managers would
consider using a language like Mercury for a project, they'd have
to be pretty confident that they'll be able to find good Mercury
programmers and have their current staff trained to use it.
o There will have to be a good native Windows development environment.
At some point, there will have to be a language standard, and
several competing compilers available, some commercial. Ideally,
one from Microsoft. Managers are definitely suspicious of any
university product, and many are probably still suspicious of
free software in general.
o As you mentioned, there will have to be good programming tools.
The debuggers are a good start, but there will need to be good
code and documentation browsing tools, GUI builders, and full
IDEs. Perhaps there are even some useful tools that would be
possible or useful for a language like Mercury that don't exist
for any other language, like editor plugins to help write and
maintain all the declarations Mercury requires.
o There is going to have to be a lot of noise about declarative
programming, and Mercury in particular, in the press. Not
academic journals, but the popular press. Rags like BYTE and
Dr. Dobbs. And a few puffy pieces or at least mentions in mags
like Fortune and business week. All the places that have been
hyping object oriented programming for the last decade. Before
something as radical as Mercury can catch on, it will have to be
seen as inevitable by managers and as pleasant and friendly by
programmers.
o Further performance improvements will probably be necessary, at
least eventually. The fewer excuses people can come up with for
not moving to this new language, the more likely it is to catch on.
--
Peter Schachte The use of COBOL cripples the mind; its
mailto:schachte at cs.mu.OZ.AU teaching should, therefore, be regarded
http://www.cs.mu.oz.au/~schachte/ as a criminal offense.
PGP: finger schachte at 128.250.37.3 -- E. W. Dijkstra
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list