Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A paper every programmer should read and comprehend. Related to object capabilities/capability-based security: e.g. a network capability is a powerful way to control how a program can access the network. In fact a capability naturally is the interface for a module; the module is accessible only through the capability. Compartmentalizing programs by basic functionality, akin to mechanisms as opposed to policies, removes artificial layering and ensures that a piece of code actually achieves what it sets out to do in a logically minimal fashion. Information hiding (encapsulation) is the essence of both modularity and abstraction, giving library reusability, mockability and lowered state dependence (for testing!), robust security, lower cognitive load, easier rewritability, and more. All in the name of writing programs that achieve what they set out to do.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: