Bertrand Meyer

We Speak Your Language S04 E025

 

Darius Blasband

Welcome. I’m Darius and I will be your host today here at We Speak Your Language, the podcast for programming language nerds.

I pride myself for giving a platform to people that are not always put in the forefront, people from the trenches, people who just happen to work in programming languages and compilers. You probably never heard of most of them before. They’re not household names, but they all have absolutely amazing stories and anecdotes to tell. But our guest today barely needs an introduction.

Bertrand Meyer is the creator of the Eiffel Programming Language and is the closest thing we have to a bestselling author in our world, having written some super influential books, such as “Object-Oriented Software Construction”, “Eiffel the Language”, or “Touch of class, learning to program well with objects and contracts”. Even so, books are just that, and I hope that this interview will give us an opportunity to better understand our guest’s thought process and history.

On a more personal front, I must recognize that Eiffel was a major influence when I started working on YAFL. YAFL is very different from Eiffel in many areas, but it really helped to know that a garbage-collected object-oriented language could be credibly implemented using C as an intermediate language.

Bertrand Meyer, many things we should talk about. Welcome to the show. How are you today?

Bertrand Meyer

Thank you very much, Darius.

Darius Blasband

There’s a question we ask everybody: How did you get into designing languages? How did that happen?

Bertrand Meyer

Henry Petroski, who died last year, wrote several excellent books on the mechanics of invention, such as “The Evolution of Useful Things”. He starts out by taking a look at patents  filed in the US, for example the paperclip which you would think is a very simple thing, but actually it has a long history with many iterations, and false starts. He points out that the beginning of just about every patent starts by the author lambasting everyone who came before him: saying “all these things that exist today are stupid and I can do much better”, including for things as the paperclip.

I think there’s something similar for programming languages. You start out as a programming language user and you fall in love with certain languages and language ideas, you hate some others then at some point you react like the average patent filer,: I can do better.

Of course  For my case, I can easily give you the shoulders on which I sat. My case is a bit more specific because I had a nee as a user and existing programming languages just could not fill it. So it happened almost by accident.

Darius Blasband

And what’s the part in existing programming languages that was so missing? I mean, essentially, at that time, from a distance, you could say, well, Smalltalk was there. I appreciate that there may be an exploitation issue about Smalltalk or performance issues. There’s C++, which I’m so not crazy about, but that’s a topic for a different conversation. But it has no garbage collector. What was the missing feature that made all the difference to you?

Bertrand Meyer

I was raised in the ideas of systematic software construction, Dijkstra, Hoare, Wirth, also Ichbiah (the designer of Ada), and I was absolutely convinced that a programming language should not just be a tool for expression but also a tool to help the programmer write good programs. Not prevent the programmer from writing bad programs because that’s impossible You can write a bad program in any language. But if the person understands what’s going on, then we can help him write good programs, meaning in particular, correct and robust and secure and extendible and reusable.

I came from that side of the, from the community of software engineering, but I was of course interested in everything else as well. I was fortunate enough to learn LISP directly from its creator, John McCarthy, at Stanford and was very excited about it.

I was very excited also about Algol W by Niklaus Wirth, with =contributions by Tony Hoare. I never liked Pascal very much. I could understand why Pascal was popular, but it was really not my cup of Ricola. There were interesting things about Pascal. The syntax was good, definitely better than Algol’s. I liked Ada, but it was too much of a straightjacket. There’s no need to put a chastity belt on programmers.

All these were important influences. And then I discovered Simula 67, which was really fantastic, the first object-oriented language. There’s this famous quote by Tony Hoare about Algol 60 being such an improvement over its successors and there’s a certain amount of truth in that for Simula.  It   had almost all the key ideas of object-oriented programming, very elegantly. But Simula didn’t have any of this program correctness, software engineering stuff that I have always found crucial. Then I saw Smalltalk, which was interesting but came from a completely different culture, a culture of experimentation, of “let’s try things to see if it works, it’s so much fun”. Great for experimental exploratory programming, but not if you’re writing stuff that absolutely has to work.

