In a post elsewhere, it is being claimed that 'my' versions of BBC BASIC are a One Man Project and that somehow this makes them inferior to some other versions of BASIC (QB64 being particularly cited as an example). This is not an accurate portrayal.
It's true that the BBC BASIC interpreters I have developed (Z80, MS-DOS, Windows, BBCSDL) have been largely my own work, although the contributions to the code from Brandon Butterworth, Jeff Raynor and Simon Willcocks shouldn't be neglected. But that work has been spread over more than 41 years so can hardly be argued to have overstretched me!
Outside of the narrow sphere of the code of the interpreter, many other people have contributed. Here is a list of just some of those who should be credited with the success of BBC BASIC for Windows, BBC BASIC for SDL 2.0 and the BBC BASIC Console Mode editions; apologies to anybody I have forgotten:
Help Manual: Doug Mounter
Beginners' Tutorial: Peter Nairn
BBCEdit IDE: Andy Parkes
Raspberry Pi Pico edition: Eric Olson & 'Memotech Bill'
Classlib library: Jon Ripley
Gfxlib library: David Williams
Sortsalib library: Michael Hutton
TreeView and Pdflib libraries: Svein Svensson
Example programs: Alexander Alekseev, Rod Bird, Howard Bolton, Christopher Burke, Andrew Chapman, John Coll, Martin Hollis, Mike Jansen, David King, David Marples, Paul Marshall, David Moore, Steve North, Jack Ord, Tina Parkhouse, Inigo Quilez, Gerald Pye, Andrew Roberts, Anatoly Sheyanov, Ron Stickley, Nathan Teichholtz, Jerry Temple-Fry, Roy Wiggins, Phil Wheeler and (last, but far from least) David Williams.
One Man Project?
-
- Posts: 69
- Joined: Fri 20 Apr 2018, 00:56
Re: One Man Project?
Hi....if I were you, I would be more interested in analysing the popularity of QB64 objectively. There are only 2XX forum members but many user projects are active at their forum. This will surprise a lot of users of other BASIC languages. In my opinion, perhaps many things should be learnt from QB64.Hated Moron wrote: ↑Tue 27 Dec 2022, 18:01 In a post elsewhere, it is being claimed that 'my' versions of BBC BASIC are a One Man Project and that somehow this makes them inferior to some other versions of BASIC (QB64 being particularly cited as an example).

Re: One Man Project?
I've not taken any specific interest in QB64, but of course I have taken a great deal of interest in the original QBASIC, not least when writing the QB2BBC translator! Indeed the addition of the EXIT keyword to my versions of BBC BASIC (one of only two keywords to have been added to the language since 1986, the other being PRIVATE) came about because it was the only feature of QBASIC that I couldn't otherwise emulate near-perfectly in BBC BASIC.
The other popular BASIC which I have studied in great detail is Liberty BASIC. Once again that was largely in connection with writing LB Booster, which translates from Liberty BASIC to BBC BASIC. I needed to ensure that BBC BASIC had all the features necessary to emulate Liberty BASIC near perfectly, and if not provide them.
Ironically I think there are more commercial applications which use LB Booster (and therefore run BBC BASIC under the hood) than there are written natively in BB4W or BBCSDL! One example is Caninet Planner; I bet not many people realise that it actually uses the BBC BASIC for Windows runtime engine (it was written originally in Liberty BASIC but later got its performance boosted by being translated to BBC BASIC using LBB).
I don't suppose there are many other BASICs which have had their capabilities compared in such a formal and detailed way with two of the most popular and successful dialects. It's because I was able to create QB2BBC and LBB, in both cases providing almost complete compatibility with the originals, that I can be confident that my versions of BBC BASIC don't lack any important functionality.
-
- Posts: 69
- Joined: Fri 20 Apr 2018, 00:56
Re: One Man Project?
I am surprised because you are an expert of QBASIC. Good job!Hated Moron wrote: ↑Wed 28 Dec 2022, 12:15I've not taken any specific interest in QB64, but of course I have taken a great deal of interest in the original QBASIC, not least when writing the QB2BBC translator! Indeed the addition of the EXIT keyword to my versions of BBC BASIC (one of only two keywords to have been added to the language since 1986, the other being PRIVATE) came about because it was the only feature of QBASIC that I couldn't otherwise emulate near-perfectly in BBC BASIC.

