Mainstream enough for me

Every couple of weeks or so, I receive a message such as the one below; whenever I give a talk on any computer science topic anywhere in the world, strangers come to me to express similar sentiments. While I enjoy compliments as much as anyone else, I am not the right recipient for such comments. In fact there are 7,599,999,999  more qualified recipients. For me, Eiffel is “mainstream” enough.

What strikes me is why so many commenters, after the compliment, stop at the lament. Eiffel is not some magical dream, it is a concrete technology available for download at eiffel.org. Praising Eiffel will not change the world. Using EiffelStudio might.

When one answers the compliments with “Thanks! Then use it for your work“, the variety of excuses is amusing, or sad depending on the perspective, from “my boss would not allow it” (variant: “my subordinates would not accept it”) to “does it work with [library that does not work with anything else]?”.

Well, you might have some library wrapping to do (EiffelStudio easily interfaces with C, C++ and others). Also, you should not stop at the first hurdle: it might be due to a bug (surprise! The technology is not perfect!), but it might also just be that Eiffel and EiffelStudio are different and you have to shed some long-held assumptions and practices. What matters is that the technology does work; companies large and small use Eiffel all the time for long-running projects, some into the millions of lines and tens of thousands of classes, and refuse to switch to anything else.

What follows is a literal translation of the original message into English (it was written in another language). Since the author, whom I do not know, did not state the email was a public comment, I removed identifying details.

 

Subject:Eiffel is fantastic! But why is it not mainstream?

Dear Professor Meyer:

Greetings from [the capital of a country on another continent].

I graduated from [top European university] in 1996 and completed a master’s in physics from [institute on another continent] in 2006.

I have worked for twenty years in the industry, from application engineer to company head. In my industry career I have been able to be both CEO and CTO at the same time, thanks to the good education I received originally.

Information systems were always a pillar of my business strategy. Unfortunately, I was disappointed every single time I commissioned the development of a new system. This led me to study further and to investigate why the problem is not solved. That’s how I found your book Object-Oriented Software Construction and became enthusiastic about Design by Contract, Eiffel and EiffelStudio. To me your method is the only method for developing “correct” software. The Eiffel programming language is, in my view, the only true object-oriented language.

However it befuddles me — I cannot understand —  why the “big” players in this industry (Apple, Google, Microsoft etc.) do not use Design by Contract. .NET has a Visual Studio extension with the name “Code Contracts” but it is no longer supported in the latest Visual Studio 2017. Big players, why don’t you promote Design by Contract?

Personally, after 20 years in industry, I found out that my true calling is in research. It would be a great pleasure to be able to work in research. My dream job is Data Scientist and I had thought to apply to Google for a job. Studying the job description, I noted that “Python” is one of the desired languages. Python is dynamically typed and does not support good encapsulation. No trace of Design by Contract…

What’s wrong with the software industry?

With best regards,

VN:F [1.9.10_1130]
Rating: 10.0/10 (7 votes cast)
VN:F [1.9.10_1130]
Rating: +3 (from 3 votes)
Mainstream enough for me, 10.0 out of 10 based on 7 ratings
Be Sociable, Share!

2 Comments

  1. Berend de Boer says:

    You believe some tool is the most appropriate for the job, but your boss doesn’t let you. You’re living in a free country, switch jobs!

    VN:F [1.9.10_1130]
    Rating: 5.0/5 (1 vote cast)
    VN:F [1.9.10_1130]
    Rating: 0 (from 0 votes)
  2. Oleg says:

    Hi, Bertrand! I bring some critics to you.

    Disclaimer first: Your concept of contract programming turns my mind upside down a couple years ago. I had installed Eiffel studio and played with this about a month. And of course I absolutely agree with most part of your articles and books, but…

    1. It is not clear how I could use Eiffel for commercial projects (even for small one).

    It looks very strange for me to encourage people to use Eiffel Studio if your purchase process in the 2000s!
    You know, even money-greedy Microsoft provides Visual Studio Community for free for individual developers who starting a business and (most important) they provide clear using and pricing plan. I just know what I can expect from them. (check this link, see the bottom of page https://visualstudio.microsoft.com/vs/community).
    As a customer I just don’t like to feel twenty-fields-form just to know if it too expensive for me or not.

    2. I want to start with my tools, not yours.

    I don’t want Eiffel Studio (at least from the beginning).
    I want my VScode/vim/emacs (vs/rider for dotnet).
    I just want a compiler and language plugin for my favorite editor.
    Today you could make commercial software on C# without visual studio at all.
    You could get free compiler or interpreter for any language, but Eiffel to so clear.

    You should understand that I already have an existing project/team.
    If I bring something new to our stack, It is hard enough to sell language/methodology.
    I don’t want to sell tools which look older than visual studio 2005. And I just look stupid when EiffelStudio itself crashes with contract error on a simple project. I like correctness but I prefer not to crash just because most of IDEs and editors are tolerant enough.

    3. I want recipes
    I just want to know the best way to write a project with Eiffel in existing dotnet solution.
    I want to attach Eiffel compiler to my vs code.
    I want to integrate Eiffel with my TeamCity and so on.

    ____

    P.S. I am sorry if my tone seemed demanding, I little bit mad that such a great technology has no infrastructure around.

    P.P.S. I may just miss something and don’t see that everything I have asked for already exists.

    P.P.P.S. Sorry for my English :-)

    VN:F [1.9.10_1130]
    Rating: 5.0/5 (1 vote cast)
    VN:F [1.9.10_1130]
    Rating: +1 (from 1 vote)

Leave a Reply

You must be logged in to post a comment.