[comp.lang.eiffel] Eiffel on the NeXT

pclark@SRC.Honeywell.COM (Peter Clark) (09/13/90)

Will ISE ever release a version of Eiffel for the NeXT? (Shouldn't be that
hard, not that different from sun3)

	Pete Clark
	Honeywell S&RC
	Mpls, Mn

giacomet@venus.ecn.purdue.edu (Frederic B Giacometti) (09/13/90)

In article <91098@srcsip.UUCP> pclark@SRC.Honeywell.COM (Peter Clark) writes:
>Will ISE ever release a version of Eiffel for the NeXT? (Shouldn't be that
>hard, not that different from sun3)

Yap, all the more than the version for the IBM R6000 has been
announced for the end of the month.
Don't these two workstations have a same user interface in
common, NeXTStep, much more evolved than Xwindows (berk) and with which
Eiffel could be very profitably integrated ? Imagine, all these little
browsers ... Allez, un petit effort, quoi.

Frederic Giacometti
School of Industrial Engineering
Purdue University

bertrand@eiffel.UUCP (Bertrand Meyer) (10/21/90)

From <91098@srcsip.UUCP> by pclark@SRC.Honeywell.COM (Peter Clark)
of September 12 (sorry for the delay in responding):

> Will ISE ever release a version of Eiffel for the NeXT?
> (Shouldn't be that hard, not that different from sun3)

From <1990Sep12.232802.25912@ecn.purdue.edu> by
giacomet@venus.ecn.purdue.edu (Frederic B Giacometti):

> ... Allez, un petit effort, quoi.

The answer to similar postings a few months ago was ``we do not
have any plans to support the NeXT at the moment''. It appears
that we will after all be able to do a NeXT port before the end
of this year. We'll post a precise announcement as soon
as more details are available.

It is quite legitimate to ask (as Messrs. Clark and Giacometti)
why this will have taken so long.
Let me use this opportunity, then, to say a few words about
Interactive's policy with respect to the hardware platforms that
we support.

For software vendors, Unix is a total nightmare - not so much
technically (there must be *some* reason for having chosen it)
as commercially. The lack of a binary standard, the variety of
available platforms and the proliferation of
variants for C, function libraries, file system conventions,
X Windows facilities etc. mean that to respond to user demand
we must support many different platforms. Hardware vendors
mostly do not care about the problem; to make matters worse, they
continuously introduce new OS versions, often binary-incompatible
with previous ones. Some even have both ``BSD'' and ``System V''
variants, supposedly as a benefit. 

We have tried very hard to support every significant Unix version.
Although I don't remember the exact number of platforms, it is
somewhere in the neighborhood of 25. Although not absolutely
unique, this is quite original as compared to the rest of the
industry; go to a Uniforum or Usenix exhibition, and you will see
that most software companies just support one to four platforms.

This commitment to wide Unix availability has taken its toll.
Internally, our installation looks like a computer museum, with
many different types of Unix boxes, preventing us from standardizing
on a single ``ideal'' development environment. Wide platform
coverage has also made the quality assurance process rather tricky.
We pride ourselves on having a single source code and, most
importantly to Eiffel users, on guaranteeing that the Eiffel
compiler will always produce the exact same C code (this is
particularly significant for C-package generation, as it ensures
one of the major advantages of the Eiffel environment, support
for portable cross-development). Given all the practical problems of
C, Unix and X Windows portability (or lack thereof), this means
almost endless testing and re-testing; we are never sure that
something that works on machine A will work identically on machine
B. Change control, tricky enough on a single-platform environment,
is a nightmare.

Since the code has been written and maintained with a constant
concern for portability, it is true that the porting effort to
a reasonable Unix platform is by itself, in Mr. Giacometti's words,
usually reasonably ``petit''. And in fact, I don't expect the port
to a NeXT to take more than a few days. It would not have been
difficult, then, to do the port many months ago, using some third
party's NeXT workstations. This was in fact offered to us several
times. Why then did we not do it?

The reason is simple. We are not a research laboratory producing
prototypes, whose users may be left in the blue when a problem
occurs. We advertize the Eiffel environment as a production
vehicle, and we will not sell a version unless we can commit to
supporting it professionally.

Concretely, this implies a policy of not offering
a version unless we have the corresponding platform in-house.
(There were a few exceptions to this rule in the past;
most have been corrected, and the few remaining ones will soon be.)
We believe that to act otherwise is irresponsible. When a customer
calls in with a bug report, what shall we do if we do not have
the hardware to reproduce the problem?

Since no one can afford to maintain a copy of every Unix box
that comes out, this has meant that we have focused on two
(non-disjoint) categories of machines:

	- Clear market leaders.

	- Machines whose manufacturers understand the benefits of
	Eiffel and have shown their support. We have indeed established
	excellent strategic relationships with the more
	enlightened hardware vendors. It is quite natural that their
	machines should have the benefits of priority when a new version
	of Eiffel comes out. Eiffel users have played a key role there:
	no leverage matches that of a hardware vendor's customer
	who wants Eiffel on his machine.

In the case of NeXT, it is fair to say that neither category applies
yet. In spite of this, it seems, as mentioned at the beginning of this
article, that we have found a way to provide a port
in a manner that is compatible with our quality standards.

I hope this has shed some light on Interactive's decision process. 
We have nothing against the NeXT or any other Unix machine per se.
``Doing a port'' is indeed easy; but this is only the tip
of the iceberg. I am sure that Eiffel users, who are already
(justifiably) rather demanding and critical, would not have it
otherwise.


-- 
-- Bertrand Meyer
bertrand@eiffel.com