I had a specific need for a piece of code, for a piece of software that the company that I had started had committed to develop. And Simula was coming to the end of its life. Then what else? I had programmed quite a bit at Pascal, but I didn’t want to use it any further. It was not modern enough and it didn’t have any object-oriented mechanisms. I’m not even mentioning C++, of course. Ada was a no, and Smalltalk had nothing to do with the kind of things we were looking for. There was just nothing available. We needed something else.

I didn’t think very much about it  initially. I C was available as a portable assembly language, which is what it is. I remember asking an intern in our company to write a pre-processor generating C for a notation that I designed in a couple of hours, which was the obvious thing to do.

And I remember asking, give us two weeks to be enough. A few decades later, we’re still at it. But it was only a response to a need.

Darius Blasband

I like Pascal, I have to say. I really like it, if only because it shows the need for compromise and making a language easy to compile is one part of the compromise. Ada, part of the failure of Ada, in my view, is to design the language in a totally abstract way without considering  how hard it is to compile. And it is horrendously hard to compile. The same goes for C++, the same goes for PL/I before that. Those languages that were designed without wondering whether they were  reasonably compilable, usually end up in failure, at least in my view. And I think that Pascal, in that sense, was a refreshing thought, to have something where he said that being easy to compile is an important virtue as well.

Don’t get me wrong, I appreciate and I agree with most of what you say regarding its limitations, but I like the idea of looking at this as a holistic thing and say, well, the language implementer has to be taken into account as well.

Bertrand Meyer

  Ada had a number of things right, but also it had a few things wrong, and it also missed a few things. In particular, Ada did not support object-oriented concepts. It added a notion of class 20 or 30 years later, as an  afterthought, but originally, it didn’t have any notion of class. As an aside, there’s something ironic in this story. Jean Ichbiah, the designer of Ada, knew Simula well. He had written one of the first  Simula compilers, at CII Honeywell Bull. He understood object-oriented programming, but he felt, and said as much,   that this was too crazy for the Department of Defense. Ichbiah was very focused and dedicated. When this request for proposals from the US Department of Defense came out, I think that minute, Ichbiah decided that he would be the designer of the language that the whole world, at least the whole DoD contractor world, would use and he was completely focused on that goal.

He was very conscious of what the DoD would be able to accept or not. And he had this handicap that his proposal was the only one, at least the only one that survived the first round, from outside of the U.S. And actually the DOD was very fair in this respect. They accepted a proposal that was not American. It wasn’t just that. It’s not just that it was not American. It was, I mean, wait for that, French!

It is really admirable that the US Department of Defense went for that. But Ichbiah was very careful not to take his luck too far. He didn’t want to shock them. All this to say that Ada didn’t have classes and inheritance and such. It had a good genericity mechanism, innovative for the time. But then, the syntax is too heavy. This idea of when you say IF, you finish the IF by END good but you’re having to say each time END IF,  even with editors to handle it, it’s too heavy. More generally, as you suggested, the language is too big. Then there’s one big mistake in Ada, the concurrency mechanism. Ichbiah discovered Tony Hoare’s CSP, Communicatimg Sequential Processes. As a matter of fact Ichbiah met Hoare thanks to a summer school I organized back then. CSP back then was not today’s CSP, which is more like a theoretical calculus. The initial CSP a programming mechanism, an elegant but theoretical design, and Ichbiah turned it into a programming language mechanism, called rendez-vous. It was not ready for prime time.

It is easy to criticize since we know much more about concurrency, and CSP was the smartest concurrency design at that time, but it was premature. It was not completely ironed out, there was little or no practical. Rendezvous in Ada was an experiment, very much unlike the rest of Ada which is more a consolidation of existing, widely-tried mechanisms. Rendezvous is the one bit of folly in that edifice, where Ichbiah said, oh, this is so attractive, we’ll put it straight into the language. But it doesn’t really work for the practice of concurrent applications. And from what I’ve seen, when the DoD mandated Ada as obligatory for all suitable developments, they excluded concurrency from the mandate.

