11 ms·
Pretty much every language today has a modularity story. The issue isn't the language, it's deciding what are the modules and how they depend on / integrate wit
by khaledh 4y ago
Pretty much every language today has a modularity story. The issue isn't the language, it's deciding what are the modules and how they depend on / integrate with each other. You can have really good modularity support in the language and still end up with a big ball of mud.
IMO, you always need what I call an "application meta-model"; a set of decisions/constraints you enforce to make developing a large monolith sane. Examples: integration between two features should be implemented in a separate module that depend on both features, such that neither feature depend on the other; exposing well-defined interfaces from modules for functionality that is expected by cross-cutting concerns, e.g. security/logging/caching/etc.