On the other hand, you are an expert of Liberty Basic as well. Well done!The other popular BASIC which I have studied in great detail is Liberty BASIC. Once again that was largely in connection with writing LB Booster, which translates from Liberty BASIC to BBC BASIC. I needed to ensure that BBC BASIC had all the features necessary to emulate Liberty BASIC near perfectly, and if not provide them.

LB Booster looks successful.One example is Caninet Planner; I bet not many people realise that it actually uses the BBC BASIC for Windows runtime engine (it was written originally in Liberty BASIC but later got its performance boosted by being translated to BBC BASIC using LBB).
In conclusion, BBC Basic is more versatile than QBASIC or Liberty Basic or QB64. Good. The remaining difficult target is how to enlarge the user community of BBC Basic? I see. It seems that QB64's user community is quite large. If BBC Basic(BBCSDL and BB4W) has one half of the size of QB64's community, this official forum will be very, very active.I don't suppose there are many other BASICs which have had their capabilities compared in such a formal and detailed way with two of the most popular and successful dialects. It's because I was able to create QB2BBC and LBB, in both cases providing almost complete compatibility with the originals,
Re: One Man Project?
Forum activity isn't always a good guide to the size of the user community or the success of the language!
For example, if there are lots of problems and bugs, the forums will be more active. If the documentation is poor, the forums will be more active because users will need to ask more questions. If the language is in a constant state of flux, the forums will be more active!
OK, so those comments are slightly tongue-in-cheek. But it is true that what I consider strengths of BBC BASIC, such as stability and freedom from bugs, do contribute to a reduction in forum activity.
Ironically, I suspect that BBC BASIC suffers from being too well known! It's well known for being associated with a famous 41-year-old computer, and relatively few people realise that it has been kept up-to-date in the intervening period. So when people see BBC BASIC they don't think of it being modern and capable, but more likely that it is old-fashioned and primitive. It's difficult to persuade them to delve deeper.
For similar reasons there is a tendency to consider BBC BASIC as part of the 'retro-computing' scene (which to an extent it is). But somebody looking for a suitable language for writing a new game or utility isn't going to consider, initially, a language that has this association.
So fighting against preconceived ideas is part of the challenge in promoting BBC BASIC. I think I do my bit by writing programs which demonstrate the capabilities of 'modern' BBC BASIC, and I publicise them as widely as I reasonably can via social media. But, very sadly, in recent years we have lost some of the other BBC BASIC enthusiasts who 'pushed the envelope' in the past.
Being a little more positive, I do think that the decline in the dominance of Windows and other desktop platforms, plus the huge growth of capability of mobile devices like phones and tablets, should give BBC BASIC a boost compared to some competitors, which haven't managed to keep up with those developments as effectively.
Similarly the move towards web-based applications should also benefit BBC BASIC because there are not many alternative languages which support running in a browser. They will catch up, so we should try to make the most of the lead that BBC BASIC has before it loses it.
-
- Posts: 1
- Joined: Tue 03 Jan 2023, 20:53
Re: One Man Project?
>> Ironically, I suspect that BBC BASIC suffers from being too well known! It's well known for being associated with a famous 41-year-old computer, and relatively few people realise that it has been kept up-to-date in the intervening period. So when people see BBC BASIC they don't think of it being modern and capable, but more likely that it is old-fashioned and primitive. It's difficult to persuade them to delve deeper.
I have been giving this some thought.
It occurs to me that BBC BASIC would benefit from a niche which is not seen negatively or no longer relevant, but that it largely already excels in and can own.
Historically the niche for BBC BASIC was its ease of use, speed, and its place in education. Those still apply but there is substantial competition.
Python has gained popularity in AI. PHP has become the standard for web development (although NodeJS is taking this space). C# application development. Java for Android development. Although absolutely not exclusively true, these languages have a space they are strong within.
BBC BASIC does have a relevant strength that the others are much weaker in, which I feel could still be very relevant today. BBC BASICs graphical abilities out of the box are exceptional. A one statement programme will give a shape on the screen.
BBC BASIC also has strong mathematical abilities (like most languages) however BBC BASIC tends to use tokenised keywords for operators where there is no ASCII equivalent, whereas other languages use obscure combinations of characters which often don't read unless you are familiar with them - again not exclusively true.
BBC BASIC has also been extended to include the Structures, Windows API calls and a collection of libraries to keep it current with other languages. This also extends the graphical and mathematical abilities already with OpenGL, Sorting etc.
Combining these strengths, you've got a language which could be the best choice of language for a mathematician who doesn't necessarily want to learn to programme Python etc, but may want to see some graphical representations that are too much for a Graphic Calculator.
A couple of targeted mathematical examples and libraries and BBC BASIC could reinvent itself as the language of choice for mathematicians looking for a graphical representation of their work.
I am not trying to invent a niche, there are people already in this space, but other than the members of this forum, they don't know it yet.
When I learnt Differentiation and Integration over 20 years ago, nobody in the class could understand what the point was of what we were doing because the teacher forgot to show us a graph and explain that one was to calculate the gradient at a point, and the other was to calculator the area under the curve. As a result our ability to learn and understand what this meant and why we needed to learn them was lost. If our teacher had showed us a BBC BASIC programme that showed us graphically what we were doing, get us to calculate the gradient and then use a protractor against the screen to crudely estimate the gradient and see if the results were similar - that would have engaged us all!
When I went through university, I knew BBC BASIC very well, and although my code left a lot to be desired, I usually got the result I wanted. We were taught Java, and I could outperform everyone else with the same programme written in BBC BASIC because it was so much faster to develop in. I frustrated our lecturer who was failing to explain why Java with OO was the best choice for a 50 line programme! I've since realised it takes a much larger programme to warrant and benefit from OO!
Unfortunately I would qualify under Richards category of lost enthusiasts as a result of work and family taking up my time. But BBC BASIC and Richards incredible support over the years taught me how to programme, which both lead to a strong interest in programming and ultimately my job, and that's something I truly appreciate and will not forget.
BBC BASIC still has a lot to give, and I would like to see it continue.
This is just my opinion / suggestion and this may not be the best approach.
I have been giving this some thought.
It occurs to me that BBC BASIC would benefit from a niche which is not seen negatively or no longer relevant, but that it largely already excels in and can own.
Historically the niche for BBC BASIC was its ease of use, speed, and its place in education. Those still apply but there is substantial competition.
Python has gained popularity in AI. PHP has become the standard for web development (although NodeJS is taking this space). C# application development. Java for Android development. Although absolutely not exclusively true, these languages have a space they are strong within.
BBC BASIC does have a relevant strength that the others are much weaker in, which I feel could still be very relevant today. BBC BASICs graphical abilities out of the box are exceptional. A one statement programme will give a shape on the screen.
BBC BASIC also has strong mathematical abilities (like most languages) however BBC BASIC tends to use tokenised keywords for operators where there is no ASCII equivalent, whereas other languages use obscure combinations of characters which often don't read unless you are familiar with them - again not exclusively true.
BBC BASIC has also been extended to include the Structures, Windows API calls and a collection of libraries to keep it current with other languages. This also extends the graphical and mathematical abilities already with OpenGL, Sorting etc.
Combining these strengths, you've got a language which could be the best choice of language for a mathematician who doesn't necessarily want to learn to programme Python etc, but may want to see some graphical representations that are too much for a Graphic Calculator.
A couple of targeted mathematical examples and libraries and BBC BASIC could reinvent itself as the language of choice for mathematicians looking for a graphical representation of their work.
I am not trying to invent a niche, there are people already in this space, but other than the members of this forum, they don't know it yet.
When I learnt Differentiation and Integration over 20 years ago, nobody in the class could understand what the point was of what we were doing because the teacher forgot to show us a graph and explain that one was to calculate the gradient at a point, and the other was to calculator the area under the curve. As a result our ability to learn and understand what this meant and why we needed to learn them was lost. If our teacher had showed us a BBC BASIC programme that showed us graphically what we were doing, get us to calculate the gradient and then use a protractor against the screen to crudely estimate the gradient and see if the results were similar - that would have engaged us all!
When I went through university, I knew BBC BASIC very well, and although my code left a lot to be desired, I usually got the result I wanted. We were taught Java, and I could outperform everyone else with the same programme written in BBC BASIC because it was so much faster to develop in. I frustrated our lecturer who was failing to explain why Java with OO was the best choice for a 50 line programme! I've since realised it takes a much larger programme to warrant and benefit from OO!
Unfortunately I would qualify under Richards category of lost enthusiasts as a result of work and family taking up my time. But BBC BASIC and Richards incredible support over the years taught me how to programme, which both lead to a strong interest in programming and ultimately my job, and that's something I truly appreciate and will not forget.
BBC BASIC still has a lot to give, and I would like to see it continue.
This is just my opinion / suggestion and this may not be the best approach.
Re: One Man Project?
Whilst the built-in 2D graphics features are valuable, they are far from unique. Many BASICs offer a comparable capability.
What is much more important, in my judgement, are the graphics facilities available from the supplied libraries:
- Anti-aliased graphics. All modern graphics applications, whether in print or electronic media, require anti-aliased graphics. I am quite frankly astonished that so many BASICs (and other programming languages) seem to think it is acceptable to provide only 'pixellated' graphics. I am also concerned that there is generally a poor degree of understanding of the science and mathematics of aliasing.
- 3D graphics. Again, I would say that a 3D graphics capability is essential, not only for games and entertainment but in things like engineering applications. Of course you can use the 2D graphics primitives to display 3D scenes, but this is likely to be too slow and too poor quality for many applications. There needs to be a way to access hardware-accelerated 3D graphics.
- Shader graphics (and shader programming in general). Any general-purpose programming language ought to provide access to the graphical and processing capabilities of the GPU - even the simplest computing platform tends to have one these days. I've noted before that this can almost be considered the modern equivalent of assembly-language programming, but unlike assembler ii can be cross-platform.
The built-in matrix arithmetic certainly gives BBC BASIC mathematical capabilities that many BASICs don't have.BBC BASIC also has strong mathematical abilities
Even QBASIC/QuickBASIC had structures in the 1980s, so I wouldn't push this one too much as distinguishing BBC BASIC from the competition.BBC BASIC has also been extended to include Structures
-
- Posts: 69
- Joined: Fri 20 Apr 2018, 00:56
Re: One Man Project?
When visitors want to decide whether they should start learning or using BBCSDL, most of them check the forum activity of this official forum. No doubt. The current activity of the forum is not convincing enough.Hated Moron wrote: ↑Sun 01 Jan 2023, 11:54Forum activity isn't always a good guide to the size of the user community
About game: I still believe that a polished gallery of attractive mini games(with source codes) will attract the attention of certain programming hobbyists. If DW is still a regular visitor of this forum, you can ask DW to upload his website's game gallery to Itch. Itch has a huge number of visitors. How about upload several intersting games(executables and source codes) in the BBCSDL package to Itch(form a game gallery)?It's well known for being associated with a famous 41-year-old computer, and relatively few people realise that it has been kept up-to-date in the intervening period. So when people see BBC BASIC they don't think of it being modern and capable, but more likely that it is old-fashioned and primitive. It's difficult to persuade them to delve deeper.
No. Many programming hobbyists like to develop retro games nowadays.For similar reasons there is a tendency to consider BBC BASIC as part of the 'retro-computing' scene (which to an extent it is). But somebody looking for a suitable language for writing a new game or utility isn't going to consider, initially, a language that has this association.
I agree with you.Being a little more positive, I do think that the decline in the dominance of Windows and other desktop platforms, plus the huge growth of capability of mobile devices like phones and tablets, should give BBC BASIC a boost compared to some competitors, which haven't managed to keep up with those developments as effectively.
Sure.Similarly the move towards web-based applications should also benefit BBC BASIC because there are not many alternative languages which support running in a browser. They will catch up, so we should try to make the most of the lead that BBC BASIC has before it loses it.
Re: One Man Project?
If you think more forum activity would be desirable, how do you propose we increase it? I could release a new version with of lots of bugs added, guaranteeing that everybody's programs stop working. I'm sure that would be effective!