Darius Blasband

I would call that premature commitment. They had carved in stone something that required more flexibility at that point because, as you say, I would really agree with that. Things were not mature.

When preparing for this interview, I went to your Wikipedia page first, (I envy you for having one!) And then I saw something that kind of surprised me. It said that you were part of Jean-Raymond Abrials’ effort to design the Z specification language.

This is an effort that is now 40 years old or something. In retrospect, how do you feel about that entire endeavor?

Bertrand Meyer

Well, Z started out as a mathematical notation. I was talking a lot at that time with Abrial and with Steve Schumann, who was the second person involved in the effort. We invited him to a summer school that I organized back then, the one I mentioned earlier in connection with Ichbiah and Hoare. It was a memorable event with Tony Hoare, Barry Boehm and Abrial. That’s where Hoare met Abrial, leading to an invitation of Abrial to Oxford and the later development of Z.

With Abrial and Schumann we had numerous discussions about how to specify software formally. And that was the time when Abrial was designing the first version of Z. I guess I had some small inputs there. He was not so keen on publish at that point so in fact the first publication about Z is in a book that I published back then  with my friend Claude Baudoin, both of us fresh out of school, which was called “Méthode de Programmations”, French for “Programming Methods”. The book was actually quite successful.  I can say without boasting too much that a generation or two of programmers in the French speaking world learned programming from it. It has a whole chapter on formal specification which is the first published discussion of Z, in a very early version.

After that, Abrial published a more standard scientific article on Z where he explained the notation and I was a part of that. I stopped being involved when  he went to Oxford to develop- it further. After one year, it was completely different with had input from many different people there, such as Bernard Sufrin. It was no longer a pure textual notation but used a boxed notation. I prefer the original but the revised form was probably easier to teach and convey to engineers I should say. I should not exaggerate my role, but I was involved in the original version, both as a discussant and as a publicizer.

Darius Blasband

I have a long history with Z. I attended a couple of conferences, and when I worked on my thesis, which was very much implementation driven, and I wanted it to be more than that. I decided to include a complete specification of whatever I was doing. I used Object Z because it was heavily object oriented, and Z was a little bit weak in that area.

Bertrand Meyer

Roger Duke from University of Queensland was the original force behind Object Z.

Darius Blasband

I used Z in good faith. What I mean in good faith is that when you go to Z conferences, and I attended a few, you had all these people saying, oh we specified this and this and this with Z, and after a while, from a distance, you could say that they were not taking actual problems, they were thinking of problems that could be modeled with Z adequately.

They were picking the problems for the solution to look good. My problem was totally different. It was a real problem that I modeled using Object Z. I can say with confidence that I’m one of the two or three people I know who wrote most of it. Most of the people I’ve seen wrote like 5, 10, 15 pages of that thing. I wrote like a hundred pages. It’s one of the areas where I think I have a little bit of wisdom to give. The truth is that it doesn’t matter how much you work on it, it remains super hard to read afterwards.

My experience was that after I spent so much time into typesetting those objects, their specifications, out of the dozen or so readers of my PhD thesis, I think two actually went through it entirely and got something out of it. Most of the people say, okay, look at the beginning and then skipped it because it was just too much material to get into.

Something else I want to touch upon is that I’m a pure industrial guy and I talk to people that are true academics and you seem to be, I would say somewhere in the middle. How would you define yourself and how do you manage that kind of balance?

Bertrand Meyer

Yes, in this respect, I’m really a hybrid. I’m a little too business-oriented for pure academics, and too academic for some business people, but actually I’m the same person on both sides.

On each side there are limitations. I started my career actually in a big company, in the R&D department but still in a company setup  It was very nice initially with lots of freedom. I could have the best of both worlds. But at some point  I reached my maximum potential level for development there, there  so it was good to go and look  at what the academic life looked like. I was very happy there as well, in the U.S. at the University of California Santa Barbara, but there I also hit some limits. I then took the plunge into something completely different, my own company, so absolutely no safety net, no protection of any kind, no salary coming at the end of the month automatically, just have to earn your living.

