News for hackers. Stuff that matters.
Re:Runtime verification in Erlang by using contracts by mhd on Wednesday February 06, 2019 @05:16PM (#19100662)
Some day, after every language has taken its bits, we might actually see Eiffel in the real world.

Meanwhile, any of this available for Elixir, too? One of the languages on my 2019 list…

Re:Runtime verification in Erlang by using contracts by mrdoops on Wednesday February 06, 2019 @06:11PM (#19101125)
It's really easy to use Erlang libraries in Elixir. It's nice to be able to tap into an ecosystem with Erlang's maturity while still using modern tooling like Elixir.
Re:Runtime verification in Erlang by using contracts by pjmlp on Thursday February 07, 2019 @01:15AM (#19103406)
Eiffel is used on the real world.

Just by companies that actually buy their software tools.

How do you think they are still in business, selling multiple variants of their tools?

Re:Runtime verification in Erlang by using contracts by mhd on Thursday February 07, 2019 @02:43AM (#19103701)
I was going for a more publicly visible presence with "we might see". Don't know anything about the numbers, but I'd put Eiffel Studio with e.g. GemStone SmallTalk or Allegro Common Lisp or even current Delphi. Or, heck, Tcl/Tk and Ada, doesn't have to be about proprietary vs open source (cf. IntelliJ vs Eclipse).

But from what I've seen, I wouldn't mind it to become a bit more popular, more libraries, more publicly available applications. More rising tide lifting boats than secret weapon.

(NB: not that you'd need to be a secret weapon to keep a business afloat, there are a lot of companies that run on legacy support. There's nothing inherently better in paid software. Also: Eiffel the language vs Eiffel Studio.)

Re:Runtime verification in Erlang by using contracts by pjmlp on Thursday February 07, 2019 @03:10AM (#19103797)
Eiffel the language has been available in some variants for free, for a couple of decades.

https://www.liberty-eiffel.org/

http://smarteiffel.loria.fr/

Just like with Smalltalk and Common Lisp, a language without the respective developer experience, isn't that attractive.

Re:Runtime verification in Erlang by using contracts by mhd on Thursday February 07, 2019 @04:07AM (#19103989)
For a while SmartEiffel did enjoy some popularity, bindings to libraries where created etc. But it fell back, Eiffel moved on, and so did fickle OSS developers. And while Bertrand Meyer succeeded Niklaus Wirth as a professor at ETH Zurich, Eiffel didn't succeed Pascal in popularity as an academic programming language.

And did you actually like the EiffelStudio dev experience? I thought that was the weakest part of the whole offering (as opposed to CL and SmallTalk, by the way). And I like BON about as much as UML.

Re:Runtime verification in Erlang by using contracts by pjmlp on Thursday February 07, 2019 @07:56AM (#19104889)
Yes, in the sense that it is much better than using plain vi or emacs. Smalltalk and CL are hard to beat, I do agree there.

I do enjoy using UML, not the extreme case of compiling UML to native code as promised in the 90's, but surely for application architecture and data flows.

I was quite pleased that my previous customer allowed externals access to their Enterprise Architect pool licenses.

Re:Runtime verification in Erlang by using contracts by dnautics on Thursday February 07, 2019 @02:37AM (#19103681)
it seems like this would be easier to implement in Elixir in a very idiomatic fashion. There's a lot of compile-time effects that Elixir uses, one thing that I'm playing around with (in an OpenAPI library I'm working on) is having the OpenAPI `response` contract be enforced on exit in :test and :dev compilation modes but removed in :prod mode.
Re:Runtime verification in Erlang by using contracts by LawnboyMax on Wednesday February 06, 2019 @06:56PM (#19101501)
I wish Eiffel Software changed their dual licensing business model so that more people would consider using the language in production.
Re:Runtime verification in Erlang by using contracts by hinkley on Wednesday February 06, 2019 @07:50PM (#19101900)
Bertrand Meyer is constantly at the top of my “people to read when I’ve read all of my unread books” list and unfortunately the last time I looked those books were out of print.

My feel at the time was that Meyer introduced Eiffel right on the cusp of the move to free compilers, and he never recovered from that tectonic shift.

Whether most developers of that generation could be convinced that rigor was useful I cannot say (but fear the answer is “no”), but they certainly weren’t going to pay to learn or use a new language.

Re:Runtime verification in Erlang by using contracts by pjmlp on Thursday February 07, 2019 @01:27AM (#19103439)
We certainly paid for our compilers and interpreters, even to learn a new programming language.

Alternative was making our own ones, from code listings.

That rigour is useful, having learned Eiffel, coming from Wirth languages background, reading Code Complete, completely influenced my way of writing C and I regularly used all the nice VSC++ ASSERT macros variants for pointer and argument validation.

Also adopted code contracts in Java and .NET years later.

Coming back to Eiffel, languages need a killer use case for business to adopt them, so they end up only having customers on domains where companies are required to take quality seriously, like high integrity computing.

Re:Runtime verification in Erlang by using contracts by pjmlp on Thursday February 07, 2019 @01:16AM (#19103412)
And I wish it was still viable to make a business selling software tools to the average developer, instead of being forced to target only the enterprise, as the customers willing to pay for their tooling.