Programming Language choices: Pascal, LOGO, Forth, Prolog, C (1986) [video]
clp.bbcrewind.co.ukJump to 13:05 (also shown on the right menu) for an intro to those languages.
The page has a link to "RUN SOFTWARE". The link opens a 'BBC Micro' emulator that runs the software shown on the thumbnail.
You can edit the program in all its 1980's Acorn Basic glory.
Btw, "Acorn" is the "A" in "ARM", as in billions of CPUs today, and the BBC Micro is the inspiration behind the Raspberry Pi.
>"Acorn" is the "A" in "ARM"
Used to be, before they changed it to "Advanced".
Used to be before they decided it didn't stand for anything.
The Nimbus used in the C demonstration seems to be a 16bit 80186 computer. It runs DOS but is not PC compatible.
Every 80186 DOS machine was like that, the most famous one in the USA being the Tandy 2000:
https://en.wikipedia.org/wiki/Tandy_2000
The Mindset was another, that languished in obscurity until a cache of them were found at Computer Reset:
https://en.wikipedia.org/wiki/Mindset_(computer)
The 186 had on-chip stuff (timers, an interrupt controller, and so forth) at I/O addresses where the PC had different stuff offboard, thus precluding the possibility of a 100% PC compatible 186 machine. So there were a few interesting, not-quite-PC DOS machine designs running a 186 out there.
> languished in obscurity until a cache of them were found at Computer Reset
I never learn of such events until it’s decades too late.
I used to enjoy LOGO when I was a kid. Used Microworlds EX to make games. Shame it has fallen out of favor as an educational tool. Taught me a lot about scripting and paying attention to syntax.
Have you seen the adult version? It's called NetLOGO and comes in both 2D and 3D forms. It is used for multi-agent modeling, which makes it ideal for things like the flocking algorithm that has multiple points all doing their own things based on a small set of rules.
Although NetLogo can be considered a Logo, there are some important differences, such as:
- focus on agent-based modelling (feels more like a DSL to me)
- lexical scoping of local variables and inputs instead of dynamic scoping
- no “word” data type (similar to symbols in Lisp) - instead, NetLogo uses strings in most cases where words would be used in Logo
- control structures (if, while, etc.) are special forms instead of ordinary functions
- NetLogo is a Lisp 1, while Logo has been a Lisp 2 (separate namespaces for values and functions)
See http://ccl.northwestern.edu/netlogo/docs/programming.html#co... for a more detailed comparison.
Despite its educational focus and reputation as a language for children, UCBLogo (a dialect of Logo from 1992 intended for being a “minimum Logo standard”) seems to be quite advanced and also has some “adult” features (partially derived from its Lisp heritage), such as higher-order functions, eval & apply, recursion, anonymous functions (or rather something similar called “templates”) and macros.
However, NetLogo feels more like a modern version of Logo without some of the weird/unfamiliar stuff (like dynamic scoping and words). It is heavily used and taught at https://www.complexityexplorer.org , so if anyone is curious enough I recommend taking a look at their free courses/tutorials such as “Fundamentals of NetLogo” or “Introduction to Agent-Based Modeling” - they are probably the best resources out there to learn NetLogo.
LOGO has, and always will, rock.
I will need to check it out
You can download them both, and then they come with a huge sorted directory of different models and whatnot, so you can view the source as well. It's truly amazing stuff.
We're building a 3D game development environment that uses an enhanced version of Logo. It has 'spaces' that start out simple and get more complex.
You can check out our progress so far at https://turtlespaces.org
That actually looks perfect! I never thought of Logo as a data processing language or anything like that, but I have always associated it with making games because it is so well suited for it. This is pretty much exactly what I was missing about using LOGO. Im going to keep my eye on this! Thanks
Check out QLogo, under active development.
I was teaching my daughter to program with it. Quiet fun.
Ray Kurzweil makes an appearance in Episode 17 talking about AI: https://clp.bbcrewind.co.uk/f3fc8a5ce91dfb847a4f91eed7ddb184
I learned C in 1984 when it still primitive, played with Forth because it was cool, but used Pascal at work. Add to that the APL I briefly played with in graduate school. In those days the choice of languages was almost small enough to try all of them. Today it's impossible.
wait. there was a prolog for the zx spectrum?
"Micro-Prolog" apparently. Strange kind of Prolog without parentheses and with an "if" operator:
So not Edinburgh Prolog!X part-of bicycle if X part-of wheelP.S. From Jtsummers' link, I realise Micro Prolog was the precursor of LPA Prolog, by the same company (LPA - Logic Programming Associates Ltd):
https://worldofspectrum.net/item/0008429/ - Manuals and tape image for it too.
yes. And for the BBC micro too.
Logo is not an acronym. It's an abbreviation of Logos.
Idk why but even highly knowledgeable people capitalize random tech words. In the Tanenbaum–Torvalds debate, Tanenbaum regularly calls it LINUX (maybe a habit because UNIX is smallcaps'd per the trademark?). Lisp is often called LISP (check Wikiquote for ample examples), although this is forgivable since Lisp really did used to be an all-caps acronym.
Typewriters and their intrinsically limited rich-text capabilities encouraged that all-caps use for distinction.
In the case of Unix, it was trademarked as all-caps, for some reason ('Multics' was not) - so for Linux it may have seemed to follow for consistence.
According to Dennis Ritchie from the Jargon File:
"Some people are confused over whether this word is appropriately ‘UNIX’ or ‘Unix’; both forms are common, and used interchangeably. Dennis Ritchie says that the ‘UNIX’ spelling originally happened in CACM's 1974 paper The UNIX Time-Sharing System because “we had a new typesetter and troff had just been invented and we were intoxicated by being able to produce small caps.” Later, dmr tried to get the spelling changed to ‘Unix’ in a couple of Bell Labs papers, on the grounds that the word is not acronymic. He failed, and eventually (his words) “wimped out” on the issue. So, while the trademark today is ‘UNIX’, both capitalizations are grounded in ancient usage; the Jargon File uses ‘Unix’ in deference to dmr's wishes.
Plus, early programming seems to have been all upper case.
It wouldn't be surprising to me if people just conflated programming with upper case, and by extension the names used.
It's stylized as "LOGO" in Papert's 1981 book Mindstorms and in papers written by Papert in the 1970s.
Logic Oreinted, Graphic Oriented
Good ol' C, still in the 'most used' group 40 years later. The other four? Not so much today.
I think the craziest thing is the (far in the distance) runner up is probably prolog, which is also maybe the most unique of the bunch.
And they missed assembly, COBOL and BASIC which probably was the other 49% of professional programming. Though they may have had a different context in mind when they wrote this.
It was a small shop but I worked for a company that used DSPs running forth. It was my first introduction to meta programming. I learned a lot there
C has been a disaster for software stability and security. We should have stuck with Ada or Oberon.
Remarkably honest and unbiased.