Later I got an offer to come and teach at ETH Zurich without fully renouncing what I was doing before. I like  being between the two worlds. Moving back and forth, but  it’s the same person,  modes of reasoning, criteria, rules. It’s not that different. For example, one thing that you need to do anyway is marketing. Most academics will not admit it, but in fact, they’re salespeople. If you have the best ideas in the world and don’t sell them by publishing conference and  journal papers,   you will not get anywhere. It is even worse than that. It’s not just conference and journal articles but grant applications, requests for promotions, where e you have to tell the world that you are the next Einstein and you know even that Einstein guy, he couldn’t even get an assistant position at ETH Zurich, so I’m so much better than he was. Maybe it was not as bad a couple of decades ago, but today you spend a fair amount of your time basically selling yourself just like you do in business. In business you sell products rather than yourself  but it’s largely the same thing. The chasm between the two worlds is not as big as it sounds.

Darius Blasband

I would agree with most, I would probably disagree when you say the criteria is the same. When I look at the academic papers, sometimes I’m struck by how pointless they are. It’s striking, by saying, okay, this is answering a non-existing question with non-existing answers about a non-existing problem that absolutely no one cares about, in a very, very dramatic way. And that’s probably the only thing that, you bothers me sometimes. When I go to conferences, it’s always nice, it’s fun. There’s one part about the academic world that I really like, is that the people are at least trained and value the communication side of things. You call it marketing is a little bit deprecating, but the fact that people are still rewarded for, for instance, writing good prose. In the industry, people tend to write really poor prose, so that’s what I really like. But the artificial nature of the ideas that are sometimes being developed really bothers me a little bit. But okay, you know what? That may be just me.

Bertrand Meyer

Yes, but when we compare two things, we are not saying they’re the same. Academia and business are clearly different things. But my point is that there are more commonalities than meets the eye at first.

An advantage of academia is  that if you have something that turns you on, even if no  one else is interested or there is no immediate application, then you can do it, although you still have to convince someone to give you money to do it. If you do, there’s such a thing as academic freedom and you can indulge in pursuits that everyone says are useless. Many of these useless pursuits remain useless but there have been quite a few cases of things that were considered useless and then became absolutely fundamental. Take number theory:   who was interested in factoring big numbers 60 years ago?  A few experts only. And then suddenly the whole internet e-commerce edifice relies on factoring or not being able to factor big numbers. That’s why we have fundamental research.

With a few notable historical exceptions, like the old IBM research or the old Bell Labs, you cannot do this in industry. So there’s room for both. When I say that some of the criteria are the same, what I mean in particular, other than being a good  to market yourself, is that in either case   integrity pays. Crooks exist on both sides, but they typically don’t last very long

Darius Blasband

You famously never walk away from controversy, so here’s one for you, a gentle one, nothing bad really. My question to you, is the language an intrinsic asset or is it just the vehicle for the concept? In other words, if you were to rank your contribution to the field, would you put Eiffel as a language first or the underlying concept of Design by  Contract?

Bertrand Meyer

It is not for me to judge my contributions, especially since I’m a bad at guessing what people will like or not from my own work. My most cited papers are not necessarily the ones that I like best.

With respect to your question about whether my contributions are more conceptual or linguistic, the obvious answer is both. They’re intricately connected. In linguistics, there is something called the Sapir-Whorf hypothesis which says that human thinking does not exist or is inconceivable without human language.  It is highly controversial. In our field, Leslie Lamport, computer scientist I admire greatly, has a view that  everyone else keeps proposing languages, which are useless. What we should be dealing are concepts and theories. I listen to this and I see that the most famous of his recent contributions is, surprise, TLA+, which he maybe wouldn’t admit is a language, but in fact is  programming language.

I believe instead that in computer science, you cannot really describe an idea without giving it a notational form. And I’m not talking about  concrete syntax, say choosing a keyword syntax, as like in Pascal or Ada or Eiffel, or a cryptic symbol syntax as in C and Java. I’m talking about language in the sense of an API. A language is an abstract interface to a certain set of functionalities characterized by certain properties, and it’s impossible to do something serious in software without providing such a language.

