• Please review our updated Terms and Rules here

What programming languages can 8-bit computers run besides BASIC?

Algol had problems. The Liverpool Software Gazette issue 3 explains some of the issues of getting Algol-68C running on a Z-80. Article starts on page 52 and can be downloaded http://www.80bus.co.uk/pages/magazines.htm

Action! was a sort-of Algol-68 subset for 6502 machines, notably the Atari line. I don't see any successful efforts to get a full Algol implementation running on a 8-bit system.

One could just as easily say that C Compilers had problems on 8bit computers couldn't they?

I've only seen Algol Compilers for CP/M, like this one for CP/M-80 and this Algol-M Compiler. There was another one which RHA (Minisystems) Ltd. made for CP/M and DOS, but the site appears to be dead.
 
As above "C" compilers are challenging and perhaps not very efficient on 8-bit computers with only 64K of memory. There have been various scaled down versions with names like "small C", "Tiny C" etc most of which implement a sub-set of "C". Cross compiling is possible but if you only have an 8-bit computer its not great...

https://en.wikipedia.org/wiki/Small-C

https://en.wikipedia.org/wiki/Tiny_C_Compiler

I think these names have been re-used, I think have a Tiny-C for M6809 which isn't mentioned in those articles.

Also whilst its possible to get "C" to compile the resultant code will usually not be efficient. Modern "C" compilers have excellent optimisers, but optimization takes space. A friend tried using the Tiny-C to build a central heating control system and found the code wouldn't fit. He wrote a standalone optimizer that worked really well.
 
C should work on this computer.

Apart from the Small C implementations I've seen and used on 8bit computers, the other (commercially produced) ones I've seen follow the K&R guidelines, though those C Compilers aren't fully K&R. Other "C" programmers tell me they wouldn't touch something which is K&R and prefer a Cross-compiler that follows ANSI Standard, though to have that requires a more powerful computer, which is what "g4ugm" was leading to.
 
As above "C" compilers are challenging and perhaps not very efficient on 8-bit computers with only 64K of memory. There have been various scaled down versions with names like "small C", "Tiny C" etc most of which implement a sub-set of "C". Cross compiling is possible but if you only have an 8-bit computer its not great...

You have to ask "which 8-bit computer?". Generating C code for the 8080/85 is a pain because of the inefficiency of stack-relative addressing (though the 85 does have some "scarcely documented" additional opcodes to make it slightly easier). It'd probably be ugly on several other 8-bit MPUs, such as the SC/MP and 1802.
 
I think the best 8-bit computers for running C were CP/M based systems with 128Kb which would use CP/M Plus, though the standardisation of C to ANSI came later when it was felt portability of code was important. I'm unsure though where K&R came into the picture, though C was written initially as a Systems Language on a large computer (PDP I think) of the late 60s/early 70s, which was what UNIX was written with I presume.
 
I think the best 8-bit computers for running C were CP/M based systems with 128Kb which would use CP/M Plus, though the standardisation of C to ANSI came later when it was felt portability of code was important. I'm unsure though where K&R came into the picture, though C was written initially as a Systems Language on a large computer (PDP I think) of the late 60s/early 70s, which was what UNIX was written with I presume.

Unix predates C. C was originally created to run on a PDP-11 which had supported a maximum of 64k of data and 64k of code for a single process. Mini-Unix could run a C compiler on the PDP11/10 which supported a maximum of 28k words (56k Bytes). On mini-UNIX, compilations took twice as long because of the memory constraints. Z-80s with CP/M look positively spacious.
 
Unix predates C. C was originally created to run on a PDP-11 which had supported a maximum of 64k of data and 64k of code for a single process. Mini-Unix could run a C compiler on the PDP11/10 which supported a maximum of 28k words (56k Bytes). On mini-UNIX, compilations took twice as long because of the memory constraints. Z-80s with CP/M look positively spacious.

Apparently the Wikipedia page for Unix contradicts this, which suggests C + Assembly were used to write Unix. The connection with K&R C being Brian Kernighan & Dennis Ritchie as credited as Developers of Unix.
 
No, krebizfan has it right--UNIX came first. C was initially for the PDP-11 and takes advantage of some of the features.

Wikipedia said:
In 1972, Unix was rewritten in the C programming language. The migration from assembly to the higher-level language C resulted in much more portable software, requiring only a relatively small amount of machine-dependent code to be replaced when porting Unix to other computing platforms.

and

