Bertrand Meyer

bertrandmeyer.com · Personal blog · on HN since 2009

Bertrand Meyer, creator of the Eiffel language, writes about programming theory, software engineering and object-oriented design.

What HN saysHN commenters link it for his set-theory-based formulation of programming concepts and for Eiffel's specification ideas, such as modifies clauses.
47HN people shared it
12linked it in comments
60stories submitted
772story points
3 months agolast shared
2009people per year2026

Most-shared posts

  1. 1
    Why not program right?
    3 people · 138 points · first shared 2018 · 181 comments on HN
  2. 2
  3. 3
    OOSC2
    3 people · first shared 2023
  4. 4
    Introduction to the Theory of Programming Languages (1991)
    2 people · 204 points · first shared 2022 · 54 comments on HN
  5. 5
    New Paper: Theory of Programs
    2 people · 63 points · first shared 2015 · 31 comments on HN
  6. 6
    Programming Is Simple Mathematics
    2 people · 12 points · first shared 2025 · discussion on HN
  7. 7
    A fundamental duality of software engineering
    2 people · 10 points · first shared 2012 · discussion on HN
  8. 8
    A Paean to Programming
    2 people · 8 points · first shared 2025 · discussion on HN
  9. 9
    Yes, AI is intelligent. Prove me wrong
    2 people · 6 points · first shared 2026 · 4 comments on HN
  10. 10
    A Theorem of Software Engineering
    2 people · 4 points · first shared 2019 · discussion on HN
  11. 11
    Bertrand Meyer's contributions to software engineering
    2 people · 3 points · first shared 2021 · discussion on HN
  12. 12
    Niklaus Wirth and the Importance of Being Simple
    2 people · 1 points · first shared 2024 · discussion on HN
  13. 13
    Rejection letter classic
    2 people · first shared 2012
  14. 14
    Lampsort: Leslie Lamport's Non-recursive Quicksort
    1 people · 93 points · first shared 2014 · 44 comments on HN
  15. 15
    Soundness and Completeness: With Precision
    1 people · 54 points · first shared 2019 · 2 comments on HN

What HN people wrote when they linked it

grep2 · 2012-09-26
Just in case it is not obvious: These rejection letters are fictional[1], created as collage of negative reviews Santini received. But it's hilarious to read, I agree. Since the original site where Santini commented on it is gone, probably it's only a question of time until this document becomes internet "truth". Brave new world. [1]http://bertrandmeyer.com/2009/08/14/rejection-letter-classic/
HerrMonnezza · 2012-01-21
The link is the text of an article [1] by Simone Santini that appeared in: Computer, Volume 38 Issue 12, December 2005 It's a parody piece, although the author declared that "Many of the sentences that I use in the article are from actual reviews." (quoted by B. Meyer review in [2]) [1]: http://dl.acm.org/citation.cfm?id=1106763 [2]: http://bertrandmeyer.com/2009/08/14/rejection-letter-classic/
Rochus · 2026-02-05
I'm not particularly sure what the autor's claim has to do with Wirth, but there is a quote which he could have added to the article: "To hell with AI" (see https://inf.ethz.ch/people/faculty/emeriti/niklaus-wirth-quotes-facult… Wirth distrusted AI mostly because of the "grandiose promises" its proponents made at the time (see https://bertrandmeyer.com/2024/01/16/niklaus-wirth-importance-simple/)… Besides that, I don't think that the "appeal to authority" the author makes in his article works. Wirth was a pragmatist, not a luddite. His "Lean Software" philosophy was about determinism and understandability, i.e. building systems where the engineer comprehends every instruction cycle. He criticized software that was written poorly (from his very own perspective). The author implies that because we ignored Wirth’s warnings about OS bloat in the 90s, we were culturally primed to accept the "ultimate bloat" of LLMs in the 2020s; that's pretty wild logic. The author essentially criticizes that using LLMs for simple tasks is overkill. This is another concern than writing bloated software. LLMs have demonstrated that they are able to generate both, lean and bloated software. When I use an LLM to review my code, it often finds logic reductions and possibilities for minimization which were not obvious. Ultimately, it once again comes down to the question of how tools are used. In the case of LLMs, they can obviously be used in line with or contrary to Wirt's recommendations.
nickpsecurity · 2025-06-20
B. Meyer made an attempt to formulate many concepts in programming using simple, set theory. It might help in discussions like this. I say might since I'm not mathematically-inclined enough to know for sure. https://bertrandmeyer.com/2015/07/06/new-paper-theory-of-programs/
conaclos · 2024-06-15
View types make me think of the modifies clause introduced by some verification tools and in an earlier specification of Eiffel [1]. Basically the clause allows you to list the fields that are affected by a function with mutations. [1] https://bertrandmeyer.com/2011/07/04/if-im-not-pure-at-least-my-functi…
Jtsummers · 2023-12-10
https://bertrandmeyer.com/OOSC2/ - The book being quoted is now available for free, the quote you're referencing comes from page 108. (PDF page 138)
patrec · 2023-08-14
The only language I can think off that does the right thing is Eiffel (https://bertrandmeyer.com/2010/02/06/reflexivity-and-other-pillars-of-…
cyrc · 2023-07-21
Consider having a look at Object-Oriented Software Construction by Bertrand Meyer https://bertrandmeyer.com/OOSC2/
mwcampbell · 2020-06-24
"Software is Terrible and Getting Worse" Reminds me of this satirical post: https://bertrandmeyer.com/2013/03/12/apocalypse-no-part-1/
cju · 2016-01-22
There has been a conference by Bertrand Meyer on the topic but I don't know if there is a video of it : https://bertrandmeyer.com/2015/10/12/danke-sehr/
rramadass · 2025-12-29
> not the result of the concept itself being fundamentally different, it's a result of object lifetimes being different between GC'd and non-GC'd languages. This is the fundamental misunderstanding. The RAII ctor/dtor pattern is a very general mechanism not limited to just managing object (in the OO sense) lifetimes. That is why you don't need finally/defer etc. in C++. You can get all of these policies using just this one mechanism. The correct way to think about it is as scoped entry and exit function calls i.e. a scoped guard. For example, every C++ programmer writes a LogTrace class to log function (or other scope) entry and exit messages. This is purely exploiting the feature to make function calls with nothing whatever to do with objects (in the sense of managing state) at all. Raymond gives a good example when he points to how wil::scope_exit takes a user-defined lambda function to be run by a dummy object's dtor when it goes out of scope. > I don't view RAII/scoped destructors as being equivalent or alternatives to things like `finally` blocks or `defer` statements. In C++ you basically use scope guards for everything because they are the only option, but I think C++ would still ultimately benefit from at least having `finally`. Scope guards using ctor/dtor mechanism is enough to implement all the policies like finally/defer etc. That was the point of the article. > You can kind of emulate it, but not 100%: `finally` blocks are outside of the scope of the…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close