Of course it’s my great failure that the whole world is not using Eiffel, but there are cases in which the world is wrong. If you look at it statistically, the likelihood is much higher,  that I’m wrong and the world is right. On the other hand, you know, there are also lots of people who smoke. So the fact that everyone uses Python does not necessarily mean that Python is a good solution. All this to note that I can make no sense of people who think they’re making me a compliment by saying “I’m applying your ideas of Design by Contract, in X” for some other language X. I it is just not possible. The method has to be closely integrated with the development environment. It has to be closely integrated with documentation tools. It has to be closely integrated with the inheritance mechanism weakening of preconditions, strengthening of post-conditions, accumulation of class invariants, and everything else in the programming notations and tools You cannot add this to another language. So I appreciate your question, but it’s not for me to answer. One produces some ideas, in my case concepts and a language, and then the world decides what it wants to do with it.

Darius Blasband

It’s interesting. You say that it’s up to everybody to decide, but you make a very compelling case for saying that the language is the vehicle, but it’s an intrinsic vehicle, it’s influential, it makes a very big difference. I agree concepts are important but they don’t exist if they don’t have a foundation. Foundation is not the word. I would also say that instantiation, but you and I know that’s not the right word. There are so many ways this can be misunderstood. But the language is the underpinning. The language is where it happens. And I really like the way you say, well, no language is, well, I don’t know. Who am I to judge? But at the end of the day, yes, the language is. And I would really agree with that.

In retrospect, after all these years, is there something about Eiffel you would do differently now?

Bertrand Meyer

No, not really. There are a few things that are the way they are because of historical circumstances. But Eiffel has been evolving significantly. So we have had really the discipline of recognizing deficiencies or poorly understood concepts and fixing them. We have always done that. In the Eiffel community as a whole, we have always tried to be open and in particular ready to recognize our mistakes. There are very few places in Eiffel in which when people ask you why is it that way, you have to say “oh, it’s because it was that way originally”.

Take C as a different example. C was a great invention for its time but some of the decisions in C come from the context for in which it was developed on a PDP-11with specific constraints, and you can still find some of the results of those circumstances from 1971 today in C and subsequent languages. Eiffel has little of that because when there were such cases we have corrected them.  

There are only a few exceptions. For example, Eiffel predates Unicode. So initially An Eiffel string was an ASCII string, in eight bits, and an Eiffel identifier was an ASCII identifier It is clear that if we started from scratch today , we would go for Unicode right from the beginning. Eiffel  it’s close to 100% Unicode now, but not quite 100% because of the weight of the past.

There are a few other cases which I would blame on us coming too soon. But in terms of decisions that we would make differently today they have been corrected over the years.

Darius Blasband

So you’ve been able to correct them. The momentum of the large installed base did not stop you.

Bertrand Meyer

Yes, we were very careful about this. We always provided migration paths. And that’s something that we found, is that users are not as conservative as people might think. Of course, people don’t like when you come and break everything that works. You’re not going to be very popular if you do that. But if you plan a change carefully,  explain the reason for the change, and provide a migration path, then people will follow. That has worked well for us.

Darius Blasband

The interview ends with what I call a Proust-like questionnaire. Proust-like because obviously there’s little point in taking there the Proust original questions, so they are a little bit tuned to the topic at hand. And the first is, what would you do if you weren’t involved in languages and compilers?

Bertrand Meyer

Are you talking 20th and 21st century? Or are you asking what I would have done if I were in the 18th century when there was no computer?

Darius Blasband

Bertrand, this is a fantasy, the fantasy is yours, whatever works for you works for me.

Bertrand Meyer

I In French education you decide early whether you will go into science or into the humanities (they call the latter “letters”).  Having to decide early is actually a bad idea. It means, for example, that too many people who go into the humanities do not use scientific methods or do not use enough of scientific methods to do good sociology or psychology or such. But anyway, this is very much built into the French psyche. When I was 15 or 16, my parents asked the teachers where I should go. And they said he can do either. And they also said there’s more money to be made in science.

