FAQs

Frequently Asked Questions

Reliability of The Ac28R

By her nature, the Ac28R eliminates practically all of the errors commonly seen in software that has been coded by humans:


Many errors are typically introduced inadvertently from outside - perhaps input by a user or read in from a file or database. The Ac28R's rigid guardrails catch all of these.


Other software errors are caused by unexpected bad data that may have come from a prior internal calculation - for example when dividing by zero or trying to assess an array element that is outside the array's dimensions. The Ac28R applies the same rigorous error checking here and, where necessary, applies well-documented defaults.


Finally, because the Ac28R is a machine using logic, she always produces the exact same instructions for a given Invert structure. What does this mean?


Once she knows how something works (e.g. sorting numbers in the row of a table), she does it the same way every time. And she does that for every single piece of software she generates. As a result, each potential error only had to be uncovered once by us.


In contrast, for the 25 million coders around the world, every single one of them makes the same mistakes over and over again. Every single day.


While we consider ourselves to be excellent coders, we too make mistakes. So we have gone to extraordinary lengths to teach the Ac28R clean, efficient code and to systematically test the Ac28R's logic and thinking patterns. This was a huge task for us, but something we only had to do once.


Incidentally, you can easily demonstrate The Ac28R's robustness using its Evaluator feature that instantly lets you see the results produced by different substructures of Inverts.


It functions similarly to a print line function, except that you don't have to get bogged down in source code.


Guardrails ensure that your Invert structures fit together properly and that you don't introduce inadvertent errors. For example:


All attributes have a specific Type that must be followed.


Many numeric attributes also have restrictions on allowable values (such as months 1-12 or perhaps a Tangent not being based on any odd multiple of 90).


Pointer errors, or going off the end of an array simply don’t happen with Ac28R. If the Ac28R sees a discrepancy like this she knows to apply defaults ahead of time.


If the Ac28R expects to read one database record and your database provides more, then it processes just the first one.


References cannot cause deadly embraces.


Sets and singletons are closely managed and displayed visually. In particular, Sets have a number of controls to ensure that the entire Invert structure remains coherent.


Random variables also have a number of special checks.


In the event that bad data were to slip in somewhere (perhaps read in from a database or as the result of a calculation), explicit defaults are provided, and there is the option to write to an error log or terminate processing.


As a result of all this, it is practically impossible to introduce human error into an Invert structure.


This question is exactly backwards. It’s not that these languages don’t need them – it’s more the case that they have no practical way to implement them in a way that is transparent to the user or customer.


The very freedom that allows a coder to build any kind of algorithm is the same freedom that allows that coder to do real damage:


If you need to prevent a stack overflow error, that’s the job of the coder.


If you need things properly initialised, that’s the job of the coder.


If you need to restrict the values that an item can take, that’s the job of the coder.


If you need to prevent deadly embraces, that’s the job of the coder.


If you need to prevent an index out of bounds, that’s the job of the coder.


And if you need your decimal places and rounding to be correct, that too is the job of the coder.


In addition to getting all of the complex logic right, a human coder has to pay attention to all these land mines. To produce bulletproof software, a human coder needs to be completely right, all of the time.


Ac28R gives you all the freedom you need, but none of the freedom that you don’t want.