On picking one of the "Languages of the Gods" -- which and why

Feb 15, 2021 00:31


[Another repurposed comment from the same Lobsters thread I mentioned in my previous post.]

A serious answer deserved a serious response, so I slept on it, and, well, as you can see, it took some time. I don't even the excuse that "Je n’ai fait celle-ci plus longue que parce que je n’ai pas eu le loisir de la faire plus courte."

If you are curious to ( Read more... )

apl, forth, smalltalk, lisp, retrocomputing, czech

Leave a comment

liam_on_linux February 18 2021, 14:32:13 UTC
> It's very cute, but what can you to do with it?

It's just an OS. At the end of the day, what you can do with any OS.

> Now a Pi is literally cheap enough to be given away on the cover of a magazine

The Pi Zero is, just about. But that is a bare PCB. If you add a case, a µSD card, a keyboard, a mouse, a PSU brick, and a screen, you're looking at £100.

Secondly, it only natively runs Linux and it can barely run Linux usefully. A RasPi 4 can, but it costs 10× as much.

Compare the Pi 400: £93.90, no screen.
https://thepihut.com/products/raspberry-pi-400-personal-computer-kit

One goal might be something more comparable to this:
https://www.amazon.co.uk/Stick-Windows-Professional-Cherry-Computer/dp/B07RJMFFY1

£125. No keyboard, mouse, or screen.

Both of those having full-fat, complicated, fragile OSes in ½ doz languages, which need constant maintenance, and which no single human being in the world could understand or reproduce single-handed.

A list of excuses along the lines of...
"But it's a free OS!"
"But a few gigs of storage is cheap"
"But it's the industry-standard!"
"But it's tried and tested over decades!"
... is not an excuse for several gigs of unnecessary over-complicated crap.

Kids and people new to computers don't need industry-standard, commercial-grade reliability, grid-capable, cloud-oriented pro solutions.

What they'd benefit from is small, simple, easily-understood code, open to inspection and study without knowing half a dozen 20th century languages.

Software advances have slowed down _massively_ this century. A 2021 computer cannot do any significan thing that a 2001 computer could not do. A 1995 computer could do most of it, just slower and less reliably.

This is a problem.

We're all in denial, but it is.

> There is no room at the bottom.

Oh yes there definitely is.

I want to give a RasPi-like $5 compute stick to every kid in every slum in the world, with all the abilities of that £130 computer or more.

> but the result is a massive economy of scale that more than outweighs the resulting
> inefficiencies.

I disagree. I reckon we can do better.

> So your proposed system would be
> - expensive, due to small market and no economy of scale

No. It's software. Initial aim: run on RasPi and vanilla x86.

> - have very limited I/O [...]

Plan 9, *BSD, & Minix seem to work, even on RasPi, without those drivers.

> In fact the ZX Spectrum Next is probably a good indication of the power and cost involved.

> What are you going to do with it that you couldn't do with a Oberon/Smalltalk/Lisp/whatever
> layer running on top of a linux box?

Run it well, fast, in ½GB of RAM. Understand the whole thing.

> only for me to stare at it on my desk and think "what am I going to *do* with it now".

Like 90% of all the RasPis out there, you mean?

Reply

waistcoatmark February 18 2021, 17:54:56 UTC
OK so you are looking at a software environment sitting on top of an existing system, not a modern-day LISP Machine. That gets rid of many issues... Something like http://squeak.org ?

That still leaves the "what are you going to do with it?" issue. Most hackers out there are scratching an itch:
1) wanting to control hardware
2) wanting to run something they've seen elsewhere (games in 80s arcades, unix running on workstations at work/college, etc.) on the machine they've got at home.
3) get more control over their network (piHole, openwrt etc.)
4) write games they want to play
5) learning skills they can use to get a better job
6) show off their 133t Skillz (Amiga demo scene) or just seeing how small/fast they can get something (fuzix, code golf)

1) is best done with Pis and their GPIO pins and HATs. Folks don't need or want visibility of the entire stack, they just want a simple python script that says "when input X goes high, play a aosund and set output 3 to 1 volt" 2) quite frankly is running out of things that can't be run on your home computer, and constraining it to a low RAM, simple environment isn't going to help porting, 3) is all about fast execution, low-level ethernet hackery and using existing libraries to handle the many, many layers of abstraction in a modern networking stack. 4) is best handled by modding an professional game and/or a specialised game environment. Simple stuff could be written in LiamOS though. LiamOS isn't going to help with 5) at all, until LiamOS becomes a commercially successful: adding all the stuff you wanted to strip out in the first place.

So 6) and possibly 4) are the best matches for LiamOS.

Software advances have slowed down _massively_ this century. A 2021 computer cannot do any significan thing that a 2001 computer could not do. A 1995 computer could do most of it, just slower and less reliably.
Server-wise there's a massive improvement. Things are a hell of a lot faster and larger. But I admit client-wise, other than games and video (and even those are just bigger/faster/better) client-side not much has changed. MS Office (and clones) and browsing the web. All the hardwork for the last decade and a half has concentrated on phones and AI.

But fundamentally folks want things to be cheaper and faster, and that inevitably leads to the things getting more complicated. Someone could probably understand every last aspect of the 8086. No-one on Earth could understand all of the latest Ryzen chips. I've read (and understood most of) the Lion's book. Even Torvalds is going to be a bit fuzzy on some areas of the Linux kernel. I'm reminded of https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ :

Back to that two page function. Yes, I know, it’s just a simple function to display a window, but it has grown little hairs and stuff on it and nobody knows why. Well, I’ll tell you why: those are bug fixes. One of them fixes that bug that Nancy had when she tried to install the thing on a computer that didn’t have Internet Explorer. Another one fixes that bug that occurs in low memory conditions. Another one fixes that bug that occurred when the file is on a floppy disk and the user yanks out the disk in the middle. That LoadLibrary call is ugly but it makes the code work on old versions of Windows 95.

Reply

liam_on_linux February 18 2021, 23:22:11 UTC
Um. Did you actually watch the talk, or at least read the script?

https://liam-on-linux.livejournal.com/77065.html

I did make a concerted effort to explain what, how, and why, and it seems you're not familiar with it.

Reply

waistcoatmark February 19 2021, 08:39:43 UTC
I did, but re-reading my comments, they're unnecessarily negative and argumentative (not to mention rambling and poorly-argued).

It's been a crappy week (and I've been drinking the C-an-its-descendants kool aid for 25 years, which probably doesn't help).

Sorry.

I will take this as the kick up the arse to finally get around to learning some form of Lisp though.

Reply

liam_on_linux March 1 2021, 23:34:32 UTC
No no, it's not that. Negativity is fine!

It's just that you were asking questions which were specifically primary points of the talk itself.

If I did a talk on plants and you asked me if I'd heard of "leaves", I'd be a bit narked... :-)

Reply


Leave a comment

Up