In ISA, the memory is managed thru smart pointer because of the efficiency and simplicity of this approach. On usual systems, the O.S. also provides Processes. To free objects, the process wall is broken by ISA! But this implies some memory management adjustments.
Continue reading How to manage memory ?Simple and freed of experts
Wish N°5 – Simple and freed of experts : Simple and uniform enough in order to be at least freed of geeks and of constraints coming from exploitation.
Thesis: Not to be generic At first, I didn’t want to include generics in LL. This is mainly for two reasons. First, because it is really hard to conceive and understand a generic algorithm. This goes at contrary of the Wish N°5 – Simple and freed of experts. In my professional life, I have often …
Continue reading To be or not to be GenericWhat are the major guidelines for LL? Simple (as Basic and PHP), Powerfull (like C++ or Smalltalk), Consistent (as OO is), Efficient (as C++ and Python), Dynamic but not messy, Seamlessly to suit to the whole software life cycle.
Continue reading LL basics and syntaxISA relies on the Object Oriented paradigm. Let me now join OO with our wishes. Some guidances emerge . The first one is, not surprisingly, “Everything in ISA is an Object”!
Continue reading Object Oriented GuidelinesHave an underlying paradigm to help building ISA is a mean to promote coherence and consistency.
In this way it is easier to follow all the previously expressed wishes. It also gives guidelines for choosing among solutions in particular on reuse of an existing one.
ISA should offer a basic common management for specification, design, test, delivery and the like.
The purpose of ISA is to provide a common set of blocks on which any people involved in software can rely at anytime and anywhere.
Another aspect ISA should address is the continuity in the problem/solution chain thru specification/realisation and the abstraction levels.
Think and design ISA to be durable for several decades. The main design patterns should be incorporated as much as possible. This architecture should not limit itself in changes that it can elaborate to have good performances. And this in both dimensions hardware and software. Remain native : It is the condition to do at best of the possible. Define a solid base and then incorporate an extension mechanism.
Continue reading ISA Wish N°6 – Modern, performant and durableOne of firsts motivation of ISA is to unify the architecture and to make it simple in order to eliminate useless “expertise”.
ISA makes a break with the existent. Thus this architecture is free to make its choices. In other words, compatibility with actual IT is not a concern for ISA. This primary option eliminates the niches for geeks and experts.
The world, the universe is not centralized. They don’t have center. Any attempt to ignore this fact in an ideal architecture will fail.
Distributed computing and storage have to be at the heart of ISA in order to adhere to the reality.
An other aspect of distribution paradigm, implies that the data and treatments are scaling horizontally. Taking advantage of all 4 dimensions of our universe.
Having defined the scope of the Ideal Software Architecture (ISA), it’s time first to make a list to Santa Claus of what will be nice to have in computer science. Wish N°1 – Plug and play generalized. An old dream to begin, connect a computing unit as easily as we connect any device, like a …
Continue reading ISA Requirements