jwright@atanasoff.cs.iastate.edu (Jim Wright) (11/15/89)
Typical outsider's questions... What hardware/OS platforms does Eiffel run on? Roughly what is the cost? How steep is the learning curve? Assume a good programmer but naive in the intricacies of OOP. Is Eiffel a single vendor product? Is it a pre-processor or a compiler? How good? -- Jim Wright jwright@atanasoff.cs.iastate.edu
sarkela@eiffel.UUCP (John Sarkela) (11/16/89)
>Typical outsider's questions... >What hardware/OS platforms does Eiffel run on? Eiffel runs on a wide range of unix platforms. Among these are the 386 unix operating systems, Apollo workstations, all of the Sun platforms, Vaxen running Ultrix, DecStations running Ultrix, DG AViiON, MIPS platforms, Sequent Symmetry, SGI Iris, mainframes running UTS, etc. This list is not exhaustive, and ports to new platforms running something which resembles SystemV or BSD 4.x tend to be trivial. >Roughly what is the cost? The cost of the Eiffel environment is indexed by the power of the platform for which it is purchased, and ranges depending on the number of libraries of objects purchased with the environment. Educational institutions qualify for educational discounts if Eiffel is to be used for research and education. For further information write or call ISE. >How steep is the learning curve? Assume a good programmer but naive in >the intricacies of OOP. Eiffel has a very small learning curve. The base constructs of the language are fundamentally Algol-like. The number of keywords is roughly commensurate with that of Pascal. The language has an LL(1) grammar. There is precisely one syntactic construct for each semantic form. Thus, declaration of a reference could never be misconstrued to be an application of the address-of operator. Further, because Eiffel is a pure object oriented language, the programmer can only express computation in terms of objects. Where functional programming is appropriate, Eiffel endeavours to make it as easy as possible to link to functional languages such as C. Conclusion, the learning curve to be surmounted in Eiffel is that of the object oriented paradigm. >Is Eiffel a single vendor product? Currently, only Interactive Software Engineering sells Eiffel. A complete reference manual for the language and environment will be sold by Prentice-Hall in 1990, a pre-print version is available from ISE for $45 US. This manual provides descriptions of the syntax and semantics of the language, as well as discussions of the environment as currently implemented by ISE. Outside parties are encouraged to develop Eiffel interpreters and compilers. The only restriction is that language developers must acknowledge that Eiffel is a trademark of Interactive Software Engineering. >Is it a pre-processor or a compiler? How good? Eiffel is most certainly a compiler, or if you prefer, a translator. The Eiffel compiler produces a portable subset of C as its output for reasons of portability. The Eiffel compiler does not recognize nor does it accept any grammatical constructs of the C language. The compiler performs dependency analysis on compilation units and does minimal incremental recompilation. Makefiles are not required. The optimizer will remove unreferenced code from classes, statically bind all routines which are not subject to polymorphism, and will inline routines subject to internal compiler metrics. The runtime provides support for concurrent garbage collection, assertion monitoring and exception handling. Snail Mail: Interactive Software Engineering 270 Storke Road, Suite 7 Goleta, CA 93117 USA Email: queries@eiffel.com Phone: (805) 685-1006 Standard Disclaimers: Unix is a trademark of AT&T, and is an adjective describing operating systems. Eiffel is a trademark of ISE, and a really nifty tower in Paris. Any opinions expressed herein are my own and nobody else's. -- sarkela@eiffel.com -- uunet!eiffel!sarkela
jwright@atanasoff.cs.iastate.edu (Jim Wright) (11/16/89)
Thanks for the reply. It's starting to make sense now. sarkela@eiffel.UUCP (John Sarkela) writes: | Eiffel runs on a wide range of unix platforms. | This list is not exhaustive, and ports to new | platforms running something which resembles SystemV or BSD 4.x tend | to be trivial. [...] | Eiffel is most certainly a compiler, or if you prefer, a translator. | The Eiffel compiler produces a portable subset of C as its output for | reasons of portability. So it seems that Eiffel is tied to Unix, but I don't see how. Is the only thing really required to run Eiffel a good C compiler to crunch on the output from Eiffel? Or does it require some service offered by Unix? Also, how all-encompassing is Eiffel? Is it a compiler in the sense of C or FORTRAN, or is it an environment in the sense of Smalltalk? -- Jim Wright jwright@atanasoff.cs.iastate.edu
db@lfcs.ed.ac.uk (Dave Berry) (11/17/89)
In article <210@eiffel.UUCP> sarkela@eiffel.UUCP (John Sarkela) writes: >Where functional programming is >appropriate, Eiffel endeavours to make it as easy as possible to >link to functional languages such as C. In all the clasifications of programming languages that I've seen, C is not a functional language. It is an imperative language or a procedural language. Is there a classification I've missed, or is John confusing functional design and functional programming? Dave Berry, Laboratory for Foundations db%lfcs.ed.ac.uk@nsfnet-relay.ac.uk of Computer Science, Edinburgh Uni. <Atlantic Ocean>!mcvax!ukc!lfcs!db
sarkela@eiffel.UUCP (John Sarkela) (11/21/89)
In article <1962@atanasoff.cs.iastate.edu>, Jim Wright writes: >So it seems that Eiffel is tied to Unix, but I don't see how. Is the >only thing really required to run Eiffel a good C compiler to crunch >on the output from Eiffel? Or does it require some service offered by >Unix? Eiffel does not require Unix in order to compile a generated application. It does require support for signals, setjmp and longjmp in the current implementation. Our principle porting constraint is the availability of lex and yacc. The first passes of our current Eiffel compiler are implemented in C. As such, Unix tends to be the friendly port environment. When the fully meta-circular ( Eiffel in Eiffel ) compiler is available, we shall no doubt pursue non-unix platforms with greater vigor. >Also, how all-encompassing is Eiffel? Is it a compiler in the sense of >C or FORTRAN, or is it an environment in the sense of Smalltalk? Eiffel is currently a compiler with some support tools. As the tools mature, the environment should become more complete. Currently, we provide tools for browsing, compiling, debugging, cross development, and documentation. BTW, In article <1117@castle.ed.ac.uk> Dave Berry writes: >Is there a classification I've missed, or is John confusing >functional design and functional programming? Of course, John is confused in the extreme! Most certainly I was thinking of the top-down functional design methodologies which were made popular by the procedural languages Pascal and C. It is inconceivable that one should confuse functional languages such as Lisp, Scheme, fp or ML with the imperative mode of expression used in C. I can only attribute the slipup to too much surfing and not enough espresso. -- John Sarkela sarkela@eiffel.com
dmn@stiatl.UUCP (Michael Nowacki) (11/22/89)
In article <212@eiffel.UUCP> sarkela@eiffel.UUCP (John Sarkela) writes: when the fully >meta-circular ( Eiffel in Eiffel ) compiler is available, >we shall no doubt pursue non-unix platforms with greater vigor. > -- John Sarkela sarkela@eiffel.com Last spring, I bought "Object Oriented Software Construction" from ISE and recieved a folder of information about ISE Eiffel, from which I got the impression that VMS Eiffel is available, or soon will be. What is the current status of this project? -- Michael Nowacki gatech!stiatl!dmn Sales Technologies, Inc |\ /| 3399 Peachtree Rd, NE | \/ | Atlanta, GA (404) 841-4000 _|ike |_