[VENUE CHANGED] Evolving Error Models

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[masked]). 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:

0. 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.

1. Read the section "Bugs Aren't Recoverable Errors!" http://joeduffyblog.com/2016/02/07/the-error-model/#bugs-arent-recoverable-errors

2. 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

3. Skim it. It's a blog post and pretty approachable, but it's long.

4. 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.