Versioning

Eons uses a versioning system compatible with Semantic Versioning. However, we change some of the semantics to simplify usage for real-world products. We still use [MAJOR].[MINOR].[PATCH] versions but they are more accurately named: Requirements Implementation Updates Thus, we say [REQUIREMENT].[IMPLEMENTATION].[UPDATE]. A simple test to know which version number to increment is: Requirements – did the…

Cross-Language Accessibility

Each programming language has different syntax for handling different scenarios and means of problem solving. However, at Eons, we believe the richness this ecosystem provides is contrary to our goals of universal accessibility and sustainable development. As professionals, we view programming as a science with an achievable “best language” rather than as an art with…

Single File For All Targets

When writing code, each file containing a compilation unit or interpreted code will be able to be compiled or interpreted on all target systems. For example, main.cpp will work will all supported compilers on all operating systems and will contain internal logic for optimizing to the individual targets; there will be no main_win32.cpp or main_arm64.cpp.…

URI Names

URI paths following the typical UNIX directory naming conventions are short and effective. Typically, recurring paths receive heavy use and are optimized for speed (e.g. cd /sm/thg). This works as long as everyone agrees on what each acronym means. We at Eons impose our own standards to maximize the number of distinct folders while minimizing…

Naming

We at Eons use a particular naming scheme that is designed to extend the semantic information present in a filesystem URI. All names begin with a part of speech describing their purpose followed by additional, descriptive groupings. This often generates the pattern: {part-of-speech}_{descriptor-1}_{descriptor-2}…{descriptor-n}. The {part-of-speech} is a verb for tasks and a noun for products.…