Wikipedia said:
The development of C started in 1972 on the PDP-11 Unix system and first appeared in Version 2 Unix. The language was not initially designed with portability in mind, but soon ran on different platforms as well: a compiler for the Honeywell 6000 was written within the first year of C's history, while an IBM System/370 port followed soon.The name of C simply continued the alphabetic order started by B.

Also in 1972, a large part of Unix was rewritten in C. By 1973, with the addition of struct types, the C language had become powerful enough that most of the Unix's kernel was now in C.

As an aside, as late as 1983, "B" was still in use at Xerox (Coyote Hill Road, not PARC).
 
Apparently the Wikipedia page for Unix contradicts this, which suggests C + Assembly were used to write Unix. The connection with K&R C being Brian Kernighan & Dennis Ritchie as credited as Developers of Unix.

Instead of trusting Wikipedia, trust Dennis Ritchie's history. https://www.bell-labs.com/usr/dmr/www/hist.html Check the section marked Higher Level Languages and note the number of PDP-7 Unix versions written in assembler and then partially in B. It wasn't until Unix moved from the PDP-7 to the PDP-11 that C was started.

Since C on minimal systems is a part of this topic, might as well include a link to the description of mini-Unix and how its design had impact on C compiler performance. http://www.60bits.net/msu/mycomp/terak/termubel.htm
 
Well that's misleading of Wikipedia! :(

Has anyone pointed out their mistake?

I could make a list of egregious errors I've found within Wikipedia. But I don't care anymore.

When I suggest changes, with references, I either get shot down mostly because I'm just not really a Wikipedian, or, what happened the last time. In 2010 or so, they flat out banned me because I suggested the removal of some blatantly irrelevant global warming propaganda from a page which normally could not possibly be related to global warming.

Aside from global warming, I found it best just to never point out errors in computer history.

Most of Wikipedia is pretty neutral, but there are a few places where agendas run strong.
 
if it counts I have been poking around getting lua to run on a 64K apple II, but its not ready for show and tell yet
 
I could make a list of egregious errors I've found within Wikipedia. But I don't care anymore.

When I suggest changes, with references, I either get shot down mostly because I'm just not really a Wikipedian, or, what happened the last time. In 2010 or so, they flat out banned me because I suggested the removal of some blatantly irrelevant global warming propaganda from a page which normally could not possibly be related to global warming.

Aside from global warming, I found it best just to never point out errors in computer history.

Most of Wikipedia is pretty neutral, but there are a few places where agendas run strong.

It's all a conspiracy theory, Agenda 21, blah blah blah... I just edited the damn article for you:

https://en.wikipedia.org/wiki/Unix#Impact

Most of the time when edits get shot down, it's because you don't include references, so I referenced the Dennis Ritchie essay.
 
Apparently the Wikipedia page for Unix contradicts this, which suggests C + Assembly were used to write Unix. The connection with K&R C being Brian Kernighan & Dennis Ritchie as credited as Developers of Unix.

No, it doesn't say that. It says that Unix was re-written when the PDP-11 came onto the scene and that the nascent C was used for part of it.. Unix existed before the PDP-11. See my quotes above.
 
No, it doesn't say that. It says that Unix was re-written when the PDP-11 came onto the scene and that the nascent C was used for part of it.. Unix existed before the PDP-11. See my quotes above.

Sure if you go down to the bit about the History of Unix, but before you get to that you must of read about it being written in C, even the Box on the right hand side of the screen states it being written in C & Assembly.
 
I could make a list of egregious errors I've found within Wikipedia. But I don't care anymore.

Yes I've been warned in the past to source other sites, to ensure the information is good, even using just one Search Engine is bad. Making a blunder regarding what Unix was initially written in needs to be sorted.

When I suggest changes, with references, I either get shot down mostly because I'm just not really a Wikipedian, or, what happened the last time. In 2010 or so, they flat out banned me because I suggested the removal of some blatantly irrelevant global warming propaganda from a page which normally could not possibly be related to global warming.

Aside from global warming, I found it best just to never point out errors in computer history.

Most of Wikipedia is pretty neutral, but there are a few places where agendas run strong.

Yeah well Wikipedia weren't happy when I simply added a link to my Turbo Pascal website to their Turbo Pascal page, but the Code Generation and Internals of Turbo Pascal 3, was included.
 
Most of the time when edits get shot down, it's because you don't include references, so I referenced the Dennis Ritchie essay.

So as I mentioned (re: Turbo Pascal website), I should of referenced my website when I added a link of it on the Links section on their site?

This reminds me I noticed some horrible errors on Progopedia, like apparently Turbo Pascal 3 and earlier doesn't support CHAR data type, but haven't had the courage to correct their blunders in case the same thing happens.
 
Back
Top