[VENUE CHANGED] Evolving Error Models

![[VENUE CHANGED] Evolving Error Models](https://secure.meetupstatic.com/photos/event/b/2/8/c/highres_486825708.webp?w=750)
Details
We'll trace the evolution of error handling through C, Java, C#, Python, Go, Rust, Swift, and Midori (an experimental OS developed at Microsoft from 2003-2015). What have programming language designers learned over the past few decades?
- Bugs are not recoverable errors.
- Better ergonomics pay big dividends.
- How to avoid "invisible control flow".
- Exceptions and return codes aren't necessarily that different!
Presenter: Marvin Humphrey.
Paper: "The Error Model [in Midori]" (2016), by Joe Duffy
http://joeduffyblog.com/2016/02/07/the-error-model/
Slides: http://www.rectangular.com/evolving-error-models.pdf
---
How to read the "paper" (actually a blog article), in five optional steps:
-
Skip it and attend anyway — the presentation won't assume attendees have read the paper. If you've done any programming at all, you almost certainly have enough familiarity with error handling to engage with the material.
-
Read the section "Bugs Aren't Recoverable Errors!" http://joeduffyblog.com/2016/02/07/the-error-model/#bugs-arent-recoverable-errors
-
Read the section critiquing unchecked exceptions and contemplate the tension between Duffy (a systems programmer) and C# designer Anders Hejlsberg (representing the perspective of applications programmers). http://joeduffyblog.com/2016/02/07/the-error-model#unchecked-exceptions
-
Skim it. It's a blog post and pretty approachable, but it's long.
-
Read the whole thing.
---
Please note that the venue for this meetup has changed, to Ugather Coworking. Everything else about the event will be as usual! Pizza will still be provided.
Parking tips:
- Do not park in the HUB or Cali-O-Burgers parking lot. They Tow.
- Parking is generally easy to find on Cleveland Ave, Normal Street, Pennsylvania Ave (4 blocks south).
- Remember that parking meters go until 8pm.
If you're interested in presenting a paper please fill out this form (https://docs.google.com/forms/d/e/1FAIpQLScaI-fWdys27-ByT_HdtsJ73V4AxZr0hf1GSqLsQ1IwAaPdIQ/viewform) or talk to us in person at the meetup.

[VENUE CHANGED] Evolving Error Models