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.
-
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 I write 10000000 lines a minute.
I run shell script commands.
It generates millions of lines of machinecode to execute my wishes.
Amazing! -
@jonathanhogg thank you for this thread!
In the last years while the AI hype unfolded, I was lucky to get a closer view of Scratch, Snap and MIT App Inventor.
The ease of use, the speed of development and the abstraction of complex concepts into easy to use building blocks of the latter three were amazing.
Ever since AI came up my brain couldn't stop thinking that if so much code gets generated then we've been working at the wrong abstraction level all the time.
@mainec I teach block-based languages to grownups all the time and I just wish they weren’t viewed as “toys”
-
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 By design… why simplify when your ability to hire thousands of engineers means you’re safe from competition? Why simplify when your “specialist knowledge” (of overly-complex crap) fetches lucrative consulting fees. Capitalism incentivises mediocrity with high barriers of entry. The complexity is a feature, not a bug. That’s why most of the mainstream stack is useless to us for Small Tech/Small Web. And why it’s essential that we embrace simplicity in the alternatives we’re building.
-
@mainec I teach block-based languages to grownups all the time and I just wish they weren’t viewed as “toys”
@jonathanhogg though watching the team behind them tinker with these tools at FOSDEM sure made the the block based tools look like as much fun as toys. Essentially bringing the joy and ease back to technology.
-
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 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.
-
@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/