Hi, I noticed your S BASIC category and that you provided some samples but that they don't appear on the S BASIC page.
I think that is because the Header template needs to say S_BASIC or S BASIC to match the category name.
I changed a couple of the samples and they now appear in the Pages in "S BASIC" section of the category.
The language looks interesting - is there any documentation? --Tigerofdarkness (talk) 17:32, 27 May 2020 (UTC)
Yes, well the fundamental problem is that the correct name of the language is S-BASIC (with a hyphen), but somehow in adding it to the list of supported languages, I held the shift key down, producing S_BASIC (with an underscore, which the site software converted to a space). But when adding program examples, I used the correct name for the language in the header, which is why links to those examples don't appear on the language page. Sigh. I have unable to figure out how to correct the original error on the language page. I agree that the language is quite interesting -- many very advanced features for its day, along with some curious omissions (for example, no end-of-file function, and no ability to pass arrays as parameters to functions or procedures). The only documentation is a user manual that was pretty cryptic even by the lamentable standards of the day. If I find the time, I will dig out my copy and scan it so I can post it on one or more of the web sites that still support the CP/M operating system.
Hi again - I discovered how to rename a page and I've renamed Category:S_BASIC to Category:S-BASIC.
I've also put the two samples that I changed the language of (100 Doors and Sieve Of Eratosthanes) back to S-BASIC.
The S-BASIC page now shows 12 samples.
I hope you don't mind me doing this - I like the look of S-BASIC and I find it disappointing if a language page doesn't have any samples...
--Tigerofdarkness (talk) 18:45, 23 June 2020 (UTC)
Well, yes and no. Gary Kildall took the position, in a June 1981 Byte article, that Subset G (for which, so far as I know, PL/I-80 and its companion, PL/I-86, were the only implementations, was a vast improvement over the sprawling full language, because it "satisfied scientific and commercial needs and, because of subset restrictions, was consistent and easy to use." He acknowledged that the choice was "a bit daring", because Subset G was largely unknown, and PL/I "was viewed as a large IBM oriented language with huge, inefficient compilers that required tremendous runtime support." That said, perhaps I should have labelled the language as PL/I Subset G with a "Works with: PL/I-80" tag in the examples. On the other hand, think of all the various dialects of BASIC, many of which are specific to a particular piece of hardware, that have homes on Rosetta Code. I'd be interested in your thoughts.
- PL/I subset G is an ANSI standard and there were implementations on mini-computers e.g. Pr1me.
- I agree that every implementation of BASIC seems to get treated as a separate language - maybe not all of which are justified, but the difference between Tiny BASIC and Visual Basic.NET is massive where as PL/I subset G is "just" a subset of PL/I.
- Kildall has a point regarding PL/I but it was used extensively on non-IBM hardware, the Multics operating system for example was almost entirely written in ANSI standard PL/I.
- I rather like the minimilist PL/M language that Kidall designed for systems programming - it is very PL/I influenced but not a strict subset, just as Algol-M is like Algol W but not the same language.
- --Tigerofdarkness (talk) 09:55, 31 October 2021 (UTC)