Ado About The Resource That Was (Not)
After a few weeks of use, Microsoft Outlook tends in my experience to go into a kind of thrashing mode where the user interface no longer quite functions as it should, although to the tool’s credit...
View ArticleQuiz (1): What is this function?
For various reasons there have been no articles in recent weeks; now we are restarting on a regular basis! A the first topic for this new season, here is a little quiz. I have a function: For 0 it...
View ArticleThe invariants of key algorithms (new paper)
I have mentioned this paper before but as a draft. It has now been accepted by ACM’s Computing Surveys and is scheduled to appear in September 2014; the current text, revised from the previous...
View ArticleHungarian rotation
The 2013 Informatics Europe “Best Practices in Education” award was devoted, this year, to initiatives for teaching informatics in schools [1]. It was given out last week at the European Computer...
View ArticleLampsort
In support of his view of software methodology, Leslie Lamport likes to use the example of non-recursive Quicksort. Independently of the methodological arguments, his version of the algorithm should...
View ArticleDetecting deadlock automatically? (New paper)
To verify sequential programs, we have to prove that they do the right thing, but also that they do it within our lifetime — that they terminate. The termination problem is considerably harder with...
View ArticleFraming the frame problem (new paper)
Among the open problems of verification, particularly the verification of object-oriented programs, one of the most vexing is framing: how to specify and verify what programs element do not change....
View ArticleCall for suggestions: beauty
On April 29 in the early evening at the Schaffhausen Institute of Technology I will give a talk on “The Beauty of Software”, exploring examples of what makes some concepts, algorithms, data structures...
View ArticleGetting a program right, in nine episodes
About this article: it originated as a series of posts on the Communications of the ACM blog. I normally repost such articles here. (Even though copy-paste is usually not good, there are three reasons...
View ArticleThings to do to an algorithm
What can you do to or with an algorithm? In other words, what is a good verb to substitute for the hyphen in “— the algorithm”? You can learn an algorithm. Discovering classical algorithms is a large...
View ArticleNew video lecture: distances, invariants and recursion
I have started a new series of video lectures, which I call “Meyer’s Object-Oriented Classes” (MOOC). The goal is to share insights I have gained over the years on various aspects of programming and...
View ArticleSome contributions
Science progresses through people taking advantage of others’ insights and inventions. One of the conditions that makes the game possible is that you acknowledge what you take. For the originator, it...
View ArticleThe mathematics of the seven messengers
In my previous article I referred to the short story The Seven Messengers by Dino Buzzati, of which I have written a translation. Here is a quantitative analysis. I will also refer the reader to a very...
View ArticleNiklaus Wirth and the Importance of Being Simple
[This is a verbatim copy of a post in the Communications of the ACM blog, 9 January 2024.] I am still in shock from the unexpected death of Niklaus Wirth eight days ago. If you allow a personal note...
View Article