top | item 15929168

Fourteen Years of Software Engineering at ETH Zurich

71 points| lainon | 8 years ago |arxiv.org

19 comments

order
[+] YorkshireSeason|8 years ago|reply
Meyer's most interesting sentence is the last [1], about the extent to which he achieved his research goals at ETHZ:

   [T]he story told in this article is 
   one of glaring, unremitted and probably 
   definitive failure. 
What wonderful and unusual honesty.

[1] https://arxiv.org/pdf/1712.05078.pdf#page=95

[+] codeisawesome|8 years ago|reply
I agree that it’s an honest statement, however I feel like the full context is necessary (the surrounding paragraph).

“”” Still, one should not lie. The outcomes that matter in research are not numerous publications, best-paper awards, completed PhD theses, keynote invitations, soft- ware tools, citations and other measurable signs of progress. I was after real success, in the sense of changing the way the IT industry develops software. That was the only justification for putting in parentheses my career as a technology entrepreneur. When you have an ambitious goal, you should be judged by that goal. Such absurd pieties as “it’s the journey that matters” or “what’s important is to participate” (by, of all people, Coubertin, founder of modern Olympics) are even more wrong in research than anywhere else. Only the result counts. By that standard, the story told in this article is one of glaring, unremitted and probably definitive failure. “””

[+] nickpsecurity|8 years ago|reply
That's too pessimistic view. This document was excellent in showing off all kinds of things that worked from education to developing useful tech to getting it into hands of some of industry. Those with strong focus on quality are always niche. Obviously, driving Worse is Better on grand scales in enterprise or FOSS takes a different set of techniques that operate close to the techs and practices that have already mainstreamed with a lot of momentum.

Reports of success in those areas combined with what's in this document might allow people to develop hybrid approaches that get stuff done along both axises. As partial confirmation, we've already seen some of the same types of tooling that Eiffel has develop in .NET and Java spaces. Companies pay a lot of money for them, too. Still potential to repeat some of ETH's success with integrated tooling for other mainstream languages mixing tech that benefits various aspects of the software lifecycle. The releases could be a mix of proprietary tools that generate funding plus FOSS components that keep a strong ecosystem of contributors.

[+] amelius|8 years ago|reply
Yes, but why save this statement until the end? The abstract and introduction say nothing of the sort.
[+] gfredtech|8 years ago|reply
Meyer is the creator of the Eiffel programming language. Most of Eiffel's OOP features were borrowed by other successful OO languages, but I still don't understand why Eiffel never took off.
[+] YorkshireSeason|8 years ago|reply
Most PLs don't take off.

Language choice is mostly dependent of social factors that can be summarised as "network effect". In PLs that manifests itself primarily through a lack of mature and numerous libraries.

Eiffel had additional technical flaws:

- Subtyping was wrong.

- Handling of concurrency was wrong, in the sense that almost all concurrency was hidden, instead of exposed. Eiffel was an anti-Erlang in this regard.

- A lot of modern PL features were missing, e.g. pattern matching, first-class higher-order functions.

- The single most distinctive of Eiffel's features, built-in support for assertions, was not supported by good-enough tools.

I would argue that the last point is still the case today for all formal verification, see e.g. Microsoft's Dafny [1]. Automating formal verification so that normal programmers can use it routinely in mainstream programming is an unsolved problem in December 2017.

[1] https://github.com/Microsoft/dafny

[+] pjmlp|8 years ago|reply
It was initially only available in commercial versions, with enterprise level prices, similarly like Ada.

Think Rational Rose, Together, Enterprise Architect, Visual Studio Ultimate kind of prices.

Eiffel is a great language, proper OOP, value types, generics, contracts, MI, non nullable types, nice IDE, JIT and AOT compilation via native or C/C++ compilers.

But the price made it out of reach for most developers and the open source variants were a poor replication of the whole experience.

Nowdays there is a free license for open source projects, but it is too late for widespread adoption.

[+] cadr|8 years ago|reply
I have a memory that there weren't any free implementations for quite a while, which might have slowed adoption.
[+] neebz|8 years ago|reply
Great to see Manuel Oriol get a mention. He was my thesis advisor at University of York and one of the best professors I've worked with.
[+] flor1s|8 years ago|reply
I mastered in Software Engineering at the University of Twente in The Netherlands, however in the past few years that program has discontinued and I think has been replaced by a program called "Software Technology". I'm so surprised that these kinds of programs are disappearing while the work of Software Engineers has been becoming more and more complicated due to the myriad of external products and services we are supposed to be using (the cloud, containers, container orchestration, version control/continuous integration/deployment/delivery, DevOps, GitHub, unit testing, software for remote pair programming, etc.).

I was lucky enough to be able to attend the LASER Summer School on Software Engineering for Robotics this year, which was a nice experience and I'm really grateful for Bertrand Meyer for organizing it. The LASER Summer School in 2018 will be about cryptocurrencies, so if anyone is interested in that you should certainly check out http://www.laser-foundation.org

[+] royalghost|8 years ago|reply
looks quite interesting. do they provide any fellowships or financial stipend to attend this course ?