e2 is a light weight Erlang library that simplifies the process of writing better software.
Better Software
Resilient in the face of unexpected faults
Maintainable as it becomes more complex
Performs acceptably
e2 Features
Applications are built as systems of federated services that act independently of one another
Code is short and focused, reflecting the principle of Separation of Concerns
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.
Enough Talk!