My experience with generative-AI has been that, at its very best, it is subtly wrong in ways that only an expert in the relevant subject would recognise.
-
@whitequark yes! Rust totally makes accessible a lot of previously esoteric type theory to people who are programming at a low enough level that they probably should be using it. But even as someone who lives for this sort of shit, it’s too low level for 95% of what I want to be doing day to day
@jonathanhogg completely fair, yeah!
-
@jonathanhogg this is my central response to the "AI makes software development accessible" argument.
Once upon a time anyone could program their personal computer using a book that came with it. We taught it to all the kids in my tiny town's elementary school. My shopkeep neighbor and our local mechanic wrote their own custom software with no CS background.
BASIC, Hypercard, personal computers, printed manuals > LLM's.
@requiem @jonathanhogg I am old enough to remember the days before gcc when I wanted to learn how code everyone laughed and said first I'd need $500 for a copy of the Borland C compiler. It wasn't until linux became popular that I actually had a way to compile my C programs.
-
I will say one thing for generative AI: since these tools function by remixing/translating existing information, that vibe programming is so popular demonstrates a colossal failure on the part of our industry in not making this stuff easier. If a giant ball of statistics can mostly knock up a working app in minutes, this shows not that gen-AI is insanely clever, but that most of the work in making an app has always been stupid. We have gatekeeped programming behind vast walls of nonsense.
@jonathanhogg Creating CRUD for any database object was a solved problem in Django 20 years ago. No reason for people to pretend it was difficult all this time.
-
@saferblue.bsky.social Rust, Swift, C#, Java, C++ are all functionally equivalent languages to me. When I say “high level” I mean something like Prolog or HyperTalk, maybe Haskell
-
You know what? HyperCard was a glorious moment in time that I dearly miss: an army of non-experts were bashing together and sharing weird and wonderful stacks that were part 'zine, part adventure game and part database. Instead of laughing at vibe-coders, maybe we should ask ourselves why the current state-of-the-art in beginner-friendly programming tools is a planet-boiling roulette wheel.
@jonathanhogg Have you seen Decker? It’s a lovely homage to HyperCard: https://beyondloom.com/decker/index.html
-
You know what? HyperCard was a glorious moment in time that I dearly miss: an army of non-experts were bashing together and sharing weird and wonderful stacks that were part 'zine, part adventure game and part database. Instead of laughing at vibe-coders, maybe we should ask ourselves why the current state-of-the-art in beginner-friendly programming tools is a planet-boiling roulette wheel.
@jonathanhogg HyperCard was amazing, and I like to think that if it had still been getting the appropriate support it needed, it would have transitioned really well to the World Wide Web, with stacks being transported to an in-browser runtime plugin that could make calls to data sources on servers.
Even on various modern SaaS platforms, we are still struggling to empower internal staff to build useful stuff that HyperCard could have done so well. The newest generation of that is LLM-powered agentic tools for departments, but even those are turning out to be difficult to build quality products from.
-
@requiem @jonathanhogg I am old enough to remember the days before gcc when I wanted to learn how code everyone laughed and said first I'd need $500 for a copy of the Borland C compiler. It wasn't until linux became popular that I actually had a way to compile my C programs.
@skotchygut I'm pretty sure I still have a "backup copy" of Turbo C++ somewhere...
@jonathanhogg -
You know what? HyperCard was a glorious moment in time that I dearly miss: an army of non-experts were bashing together and sharing weird and wonderful stacks that were part 'zine, part adventure game and part database. Instead of laughing at vibe-coders, maybe we should ask ourselves why the current state-of-the-art in beginner-friendly programming tools is a planet-boiling roulette wheel.
@jonathanhogg well, things started going downhill bc of Steve Jobs:
Atkinson: [At an event at the school our kids went to], he said "you know, Hypercard was really ahead of his time, wasn't it?"
And that was the first time he'd ever said anything good about hypercard. I think before that, the problem is: Hypercard is the reason I didn't go to NeXT, and it had Scully's stink all over it. [...]
https://youtu.be/INdByDjhClU?si=Ft-fFBWBGC5tmC74&t=954That doesn't explain why the world stayed at the bottom of the hill tho.
-
To me, all these people crowing about having written 10k lines of code in a day are idiots. If you need to write that much code in a day, you are manifestly working at the wrong level of abstraction to solve your problem.
@jonathanhogg yep. And if they're working on an operating system (or any related system software, or anything that needs to stay up and running), they're committing malpractice that's going to get a lot of people killed:
https://mastodon.social/@JamesWidman/116133223470110717 -
@jonathanhogg Have you seen Decker? It’s a lovely homage to HyperCard: https://beyondloom.com/decker/index.html
@eschaton It looks cute, though curious to build such a faithful homage but ditch the most interesting thing about HyperCard – the HyperTalk language
-
@skotchygut I'm pretty sure I still have a "backup copy" of Turbo C++ somewhere...
@jonathanhogg@requiem @skotchygut believe it or not, I actually learned C on the BBC Micro in the 80s with the Beebug C compiler, which was a strange contraption that compiled to a 16-bit virtual machine code and then interpreted that on the 8-bit 6502
-
To me, all these people crowing about having written 10k lines of code in a day are idiots. If you need to write that much code in a day, you are manifestly working at the wrong level of abstraction to solve your problem.
@jonathanhogg In general I agree but the current state of everything-in-React means a 1k line change often makes sense at some level. It's horribly verbose, logically small changes make big diffs, the library ecosystem is full of half-baked projects, it's just a mess. Removing some of the friction to adding code makes it much worse, but it's not the only cause. Now, back to better dev tools, unfortunately Excel has somehow ended up being the go-to for a lot of the world. I dunno.
-
@jonathanhogg In general I agree but the current state of everything-in-React means a 1k line change often makes sense at some level. It's horribly verbose, logically small changes make big diffs, the library ecosystem is full of half-baked projects, it's just a mess. Removing some of the friction to adding code makes it much worse, but it's not the only cause. Now, back to better dev tools, unfortunately Excel has somehow ended up being the go-to for a lot of the world. I dunno.
@mirth It's truly amazing what browsers are able to do now, but unfortunately that doesn't fix that JavaScript and the entire JavaScript ecosystem is a godawful mess
-
@mirth It's truly amazing what browsers are able to do now, but unfortunately that doesn't fix that JavaScript and the entire JavaScript ecosystem is a godawful mess
@jonathanhogg Browser engines are amazing. What we have is related to why Flash was never going to work for mobile. Nothing to do with the runtime, everything to do with the target most devs built for (desktop which 15 years ago was much faster than phones). Now half of web devs have Apple M series silicon which is twice or more as fast as most of the installed base of PCs. Whatever is just tolerably fast on a dev's machine is guaranteed to suck everywhere else. Sadness ensues.
-
You know what? HyperCard was a glorious moment in time that I dearly miss: an army of non-experts were bashing together and sharing weird and wonderful stacks that were part 'zine, part adventure game and part database. Instead of laughing at vibe-coders, maybe we should ask ourselves why the current state-of-the-art in beginner-friendly programming tools is a planet-boiling roulette wheel.
@jonathanhogg because the people pushing LLMs killed Flash to make room for LLMs
-
@jonathanhogg HyperCard was great.
@StaceyCornelius @jonathanhogg is a descendants/replacement extant now?
-
I've seen lots of posts in the last couple of days about how quickly one can write lots of code with AI. I feel perplexed by this as I hate large programs. The largest thing I have written in the last decade is Flitter. It's only 30k lines and I believe very strongly that it is. Still. Too. Big. Even there, I wrote it purposely to allow the stuff I write *in* it to be very smol: mostly no more than 100 lines. That is the maximum I want to write in a day.
@jonathanhogg I've spent the last decade writing about 50k lines of C++ and it's barely comprehensible to me. Despite regular bouts of significant refactoring and deleting, as old 'new and essential' functions turn out to never be used or the one user goes away.
I did point a downloadable LLM assistant at it but got nothing usable. I was half hoping for a "sure, I'll rewrite that into Rust for you" result