But had I gone into the humanities I think I would probably have been  a linguist.

Darius Blasband

Very respectfully, what’s the point of me asking you what you would do if it weren’t languages, if your answer is “I’m going to be a linguist”.

Bertrand Meyer

Touché, as we say in good English. But it is really not the same thing. I’m interested in artificial notations — computer languages. The word is the same as for natural languages, and they have common points, but they are very different things.

I have a little bit of training in linguistics, although not deep. It is certainly not by accident. It helped in my work with computer languages —  artificial notations – but it is not the same.  When I talk with a real professional linguist, I see all I miss.

Another thing that I could have done, which was my passion when I was a young teenager, was geology, particular paleontology. Although most  geologists  basically make money by helping to extract oil or something else, what was fascinating me was geology as a science, particularly paleontology, the study of fossils. What is fascinating is that these disciplines enable you to understand things deep below the surface.

For example, you travel through a landscape, as I did today, since I drove 800 kilometers, going through completely different regions. If you’re not a geologist, well, sometimes it goes up, sometimes it goes down, sometimes there’s a cliff that you see from the road, sometimes there’s a valley, and you have no clue why it’s that way. The geologist knows the million years of history behind this landscape. In geology you can explain things through deep and well-justified explanations that are beyond what most people see. Paleontology is even more exciting, because you can see the evolution of living beings at a scale which is completely beyond human comprehension; evolution needs to have this kind of leap of this aptitude to abstraction of thinking not at the human scale. It’s already hard enough to think about what was there 50 years ago or 80 years ago, within the span of a typical a human life, but to try to see what happened between 400 million years ago and 200 million and then 20 million and  1 million years ago.

This requires an aptitude at abstraction, which not everyone can get, but then the results are fascinating. So that’s another thing I would gladly have done, to be my little version of Richard Dawkins or Stephen Jay Gould, and help advance the understanding of evolution. And I guess I would also have liked to do medical science.

Darius Blasband

This question sees no end. I mean, you’re going, there’s more and more and more things you wanted to, don’t get me wrong, I so appreciate that.

Bertrand Meyer

When I was a teenager, three French scientists got the Nobel prize in Physiology or Medicine: Jacques Monod, André Lwoff and François Jacob. Exceptional scientists. I read about them again recently. The advances they made in microbiology are fantastic. Back then it was just the time when I was starting to ask myself what I would do.

Newspapers were full of articles about microbiology explained to common mortals. I thought this is what I’m going to do. And so I wrote to Jacques Monod,  as a 13- or 14-year-old and I asked him, what should I do? I want to become like you. I mean, I want to get a Nobel Prize in that through my work in microbiology. But I don’t know if I should study science, medicine, or go to one of the engineering schools in France. And surprisingly enough, the guy answered within three or four days. Imagine this Nobel Prize being feeted all around the country and abroad,  finding the time to answer a naive question by an unknown schoolboy. He said, “go to one of the top engineering school because that gives you a good basis and after that you can do anything”. But this is what I wanted to do when I was 13, I wanted to have a Nobel Prize because of my work in microbiology.

Darius Blasband

How old were you when you wrote your first line of code?

Bertrand Meyer

I was not particularly precocious. It was at school. One thing I should say is that at the school I went to, Polytechnique, there was a Fortran course, and I did not understand. And ever since then, or over the past few years, I’ve been trying to understand what I did not understand, and I’m not sure. I was good at math, never had any problem understanding math, but that computer thing, the first time around, I just couldn’t understand it.

I don’t think the teacher was particularly bad, he was not really a professor, he was just an instructor because there was no computer science back then. He was just teaching programming in Fortran because this could be useful. My guess now is that what I was not understanding was the difference between compile time and execution time, but I may be reconstructing. At that point, so I was about 18 in my first year at Polytechnique. I started to understand, all by myself  when someone gave me access to an Olivetti computer with a good Algol 60 manual. I started reading the manual and suddenly everything was crystal-clear. So I’m not one of these hacking kiddies or script kiddies who started coding while drinking their mother’s milk. There were no kids programming at the time anyway.

