The only of those features we are missing is structures, and we can fake that using indirection.RichardRussell wrote: ↑Wed Jul 17, 2019 7:23 pmMy versions of BBC BASIC have never been particularly fast. I have concentrated on expanding the capabilities of the language, with speed a lower priority. Recently my efforts have been directed to improving the cross-platform credentials of the language, and that has necessarily involved compiling from C source rather than from assembler code, which has probably roughly halved the speed again.
Raw interpreter speed is rarely a factor these days, many programs are input/output bound, i.e. the limiting factor in speed is things like the speed with which graphics can be rendered or data read from a disk or the network. Python is not a particularly fast language either, yet that doesn't stop it being incredibly popular.
So I have no interest in any 'performance' comparisons; I can tell you now that my versions would come out the slowest. But whilst Sophie's ARM BASIC may be fast, by modern standards it's primitive. I couldn't write programs without structures, private variables, indirect function calls, long strings and all the other language enhancements that my versions have.
Ok I accept the lack of interest in speed. Many applications do not need it do to I/O as you say. So I guess that your version is not the one to use to write a SceneDemo, or full blown modern fully software polygon rendering textured mapped 3D FPS (both possible on RISC OS in BBC BASIC thanks to its speed). I wounder how Brandy BASIC fairs.