Bertrand Meyer is the author of a classic software development book Object-Oriented Software Construction. He is also the father of the Eiffel language. I have a lot of respect for his work, it was quite heavily plugged when I was at Monash.
In looking for a Bertrand Meyer home page, I came across Betrand Meyer’s ETM homepage. ETM is where he was working during mid 2007 when the page was written. He plays a part in co-teaching many of the subjects there (lucky students!).
There are many pieces of gold linked to his site, though these two subjects seemed of most interest to me.
“Languages in Depth” series: Java programming, with Manuel Oriol (bachelor’s/master’s) Java
“Languages in Depth” series: C# programming, with Lisa (Ling) Liu (bachelor’s/master’s) C#
You can also find a link the ECMA Eiffel language specification.
In addition, there are a few interesting tools linked to from this page, as well as a few from the Dept of Computer Sciences download page.
Autotest is a tool that generates tests automatically by looking at the source code, in particular, the way that Design by Contract is used, gives a lot away about what a human tester would be writing, but also tries to make up for the shortfalls that would not normally be apparent in the source code and the fact that developers aren’t perfect to begin with.
The text for the next lot appears directly from the school’s download page.
“Contract Wizard 3.0”
Description: Regrettably Design by Contract is still a specificity of the Eiffel programming language. Contract Wizard 3.0 is a GUI application that enables adding contracts (preconditions, postconditions, and class invariants) to any .NET assembly, whatever .NET language it was initially written in.
The Pattern Library contains patterns that are usable as components. For the patterns that could not be turned into components the download contains the Pattern Wizard, that let’s you generate the patterns according to your input.
Description: This Eiffel library is able to generate Java class files that can be executed by a Java Virtual Machine. A simple language with a corresponding compiler that uses the library as backend was created to test this library and also to give examples of how to use the framework. This language is similar to the Java language, but much simpler.
Funnily enough, the java references I mention in this blog all make reference to the following sites:
- The java virtual machine spec http://java.sun.com/docs/books/jvms/
- BCEL (Byte code engineering library) http://java.sun.com/docs/books/jvms/
The universe is telling to learn about the bytecode behind the JVM… javap My.class