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.
-
@jonathanhogg I remember using HyperCard as part of my CompSci course at Glasgow for a UI prototyping exercise in the 90’s as well as similar easy UI/db tools on other platforms, often a far better choice than reach for a spreadsheet that many people seem to do.
@darrenmoffat Holy shit! Darren?
-
@darrenmoffat Holy shit! Darren?
@darrenmoffat I mean… I was *there with you*!
-
@darrenmoffat I mean… I was *there with you*!
@jonathanhogg I thought it might be the same Jonathan! I still have some lines in my work daily .zshrc that I inherited from you when you convinced me to try zsh over tcsh !
-
@jonathanhogg completely fair, yeah!
@whitequark @jonathanhogg this discussion makes me want to learn programming
(I say that as a programmer)
-
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 repeating because this is an awesome sentence with an awesome description at the end:
> 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.
-
@darrenmoffat Holy shit! Darren?
@jonathanhogg @darrenmoffat Hey you two!
-
We seem to have largely stopped innovating on trying to lower barriers to programming in favour of creating endless new frameworks and libraries for a vanishingly small number of near-identical languages. It is the mid-2020s and people are wringing their hands over Rust as if it was some inexplicable new thing rather than a C-derivative that incorporates decades old type theory. You know what I consider to be genuinely ground-breaking programming tools? VisiCalc, HyperCard and Scratch.
@jonathanhogg I'm not familiar with the other two but Scratch is how I learnt programming so that brought back memories!
The main reason I switched to Python was that my computer time was limited and Python text was easier to jot down into my (paper) notebook than sitting around drawing Scratch blocks. Although I did a fair amount of that too 🤪
-
@jonathanhogg @darrenmoffat Hey you two!
@jamesthomson @darrenmoffat Dapper new profile pic, James!

-
@jonathanhogg Scratch is excellent. My kid's been using it. I used hypercard at his age and it was a lot fun.
Had it not been because our teacher had acquired two macs into the class, and we could spend time before and after school, I don't think it would have been as fun. It's not just the tools, but also the environment and culture.
@rojun @jonathanhogg Playing with Scratch is definitely fun, even if you're an adult with programming experience already.
-
@jonathanhogg repeating because this is an awesome sentence with an awesome description at the end:
> 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.
AI is not lowering the barrier-to-entry for programming. It is gatekeeping from seeing, acknowledging and stepping over the barrier.
-
@jamesthomson @darrenmoffat Dapper new profile pic, James!

@jonathanhogg @darrenmoffat Thought I’d join the monochrome mafia. Who else do we know on here from DCS days?
-
@jonathanhogg Consider this scenario: spend a very long time planning and designing, and then have a very fast code output, then fix any issues.
Also what about projects which can't be made in 30k lines? Doesn't automatically mean that the project is wrong just because it is big.
@warmsignull Unfortunately it seems that Fred Brooks' work is not common knowledge. He concludes that the number of bugs in a program is not linear with the length of a program but a *power function*.
So yes - brevity is a goal. And there have been studies that show that verbose languages produce more bugs. So it is in our best interest as systems engineers to research how to improve programming.
e.g. what is expressed in 30k of Java is not the same as 30k in Lisp.
(cc: @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.
-
" That people are trying to steer a tank with a speak'n'spell is because we have not made decent bikes." -- if we look at the real-world situation of your metaphor, we see that when "decent bikes" ARE finally here, the establishment begins to gatekeep and legislate against them /because/ they are too effective, at overturning the status quo - ostensibly on the grounds that they are "dangerous" when in the wrong hands.
Wondering if the analogy feeds back in the other direction too.
@wavesculptor
What are these "decent bikes" that were regulated away?(Not saying there weren't any, just that I haven't been keeping track so I likely missed them.)
-
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
On one hand, I'm inclined to agree about the barrier to entry issue - boilerplate sucks, and having more people understand programming would be great.But on the other hand, it feels like the amount of software in existence is already unmanagable, and the average quality is relatively low.
You say to move a layer up to avoid writing 10k lines, but the current way to do that results in huge dependency trees with 10s of thousands of lines of someone else's code.
1/
-
@jonathanhogg
On one hand, I'm inclined to agree about the barrier to entry issue - boilerplate sucks, and having more people understand programming would be great.But on the other hand, it feels like the amount of software in existence is already unmanagable, and the average quality is relatively low.
You say to move a layer up to avoid writing 10k lines, but the current way to do that results in huge dependency trees with 10s of thousands of lines of someone else's code.
1/
@jonathanhogg
All these dependencies have updates which introduce regressions and API breakage. And they also have vulnerabilities.IME, these things can very quickly become unmanagable - you spend more time updating dependencies than writing your own code - unless you're very picky about your dependencies.
So is more people writing more software what the society needs?
-
@jonathanhogg
On one hand, I'm inclined to agree about the barrier to entry issue - boilerplate sucks, and having more people understand programming would be great.But on the other hand, it feels like the amount of software in existence is already unmanagable, and the average quality is relatively low.
You say to move a layer up to avoid writing 10k lines, but the current way to do that results in huge dependency trees with 10s of thousands of lines of someone else's code.
1/
@wolf480pl it is the current way of moving up a layer that I object to. We should be thinking of new ways of programming and instead are stuck making new frameworks. We imagine adding more cruft will somehow make it better. Eg., Arduino and Processing imagined that you could take a language wildly unsuited to beginners and make it palatable with a library
-
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 Apart from a brief flirtation with Basic on a ZX Spectrum my first brush with the logic of coding was HyperTalk. I fell deeply in love with the possibilities that seemed to be hidden inside it.
It felt like a rabbit hole with new and unexpected surprises every time you fell down another level.
And it equipped me to earn a living for a few short years when multimedia was a thing. Lingo in Macromedia Director, anyone?
I wager that Lingo wouldn’t have existed without Hypercard.
-
@wavesculptor
What are these "decent bikes" that were regulated away?(Not saying there weren't any, just that I haven't been keeping track so I likely missed them.)
#eBikes -- [and #micromobility generally] --massive take-up, but this could be orders of magnitude more in countries such as UK if they were encouraged to diversify and not continually pushed-back-at as "dangerous toys".
-
@dasgrueneblatt I think you have misunderstood me: I think vibe coding is a horrendous problem, but it is a symptom of an industry failing. That people are trying to steer a tank with a speak'n'spell is because we have not made decent bikes.
@jonathanhogg It would be good to contextualize this issue.
Acquiring knowledge and skill, in any field or endeavor, is inevitably difficult. Those who came before, and did the difficult work, could, if they chose, and were extremely generous, make the road less painful, more traversible, if they took the time.
Don’t underestimate the effort and sacrifice involved in considering the needs of students! Pedagogy is hard work! And it is impeded by the curse of knowledge.
Our advanced technological society has a spotty track record, and a degree of ambivalence (trending towards hostility) towards the broad sharing of understanding. We make schools expensive. We mistreat educators. The best want to monopolize and hoard their knowledge, out of fear of competition.
It’s easy to pick on one or two things that could be better. But it’s a universal challenge.