-
@jonathanhogg this is my central response to the "AI makes software development accessible" argument.
Once upon a time anyone could program their personal computer using a book that came with it. We taught it to all the kids in my tiny town's elementary school. My shopkeep neighbor and our local mechanic wrote their own custom software with no CS background.
BASIC, Hypercard, personal computers, printed manuals > LLM's.
@requiem @jonathanhogg don't forget COBOL and SQL, both invented so businesspeople could dispense with overpriced programmers and just talk to the machine directly.
Turns out that programming people is much easier than programming machines, or at least that yelling at the compiler about an error message is much less useful than yelling at subordinates.
-
You know what? HyperCard was a glorious moment in time that I dearly miss: an army of non-experts were bashing together and sharing weird and wonderful stacks that were part 'zine, part adventure game and part database. Instead of laughing at vibe-coders, maybe we should ask ourselves why the current state-of-the-art in beginner-friendly programming tools is a planet-boiling roulette wheel.
@jonathanhogg hypercard was such a formative experience for me as a kid, I don’t think I would have ever gotten into programming without it
-
@fozztexx @jonathanhogg there are quite a few, Lego even have a visual programming language for their smart bricks (I think Python is officially supported, unlike not quite C for Mindstorms).
There's also a visual language for a smart RC/drone controller built by that one guy
iforce2d is the guy.But they're generally hard to to anything nontrivial with and very hard to debug. Like Excel/Calc... so easy to have subtle errors even in simple programs that it's considered inevitable.