Seriously, what would be helpful is practical suggestions. I get quite a lot of queries by direct email, which I am always happy to respond to. I could say "please ask at the forum" which would no doubt increase the activity a bit, but if somebody has gone to the trouble to contact me privately I feel obliged to respond in the same way.
And I still think it's a good idea, but creating a "polished gallery" requires web programming skills that I don't have, so how can that be achieved?I still believe that a polished gallery of attractive mini games(with source codes) will attract the attention of certain programming hobbyists.
He's not a member any more (he asked for his membership to be deleted more than a year ago).If DW is still a regular visitor of this forum, you can ask DW to upload his website's game gallery to Itch.
Not me.Many programming hobbyists like to develop retro games nowadays.

-
- Posts: 69
- Joined: Fri 20 Apr 2018, 00:56
Re: One Man Project?
Hi....this discussion thread is quite interesting actually. However, only you, marloweos and me participated in the discussion. Too strange. This situation easily discourages everybody. Right? Not too many frequent visitors in this forum or the frequent visitors are not enthusiastic enough.Hated Moron wrote: ↑Fri 13 Jan 2023, 12:43If you think more forum activity would be desirable, how do you propose we increase it?
Don't do that. It will ruin the image of BBCSDL. I treat that kind of forum activity as 'bad' forum activity. In one of my previous posts, I said, "There are only 2XX forum members but many user projects are active at their forum. This will surprise a lot of users of other BASIC languages."I could release a new version with of lots of bugs added, guaranteeing that everybody's programs stop working. I'm sure that would be effective!![]()
I said that because I saw this:
https://qb64phoenix.com/forum/forumdisplay.php?fid=7
256 members in their forum and 389 members in this forum. Their members look active and enthusiastic. In my opinion, I don't know how to make this forum have such 'good' forum activity. This is not easy and challenging.


