KonneX thoughts, comments and questions
After demonstrating my KonneX programming system on the Propeller 2 live forum 5th August 2021, it would be good to have some feedback.
KonneX is a zero code programming system that incorporates the ability to create massively parallel programs that will utilise as many CPU cores (or cogs) as is necessary, without the programmer being aware of it.
Conventionally, multi-threaded programming is a pain. The programmer really has to think about the threads and their synchronisation. Most of the time, they won't bother and as a result, most applications will only utilise a single core. It's only for CPU intense programs (like video processing and 3D games) where the programmers will bother.
It is my intention to port this program to Java and simplify the interface as well as the data typing and language, so that it could be used by children. Adding visualisations so that execution paths can be observed.
I think kids will love it. Once you've let go of conventional programming and begin to see it operate like a rail system or delivery system, the whole thing become a lot easier to understand.
There are other features I have incorporated into this system, that are not covered by the demo.
- It is completely human language independent. Language data is stored completely separately from binary library data, allowing anyone to create a language file or translation, without messing with the binary itself.
- It is resilient to updates causing problems. Instructions, once defined and published, cannot be altered. The code (or map) can be altered for bug fixes, but the arguments and exits cannot. If the programmer wishes to add extra functionality to an existing instruction, they must create a new one. As such, when it comes to matching library compatibility, it is only instruction ordinals that are important, not the version. (each instruction has an ordinal value which does not change).
- It is highly portable. So long as the kernel and basic libraries are available, any KonneX program will work.