For pedantry, should we note that design by contract came all the way from Eiffel ?
(But it's possible that even less people ever wrote Eiffel than D, so, who knows)
For pedantry, should we note that design by contract came all the way from Eiffel ?
(But it's possible that even less people ever wrote Eiffel than D, so, who knows)
I (briefly) used Eiffel in the 1990s. It had some of, if not the, worst tooling I've ever experienced for a programming language, and I've used COBOL compilers and MVS. A pretty nice language, but the software tool support initially was appalling.
Did you mean EiffelStudio ? What was the painpoint at the time ?
I've only played with it 20+ years ago (a colleague was one of the few practitioner) and I don't remember EiffelStudio being _that_ terrible (it has a class browser that was not that much more horrible than Eclipse at the time) - but again, I only dabbled.
Now, I have to agree that the way they market the IDE as the best thing since bread came baked is kinda cringy..
It was whatever they were shipping in the early 1990s, CLI tools. It cross-compiled to mangled C++ which made it un-debuggable outside of inserting print statements, compile turnaround for even a small program was 20 minutes on a reasonably speedy DECstation (now pair this with the debugging comment), it used some node-locked licensing scheme where, when the compiler crashed, which it did a lot, it left the lock active so someone with root access had to come in and remove it, and lots, lots more that I can't remember. It's a pity camera phones didn't exist back then or I'd have a photo of a whiteboard with a drawing of the Eiffel tower, broken in half in the middle, and a figure in a noose labelled "Meyer himself" hanging from it.
Nice language, but seriously cursed by unusable tooling.
That was due largely to the designers of the language, Bertrand Meyer and his wife, creating the tools. The tools, the seminars, and the books were primary income streams.
Interesting, I wasn't aware of that, although it certainly felt like academic-grade code, which someone once described to me as "thrown together by a caffeine-crazed grad student at 3am and run on at least one test case". It's a real pity because there were some really good ideas in there, but the required tooling would have been just too much for just two people to assemble out of whole cloth.
Do you mean they created the tools to be unusable, so that they would get training contracts :D ?
Racket also added contracts around the same time that D did.