5 ms·
As a teenager I read "Object Oriented Software Construction" by Bertrand Meyer, and was convinced that Eiffel was THE programming language of choice. However,
by perlgeek 7y ago
As a teenager I read "Object Oriented Software Construction" by Bertrand Meyer, and was convinced that Eiffel was THE programming language of choice.
However, that love didn't last long. Too many simple things just took way too much effort to do, and most damning of all, there was no working ecosystem of libraries.
There were some libraries, but getting them to actually work with your version of Eiffel was a huge hassle (and not always successful), and there were, like 20 to 50 libraries in total.
I'm still missing some of the language features in other languages though...
- pbowyer 7y ago> As a teenager I read "Object Oriented Software Construction" by Bertrand Meyer, and was convinced that Eiffel was THE programming language of choice. > However, that love didn't last long. Too many simple things just took way too much effort to do, and most damning of all, there was no working ecosystem of libraries. Same! I still have the book on my shelf.
- amelius 7y agoMe too. If anybody would like to have a taste of the ideas of Meyer, then have a look at this paper: http://se.ethz.ch/~meyer/publications/acm/typing.pdf http://se.ethz.ch/~meyer/publications/acm/typing.pdf
- yawaramin 7y agoWhat was an example of a simple thing that took too much effort in Eiffel?
- perlgeek 7y agoFile IO, regex matching, printing a text table, making HTTP requests and so on.
- hinkley 7y agoI don’t think Meyer understood that the era of free compilers had begun. He continued to charge money for the compiler while Java was establishing itself. We were starting to see rules of language adoption (like “build Hello World in 10 minutes, something trivial in the first hour”). But by the time he learned these too, the Java train had already left the station. But one of the other things we were starting to learn is that most successful languages have a champion, in the form of a larger corporate backer (Java, Go, C), or an IDE company (Kotlin, Turbo Pascal). Once in a while a flagship application will serve (Rust, Elixir, perhaps Ruby). I don’t recall Eiffel having any of those. And I wanted to try Eiffel but could not afford the cover charge, by the time I could I had specializations that were still uncommon enough that switching languages seemed like a bad move. I still have it on my todo list to hunt up some of Meyer’s writing and spelunk for lost wisdom, but not for the language itself.
- perlgeek 7y ago> I don’t think Meyer understood that the era of free compilers had begun. That's right, and something I had totally forgotten. I started with a shareware version (?) of Eiffel Studio, and later it was made free as long as you used it either for non-commercial purposes, or released your software as GPL. Looking back at it, that just sounds quaint. I think the IDE was actually written in Eiffel, and was pretty good for that time, but not good enough to stand out, like Turbo Pascal did back in the days.
- deleted 7y ago[deleted]
- ncmncm 7y agoAh, yessss, Cepage, or "seepage". At the very first talk I went to, to find out about Eiffel, in 1986, Meyer spent 3/4 of his alotted time talking about Cepage. Soured me. It was an interesting language, in some ways, and could have been extended enough to be useful but, like Modula-3 and Oberon, even at the time obviously would not supplant C++. Rust could still suffer the same fate if it can't fix its compiler-speed problems. It's the only candidate on the horizon, with its Drop trait, for those places where nothing else will do.
- pg_is_a_butt 7y agoMy first 2 years of university were using Eiffel in a NeXT lab. The professors had built up their own standard libraries. Some of the preconditions and postconditions got a little annoying, but probably staved off a lot of bugs. Junior year they switched everything to Java. The CS lab switched to macs, but the main computer labs were mostly all windows, but CS students could finally work on their CS programs there if they didn't have their own computer (but everyone did anyways)
- kenada 7y agoI went through the same thing, and I think that may be why I prefer Ruby over Python. I still have a soft spot for Eiffel and checked it out recently, but the tooling situation and library ecosystem is still not great, and I can’t see myself actually using it for anything practical.
- xiaodai 7y agoWhat langugage features are you missing? When I learnt about Eiffel, Contract Oriented Programming was the thing, but these contracts are easily done in Elixir, so they aren't that special. Oh yeah, the tooling was horrible.
- patrec 7y agoApparently you can generally assume x = x, which seems like a very nice feature and one that's perversely absent in all other programming languages I can think of. https://bertrandmeyer.com/2010/02/06/reflexivity-and-other-pillars-of-civilization/ https://bertrandmeyer.com/2010/02/06/reflexivity-and-other-p...
- perlgeek 7y agoI'm not programming in Elixir, so I still miss them in other languages. Another thing I miss is well thought-out inheritance, with method renaming, conflict resolution and all that.