Loading…
C++Now 2021 has ended
Friday, May 7 • 7:00am - 8:30am
What Neighborhoods Owe to Each Other: Rights, Duties, Immunities and Disabilities of Functions and Objects

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Our understanding of a program is formed locally: we design or examine a single neighborhood of a program at a time. The neighborhoods we consider most often are those of functions and objects, in the context of the interfaces that surround them, but independently of the implementations beyond those interfaces.

But these neighborhoods are not fully independent. Objects and functions form ongoing relationships with each other, each fulfilling their own obligations by relying on the obligations of others.

The field of jurisprudence provides us with terms for these relationships: right and duty; immunity and disability. Casting these inter-neighborhood relationships in these terms provides insight into the fundamentals of programming and can help us avoid problems involving as resource lifetime, aliasing, and race conditions.

While this presentation is intended to stand on its own, it continues the examination of procedural logic in my earlier talks, such as “The Truth of a Procedure” and “Neighborhoods Banding Together.” It improves upon the material in my 2017 talk, “Locally Atomic Capabilities and How to Count Them.”

Speakers
avatar for Lisa Lippincott

Lisa Lippincott

Software Architect, Tanium
Lisa Lippincott designed the software architectures of Tanium and BigFix, two systems for managing large fleets of computers. She's currently assistant chair of the numerics study group of the C++ standardization committee. In her spare time, she studies mathematical logic, and wants... Read More →


Friday May 7, 2021 7:00am - 8:30am MDT
B
  • Interfaces