liam_on_linux: (Default)

[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 do so, you might be amused to look through my older tech-blog posts – for example this or this.

The research project that led to these 3 FOSDEM talks started over a decade ago when I persuaded my editor that retrocomputing articles were popular & I went looking for something obscure that nobody else was writing about.

I looked at various interesting long-gone platforms or technologies – some of the fun ones were Apollo Aegis & DomainOS, SunDew/NeWS, the Three Rivers PERQ etc. – that had or did stuff nothing else did. All were either too obscure, or had little to no lasting impact or influence.

What I found, in time, were Lisp Machines. A little pointy lump in the soil, which as I kept digging turned into the entire Temple of Damanhur. (Anyone who's never heard of that should definitely look it up.) And then as I kept digging, the entire war for the workstation, between whole-dynamic-environment languages (Lisp & Smalltalk, but there are others) and the reverse, the Unix way, the easy-but-somehow-sad environment of code written in a unsafe, hacky language, compiled to binaries, and run on an OS whose raison d'être is to "keep 'em separated": to turn a computer into a pile of little isolate execution contexts, which can only pass info to one another via plain text files. An ugly, lowest-common-denominator sort of OS but which succeeded and thrived because it was small, simple, easy to implement and to port, relatively versatile, and didn't require fancy hardware.

That at one time, there were these two schools – that of the maximally capable, powerful language, running on expensive bespoke hardware but delivering astonishing abilities... versus a cheap, simple, hack of a system that everyone could clone, which ran on cheap old minicomputers, then workstations with COTS 68K chips, then on RISC chips.

(The Unix Haters Handbook was particularly instructive. Also recommended to everyone; it's informative, it's free and it's funny.)

For a while, I was a sort of Lisp zealot or evangelist – without ever having mastered it myself, mind. It breaks my brain. "The Little Lisper" is the most impenetrable computer publication I've ever tried, and failed, to read.

A lot of my friends are jaded old Unix pros, like me having gone through multiple proprietary flavours before coming to Linux. Or possibly a BSD. I won serious kudos from my first editor when I knew how to properly shutdown a Tadpole SPARCbook with:


sync
sync
sync
halt

"What I tell you three times is true!" he crowed.

Very old Unix hands remember LispMs. They've certainly met lots of Lisp evangelists. They got very tired of me banging on about it. Example – a mate of mine said on Twitter:

«
A few years ago it was lisp is the true path. Before that is was touchscreens will kill the keyboard.
»

The thing is, while going on about it, I kept digging, kept researching. There's more to life than Paul Graham essays. Yes, the old LispM fans were onto something; yes, the world lost something important when they were out-competed into extinction by Unix boxes; yes, in the right hands, it achieves undreamed-of levels of productivity and capability; yes, the famous bipolar Lisp programmer essay.

But there are other systems which people say the same sorts of things about. Not many. APL, but even APL fans recognise it has a niche. Forth, mainly for people who disdain OSes as unnecessary bloat and roll their own. Smalltalk. A handful of others. The "Languages of the Gods".

Another thing I found is people who'd bounced off Lisp. Some tried hard but didn't get it. Some learned it, maybe even implemented their own, but were unmoved by it and drifted off. A lot of people deride it – L.I.S.P. = Lotsa Insignificant Stupid Parentheses, etc. – but some of them do so with reason.

I do not know why this. It may be a cultural thing, it may be one of what forms of logic and of reasoning feel natural to different people. I had a hard time grasping algebra as a schoolchild. (Your comment about "grade school" stuff is impenetrable to me. I'm not American so I don't know what "grade school" is, I cannot parse your example, and I don't know what level it is aimed at – but I suspect it's above mine. I failed 'O' level maths and had to resit it. The single most depressing moment of my biology degree was when the lecturer for "Intro to Statistics" said he knew we were all scared, but it was fine; for science undergraduates like us, it would just be revision of our maths 'A' level. If I tried, I'd never even have got good enough exam scores to be rejected for a maths 'A' level.)

When I finally understood algebra, I "got" it and it made sense and became a useful tool, but I have only a weak handle on it. I used to know how to solve a quadratic equation but I couldn't do it now.

I never got as far as integration or differentiation. I only grasped them at all when trying to help a member of staff with her comp-studies homework. It's true: the best way to learn something is to teach it.

Edsger Dijkstra was a grumpy git, but when he said:

“It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration”

... and...

“The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.”

... I kind of know what he meant. I disagree, obviously, and I am not alone, but he did have a core point.

I think possibly that if someone learned Algol-style infix notation when they were young, and it's all they've ever known, if someone comes along and tells them that it's all wrong, to throw it away, and do it like this – or possibly (this(like(do(it)))) – instead, it is perfectly reasonable to reject it.

Recently I used the expression A <> B to someone online and they didn't understand. I was taken aback. This is BASIC syntax and was universal when I was under 35. No longer. I rephrased it as A != B and they understood immediately.

Today, C syntax is just obvious and intuitive. As Stephen Diehl said:

«
C syntax is magical programmer catnip. You sprinkle it on anything and it suddenly becomes "practical" and "readable".
»

I submit that there are some people who cannot intuitively grasp the syntaxless list syntax of Lisp. And others who can handle it fine but dislike it, just as many love Python indentation and others despise it. And others who maybe could but with vast effort and it will forever hinder them.

Comparison: I am 53 years old, I emigrated to the Czech Republic 7 years ago and I now have a family here and will probably stay. I like it here. There are good reasons people still talk about the Bohemian lifestyle.

But the language is terrifying: 4 genders, 7 cases, all nouns have 2 plurals (2-4 & >=5), a special set of future tenses for verbs of motion, & two entire sets of tenses – verb "aspects", very broadly one for things that are happening in the past/present/future but are incomplete, and one for things in the past or present that are complete.

After 6 years of study, I am an advanced beginner. I cannot read a headline.

Now, context: I speak German, poorly. I learned it in 3 days of hard work travelling thence on a bus. I speak passable French after a few years of it at school. I can get by in Spanish, Norwegian and Swedish from a few weeks each.

I am not bad at languages, and I'm definitely not intimidated by them. But learning your first Slavic language in your 40s is like climbing Everest with 2 broken legs.

No matter how hard I try, I will never be fluent. I won't live long enough.

Maybe if I started Russian at 7 instead of French, I'd be fine, but I didn't. But 400 million people speak Slavic languages and have no problems with this stuff.

I am determined. I will get to some useful level if it kills me. But I'll never be any good and I doubt I'll ever read a novel in it.

I put it to you that Lisp is the same thing. That depending on aptitude or personality or mindset or background, for some people it will be easy, for some hard, and for some either impossible or simply not worth the bother. I know many Anglophones (and other first-language speakers) who live in Czechia who just gave up on Czech. For a lot of people, it's just too hard as an adult. My first course started with 15 students and ended with 3. This is on the low side of normal; 60% of students quit in the first 3 months, after paying in full.

And when people say that "look, really, f(a,b) is the same thing as (f a,b)" or tell us that we'll just stop seeing the parentheses after a while (see slides 6 & 7 ) IT DOES NOT HELP. In fact, it's profoundly offputting.

I am regarded as a Lisp evangelist among some groups of friends. I completely buy and believe, from my research, that it probably is the most powerful programming language there's ever been.

But the barrier to entry is very, very high, and it would better serve the Lisp world to recognise and acknowledge this than to continue 6 decades of denialism.

Before this talk, I conferred with 2 very smart programmer friends of mine about the infix/prefix notation issue. ISTM that it should be possible to have a smart editor that could convert between the two, or even round-trip convert a subset of them.

This is why I proposed Dylan on top of Lisp, not just Lisp. Because Lisp frightens people and puts them off, and that is not their fault or failing. There was always meant to be an easier, more accessible form for the non-specialists. Some of my favourite attempts were CGOL and Lisp wizard David A. Moon's PLOT. If Moon thinks it's worth doing, we should listen. You might have heard of this editor he wrote? It's called "Emacs". I hear it's quite something.

liam_on_linux: (Default)
The other day, I linked to an amusing  Miggy-versus-Jackintosh page I'd found.

This led to a fairly well-mannered reignition of the old argument. (Ta for the repost, Peter!)

I though my comment might be worth a post, since I don't post here as often as I'd like...

I think the Amiga was by far the better machine, yes, in hardware and in software. In raw CPU speed the ST had an edge and in a way I admire the simplicity of the ST's design: the Amiga was expensive and stuffed with custom chips and a custom OS unlike anything else, albeit based in small part on TRIPOS. (And the OS, like the Archimedes', was a last-minute stand-in for a failed project anyway.)

The ST was a Sinclair ZX Spectrum for the 16-bit era:
* the same COTS CPU as everyone non-PC-compatible used
* a bog-standard Yamaha sound chip
* bog-standard graphics derived from inexpensive chips from the x86 side of the fence - it was somewhere between EGA and VGA, basically, at CGA scan rates to work with TV sets.
* an OS kernel derived from CP/M-68K with some of the later semi-MS-DOS-compatible bits
* a GUI that was a straight port of DR-GEM from the PC, but not the version crippled by Apple's lawsuit.
* the PC/MS-DOS floppy disk format, basically
* standard joystick ports, serial/parallel IIRC, and MIDI, which was a stroke of genius, in hindsight.

The Lorraine, later the Amiga, later the Commodore Amiga - not a CBM product at all, originally - was a design tour-de-force from a bunch of ex-Atari people.

The QL was Sinclair's too-crippled take on a cheap 68K machine.

The Mac was a dramatically-cut-down but also simplified and less-weird Lisa, and it was still vastly expensive.

And off to one side, the Archimedes: proprietary from top to toe, although the result was stunning. No acceleration anywhere, very  RISC, very stripped-down-and-simple, and as a result, as fast as feck - and quite expensive at first, albeit awesome in bang-for-buck.

Atari, having lots its chip gurus, said screw that, we can do a 68K box and we can do it faster and cheaper. It designed very little, almost nothing in-house: it was a COTS GUI on a the tweaked kernel of a COTS OS running on a COTS CPU with a COTS chipset.

And the result was a very good machine indeed for the money. No, not as fast as an Archie, but much cheaper. As fast as a Mac but about a sixth or an eighth of the price. Not as whizzy and cool as an Amiga, but cheaper and actually a very cool toy. Way more usable with a single floppy, too!

So don't diss the ST. I think it hit a sweet spot: not as constrained as the QL, not as elaborate & expensive as the Amiga, nowhere near as clever as the Archie, but simple, quick, cheap, solid, and stunning compared to the 8-bits that people were coming from.

The ST showed, for example, how past-it all the 8-bits were. I had a SAM Coupé, one of the latest and greatest 8-bit micros ever - stomped on MSX2 for spec - but the ST was a far better computer all round.

The ST may have paled next to the Miggy, but it made the Mac look very silly indeed.

And of course its media abilities stomped all over the PCs of the time, at a quarter of the price of a tricked-out PC.

As for their survival:

Well, there's no new Amiga H/W, but there is a current OS. 2 or 3 in fact.

The Acorn kit is dead but the chip and arguably elements of the chipset live on, are massively successful, and the OS - another stopgap - is still alive too.

The ST OS has been completely re-implemented as FOSS and it's alive too, just mostly on emulators.

The QL - well, that really is dead, but 2 forks of its OS are out there, one GPL, one with free source but not Free.

But the weird one in the corner, the Archimedes, that is the one that spawned an entire industry, even though the parent company withered and died.

Odd, that.

Probably the greatest British industry success story in many decades and almost nobody in Britain knows about it.

May 2025

S M T W T F S
    12 3
45678910
11121314151617
1819 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 12th, 2025 03:40 pm
Powered by Dreamwidth Studios