In C++, for example, the standard ends up documenting language and library features that are first implemented by GCC or Boost and such and then proven in the field for a long while.
I agree, high-quality well-supported widely-available set of software tools which implement the language are vital. Whatever humble code I write needs to be usable on as many platforms as possible, from Windows, Mac and Linux PC's to various embedded devices. Even things that don't exist, like the forthcomming RISC V. This is mostly for my personal benefit, often important to my employer(s) some times even useful to strangers out there I don't even know.
RISC OS is not on the radar. It has no users, no useful software support and no compelling features over many more common systems.
The title of the thread is why avoid BASIC on the Raspberry Pi. I think that question has been answered satisfactorily in many ways by many people here now.
Without such considerations, every implementation of a touring-complete programming language would appear equally useful.
I think not. (Did you mean Turing complete?). Many languages are Turing complete, that does not make them convenient for humans to write programs in. See, Brainfuck, Postscript, Forth for examples.
All in all I'm with you, at the end of the day performance matters.
Indeed, if learning BBC BASIC on its own is not digitally liberating, then maybe learning BBC BASIC along with ARM assembly language would be.
Strangely enough, back in tech school in 1973 we were introduced to programming with BASIC. We also then had to learn assembler. It was after a year of this that I realized BASIC was kind of pointless. I was liberated
FreeBASIC and other BASIC strains may well have the control and data structures of languages inspired by ALGOL and hence be as expressive as for example C. I don't care. They are no longer BASIC. They have no reason to exist, after all we already have Pascal and C and such.
Why was BASIC created? As far as I can tell for two main reasons:
1) To provide a system whereby many students could get access to a big expensive computer at the same time. Very important in an educational setting.
2) To provide a language that was simple enough that any high school kid with a bit of algebra under his belt would very quickly understand it and make use of it, even if they were not studying CompSci.
As such I think we can all agree it achieved it's goals very well.
Why did BASIC become so big in the late 1970's/ early 1980's? As far as I can tell for two main reasons:
1) It provided a system where by owners of the new fangled "home computers" could actually get their machines to do something.
2) It provided a language that was simple enough that any high school kid with a bit of algebra under his belt would very quickly understand it and make use of it, even if they were not studying CompSci.
Hmm... 1) and 2) here seem very similar to 1) and 2) above.
What about BASIC today?
Well, reason 1) for it's existence has gone away. Computers are very cheap and everywhere. They come with all kind of languages. Getting access to a computer is not a problem.
Reason 2) has gone away. There are many languages now that serve as good introductions to programming, provide that instant feed back a student needs, and are generally far better than BASIC.
Given your criteria of "50% of the performance of best industry practice" I would be interested to see which of the languages we have seen here are acceptable to you and which are not. And perhaps how you rate some languages we have not seen here.
Memory in C++ is a leaky abstraction .