7 ms·
IMHO Eiffel's concept of simplicity is rather similar to what golang is aiming at today. It didn't serve Eiffel well.
by stewbrew 7y ago
IMHO Eiffel's concept of simplicity is rather similar to what golang is aiming at today. It didn't serve Eiffel well.
- ofrzeta 7y agoI don't see much similarity there. Eiffel is much more a classic OOP language and has classes and generics.
- pjmlp 7y agoThey are totally unrelated. Eiffel has generics, value and reference types, design by contract, non nullable references, pure OOP in Smalltalk linage, agents, it is designed for IDE based tooling, since the beginning had a mixed mode development workflow (VM inside the IDE and C or C++ compilers for release mode), uses dynamic loading for extensibility,... The only thing that killed Eiffel in the mainstream was the target audience of Eiffel Software, basically enterprise with deep pockets delivering projects in areas where Eiffel capabilities are relevant. The fact that Eiffel Software remains in business, kind of proves that there are enough companies willing to pay for such tooling.
- magoghm 7y agoActually, Bertrand Meyer (the creator of the Eiffel Programming Language) has always emphasized that the object oriented origin of Eiffel comes from Simula 67 and not from Smalltalk.
- h8hawk 7y agoYeah, according to his book OOP is mostly about inheritance (Java/c++ style OOP) rather than message passing or objects . Eiffel even support multiple inheritance.
- pjmlp 7y agoSmalltalk supports multiple inheritance via traits, added to post Smalltalk-80 systems.
- igouy 7y agoiirc Added to Pharo. Not added to the commercial Smalltalk implementations. Do you know different?
- pjmlp 7y agoJust by reading papers, so I might be wrong here regarding adoption among them. My last commercial Smalltalk was Smalltalk/V, just before Java got released, so not much I can state here.
- riffraff 7y agoI think it was added originally in Squeak[0], Pharo got it from there. [0] https://wiki.squeak.org/squeak/3059 https://wiki.squeak.org/squeak/3059
- igouy 7y agoIt isn't obvious to me that Squeak classes have been re-organised to actually use traits? Where-as for some reason I seem to imagine Pharo classes have been re-organized to use traits?
- pjmlp 7y agoExcept that Simula allows free functions and Eiffel does not, while Eiffel also supports metaclasses and Simula does not, additionally using MELT feels like having a Smalltalk image, so it is a bit strange his point of view. Any details why he thinks that way?
- stewbrew 7y agoThey're unrelated but their stance towards simplicity seems similar to me. Listening to golang core developers makes me remember (Smart)Eiffel developers.
- Rochus 7y agoYou mix that up with https://people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf https://people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf and https://en.wikipedia.org/wiki/Oberon-2 https://en.wikipedia.org/wiki/Oberon-2. Mössenböck and Wirth were the PhD supervisors of Griesemer.
- monoideism 7y ago> The only thing that killed Eiffel in the mainstream was the target audience of Eiffel Software Same type of thing killed Ada in the mainstream.
- pjmlp 7y agoIndeed, thankfully there are enough business out there where using CVE friendly languages is not an option. NVidia has adopted Ada/SPARK for security critical firmware, for example. Likewise, Genode is now replacing C++ with Ada on the security critical OS layers.
- mhd 7y agoEnterprises supporting their sunk costs supports a lot, that by itself isn't a good judgment of quality. I wouldn't be surprised if more enterprises use Clipper than Eiffel... Eiffel had similar issues that Pascal had: Appearing too much like an educational, purist language and having "good enough" more popular alternatives on the market (C/C++ vs. C++/Java). And authors that don't compromise to sell stuff. The crappy "SmallEiffel" situation didn't help either. It started out pretty great (good feature set, quick and cross-platform compiles via C), but then, erm, FOSS nature took its course. Which is why I'm a bit ware of similar language and their situations since then, e.g. Nim. Man, there was a time in the 90s where I was hoping that we'd get Eiffel (or Sather) as the next big open source desktop language. Instead we still have walled garden C++ and reinvent-the-wheel C.
- zozbot234 7y ago> ...the next big open source desktop language. Instead we still have walled garden C++ and reinvent-the-wheel C. The RESF might take issue with that statement. Though it was of course largely true as late as the 2010s, not just in the 1990s.
- mhd 7y agoI was just talking about Linux/BSD desktop apps and their implementation languages/libraries. Not a lot changed there, and the RESF seems to focus on more fashionable/achievable things (The only non-C++ option for Qt right now seems Python, and the most popular non-C language for gtk is probably Vala). Right now not enough hubris for either Go or Rust to do a build their own thing right from scratch.
- downerending 7y agoHad forgotten about Sather. Was too poor to afford Eiffel itself, but I remember really liking Sather and using it some. That said, that was about the time I started realizing just how pointless it is to learn niche languages, as anything other than an amusement. I can't recall the wording, but trumpet players have a saying that you can learn flugelhorn for fun, but trumpet is always going to be what pays your bills.
- blondin 7y agoi find it absurd that you all are down-voting this commenter and yet not a single reply here is saying why or when they think eiffel was not promoted as simple. OP never said the languages were related! when golang gets generics and other features in the future, do you guys think that people behind it are going to stop promoting it as a simple language? will they drop that line from the language frontpage?
- Rochus 7y agoGolang is rather a brain child of Oberon-2, not Eiffel. But you hit it insofar that Bertrand Meyer, the inventor of Eiffel, was professor of software engineering at ETH Zürich on the same chair as Niklaus Wirth, the inventor of Oberon.