Many sources for good software architecture will use objects, pointers, memory allocation in their solutions. The PLC programming language 61131-3 Structured Text is really limited in this regard, more like a limited version of Pascal. Reasons for this are often cited as i.e. safety and determinism.
Here are some of the limitations
No pointers No objects No memory allocation No first class functions
How do I build a good architecture with these limitations, even ANSI C architecture/design pattern sources use a little bit of dynamism like callbacks or lists of function pointers etc.
I try to use the good SOLID principles, and other "best practices" but for me that's more programming in the small, not the big picture.
I have been researching a bit, and "data-oriented design", "entity components system" are perhaps the closest "possible" paradigms I've found given these limitations.
How do I build a good architecture with these limitations?