Applications can be debugged and fixed while running
Applications continue to work, despite bugs and other faults
e2 Benefits
Problems are easier to solve because they can be made small, concrete and
understandable
Software enhancements and fixes can be deployed more often and in smaller
units, reducing the overall risk of change
Testing costs are lower due to Erlang’s language design and fault tolerant
architecture
e2 vs. Other Productivity Tools
Software language and tool development tends to focus on two areas:
Features that improve developer productivity
Increasing program performance
Unfortunately, developer features and faster software often come at the expense
of software quality:
Language features that hide complexity can also hide important design
considerations that affect the way software runs and how it can be maintained
Performance optimizations are often made without weighing the impact on other
important software characteristics such as simplicity, reliability, and
maintainability
e2 reflects Erlang’s core design principle: performance and developer
productivity are important, but should not come at the expense of software
reliability and maintainability.