Darius Blasband

What software project would you have loved to be part of?

Bertrand Meyer

The GPS system.

It is so great. This ability to provide signals to absolutely everyone. And  everything that goes with it, navigators and so on. Deploying this thing on satellites, making sure that it works 24 hours a day, 365 days a year,  that is resilient to one satellite not being available, to a signal being obfuscated, to maybe the Russians doing something to it, this must have been a fantastic software engineering project. Nothing to do with languages.

Darius Blasband

What do you consider the most important quality for someone in our trade?

Bertrand Meyer

The ability to see both the big picture and the small picture, to cover the whole span of abstraction between the  very abstract, almost ethereal, as well as the very mundane, the nitty-gritty of dealing with bits and with signals and interrupts and pipelines and the nuts and the bolts.

 There are people who are good at the high-level view, and people who are good at the details, but few who can master both and span the full spectrum. They are precious to a project.

Darius Blasband

What do you consider your most important professional technical scientific quality? What are you especially good at?

Bertrand Meyer

Oh, I have so many that’s difficult to choose.

Darius Blasband

So I’m going to write modesty as…

Bertrand Meyer

More seriously, I know how to write.

I’m a writer. I know how to write. It is not even so much the fact of being a good writer. I said that at some point, I had to choose between science/technology and the humanities, but I didn’t completely choose and I spent considerable effort trying to learn how to write at the level of a professional writer.  .

I think people who have learned techniques of writing as well as techniques of computer science and software engineering have a significant advantage.

Darius Blasband

I would absolutely agree. And what are you bad at? What is your biggest flaw? You could answer “nothing” if that’s really what you want to say. I’m fine with everything.

Bertrand Meyer

My biggest flaw is probably a propensity to fall in love too easily with my own ideas. To counter that risk I am always careful to surround myself with non-sycophants, people who don’t hesitate to criticize me.

Darius Blasband

And now, a little bit of gossip. If there was one programming language you could decide to wipe out from the surface of Earth, which would you choose?

Bertrand Meyer

I cannot answer that question. I mean, why just one?

In truth, every language that has been successful has been successful for a reason. And even if I don’t like the language, I’m going to, I’m not going to wipe it out.

Darius Blasband

I very respectfully disagree. I think that some languages, as successful as they are, have had a toxic influence on many, many things in many areas. But I fully respect your position.

If you were to direct our audience to read one book, one article, one author, computing related or not, what would that be?

Bertrand Meyer

In terms of computer books and excluding my own masterpieces, there’s a book which is completely forgotten today, but which has had a big influence on me, which was called Simula BEGIN (Birtwistle, Graham M., et al. 1973), which was really a model of clarity and simplicity in explaining basic object-oriented concepts.

You said just one, but I really benefited a lot from the Structured Programming book of Dahl, Dijkstra and Hoare which is really three monographs in one. This is kind of passé  and no one reads it anymore, but it shows how a good technical book should be written.

In terms of non-technical books, there’s a book which I’ve started rereading now, It’s only known in small circles. It is the book by Montaigne’s friend, La Boétie, who died at just 32. He would have had a great career, but he had the time to produce one book, the Discourse on Voluntary Servitude, which is fascinating and explains much of the modern world. I definitely recommend that.

Darius Blasband

Bertrand, my last question to you, what would you like to be remembered for?

Bertrand Meyer

I don’t want to be remembered. I want people to use Eiffel because I think that the world would be a much better place if more people used it.

People should have been using Eiffel even when it was a bit raw and young, and they should be using it now because it has evolved.

It has really matured and it’s very usable and practical. As to me I’m happy to be forgotten entirely. And in fact, the language should be known completely independently of whoever created it. So forget about me but use Eiffel.

Darius Blasband

Bertrand, thank you very much.

Bertrand Meyer

Thanks to you for your patience with me