Of course answering them in emails is better. Telling them to ask in the forum is so weird.Seriously, what would be helpful is practical suggestions. I get quite a lot of queries by direct email, which I am always happy to respond to. I could say "please ask at the forum" which would no doubt increase the activity a bit, but if somebody has gone to the trouble to contact me privately I feel obliged to respond in the same way.
I hope that other forum members will have good suggestions on increasing the forum activity and join the discussion!


It is a misunderstanding. I didn't mean that a game gallery should have been made on www.bbcbasic.co.uk. Itch is similar to Youtube. Both have a lot of visitors. Youtube is for videos and Itch is for games and game tools. If some interesting BBC games are uploaded to your account on Itch, your account's page will become a polished game gallery. Many visitors of Itch are programming hobbyists in game development. This gallery will become an effective promotion for BBCSDL. BBCSDL's information can also be put on your Itch's page. I searched for 'programming language' and I found:And I still think it's a good idea, but creating a "polished gallery" requires web programming skills that I don't have, so how can that be achieved?I still believe that a polished gallery of attractive mini games(with source codes) will attract the attention of certain programming hobbyists.
https://itch.io/search?q=programming+language
Some people put their language softwares on Itch and perhaps you can try to put BBCSDL on Itch as a direct promotion.
As far as I know, registering is free. I believe that uploading a game to Itch is as convenient as uploading a video to Youtube.

https://itch.io/register
Sometimes I discovered DW's posts in SyntaxBomb. It seems that DW enjoys participating in Syntaxbomb.He's not a member any more (he asked for his membership to be deleted more than a year ago).
https://www.syntaxbomb.com/others/chatg ... -a-circle/