Zen of Heron
Just like Time Peter's Zen of Python here are some of the Heron guiding principles:
- Code must be correct before it can be made efficient
- Code is for humans, not computers
- Code should be self-documenting
- There should be one obvious way to accomplish things
- The obvious and most elegant way to do things should be sufficiently efficient.
- It is more important that code is easy to read than it is to write
- Code should not be ambiguous
- Code should not contains superfluous constraints
- Assumptions should be explicit rather than implicit
- There should be as few constructs and operators as necessary (but no fewer)
- It should be easy for the compiler to optimize code
- The user should be given the tools to optimize code via macros and meta-programming
- Programmers should be able to write elegant code without worrying about the compiler
- Types annotations are useful, except when they aren't
- Programming is the art of giving names to things
- Try to use the most general abstraction possible
- When code is reused it improves its reliability