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 That's the kind of talk you usually hear just before someone invents themselves a new language. Just saying.
@jarkman Heh! Most of my programming these days involves creating or using my own languages

-
@jarkman Heh! Most of my programming these days involves creating or using my own languages

@jonathanhogg
I would like to hear more about that sometime. -
@jonathanhogg
I would like to hear more about that sometime.@jarkman I can absolutely bend your ear at EMF, but conveniently I also recently gave a talk about it at Alpaca!

- YouTube
Auf YouTube findest du die angesagtesten Videos und Tracks. Auรerdem kannst du eigene Inhalte hochladen und mit Freunden oder gleich der ganzen Welt teilen.
(www.youtube.com)
-
@jonathanhogg That's the kind of talk you usually hear just before someone invents themselves a new language. Just saying.
@jarkman @jonathanhogg I get the broader point here, but at the same time, as computers have moved to encompass more and more of the human sphere, is it actually reasonable to exect any languge to be actually general purpose?
Perhaps for some uses cases it's the right choice, but when I look at data-science code written by vernacular developers (experts whose expertise is in a domain other than computer science) I feel the freedom from those languages just gives more scope for error/mistake/poor style that will bite them later). Why can't we embrace more DSLs?
-
@jarkman @jonathanhogg I get the broader point here, but at the same time, as computers have moved to encompass more and more of the human sphere, is it actually reasonable to exect any languge to be actually general purpose?
Perhaps for some uses cases it's the right choice, but when I look at data-science code written by vernacular developers (experts whose expertise is in a domain other than computer science) I feel the freedom from those languages just gives more scope for error/mistake/poor style that will bite them later). Why can't we embrace more DSLs?
-
@krig which is why we also make bikes and scooters โย convenient tools that can be used by all ages and abilities
@jonathanhogg good point! I think I see what you meant now. I miss the old visual basic and how easy it was to make tools using it without knowing any programming, really.
-
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 No, it's still difficult to program something so that it's exactly how you want it to be. It's apparently been underestimated how often that doesn't matter ("mostly working app" where getting it to working is more effort than starting from scratch), but we will see how that develops in the long run. Maybe plausible deniability is really enough for many things.
Nobody is gatekeeping clear, testable requirements and communication without misunderstandings. People usually just can't do that.
-
@jarkman @jonathanhogg I get the broader point here, but at the same time, as computers have moved to encompass more and more of the human sphere, is it actually reasonable to exect any languge to be actually general purpose?
Perhaps for some uses cases it's the right choice, but when I look at data-science code written by vernacular developers (experts whose expertise is in a domain other than computer science) I feel the freedom from those languages just gives more scope for error/mistake/poor style that will bite them later). Why can't we embrace more DSLs?
@michael @jarkman @jonathanhogg (IMO) we can't have more DSLs because everything useful is now plumbed together from a series of heterogenous parts and we've somehow decided they can only interoperate at the (barbaric) C ABI level, or the (absurdly inefficient) web level. So, we rely on general purpose languages using specialised libraries, instead of the other way around.
I think fixing this boundary/contract problem would fix a lot in s/w engineering. -
@jonathanhogg No, it's still difficult to program something so that it's exactly how you want it to be. It's apparently been underestimated how often that doesn't matter ("mostly working app" where getting it to working is more effort than starting from scratch), but we will see how that develops in the long run. Maybe plausible deniability is really enough for many things.
Nobody is gatekeeping clear, testable requirements and communication without misunderstandings. People usually just can't do that.
@dasgrueneblatt I have now spent 40 years programming commercially in dozens of different languages; I have taught programming to CS students, art students and little kids and my experience is that most programming is hard because we have made it so. I absolutely understand the frustration of people who know what their problem is, but don't feel equipped to solve it because the tools available to them are too big and confusing. Vibe coding is our own fault
-
@dasgrueneblatt I have now spent 40 years programming commercially in dozens of different languages; I have taught programming to CS students, art students and little kids and my experience is that most programming is hard because we have made it so. I absolutely understand the frustration of people who know what their problem is, but don't feel equipped to solve it because the tools available to them are too big and confusing. Vibe coding is our own fault
@jonathanhogg Well yes, but vibe coding does not solve that, or does it? People kind of know what they want, but they still cannot get it. Just something that looks like it and is really hard to debug. That's got be even more frustrating? Maybe I misunderstood you. I'm definitely not arguing that programming (what's the other one called now? the non-vibe programming. Does it have a name yet?) is easy and fun and the tools are good, oh no.
I'm honestly very surprised by the love for chat interfaces. I don't get it. But apparently that's an amazing way to for example search the web. Not keyword -> list of links, but full question -> long answer text -> follow-up question -> even more text, etc. I thought people don't like to read long texts? But apparently the key is something in the wording. Make it say "i" and "talk" to me and add emotions.
Maybe we'll get better tools out of this in the long run? Harness the power of the ball of statistics to create not the subtly wrong full app, but parts, smaller, clearly delineated building blocks of well-known, testable code that are easy to put together to create the whole thing? Okay, that's libraries, aehm, but with a different interface? Scratch/blockly but as a chat?
-
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.
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 yes, but vibe coding does not solve that, or does it? People kind of know what they want, but they still cannot get it. Just something that looks like it and is really hard to debug. That's got be even more frustrating? Maybe I misunderstood you. I'm definitely not arguing that programming (what's the other one called now? the non-vibe programming. Does it have a name yet?) is easy and fun and the tools are good, oh no.
I'm honestly very surprised by the love for chat interfaces. I don't get it. But apparently that's an amazing way to for example search the web. Not keyword -> list of links, but full question -> long answer text -> follow-up question -> even more text, etc. I thought people don't like to read long texts? But apparently the key is something in the wording. Make it say "i" and "talk" to me and add emotions.
Maybe we'll get better tools out of this in the long run? Harness the power of the ball of statistics to create not the subtly wrong full app, but parts, smaller, clearly delineated building blocks of well-known, testable code that are easy to put together to create the whole thing? Okay, that's libraries, aehm, but with a different interface? Scratch/blockly but as a chat?
@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.
-
@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 That's a great picture, thank you. Yes, vibe coding as a symptom.
I need to think about this. Thank you for starting it.
-
@jonathanhogg @michael @jarkman I once asked a very senior HPC developer at Red Hat what keeps him up at night and he said, paraphrasing and pulling from memory that's about 15 years old now, "we haven't created new computer science since the 1960s and I fear we'll exhaust what we know before we discover anything new," and I think about that a lot these days.
-
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 put
-
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.
"planet-boiling roulette wheel" is the name of my upcoming experimental jazzcore EP
-
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 you're right, but also, it's more than that - today's tooling is worse for non-experts than the stuff that used to exist
because it's designed around corporate priorities, not individual ones. it's the factory looms problem.
-
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 great.
-
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 A quarter-century ago, we were developing a new version of JProbe, and as we got close to the day we had to send the golden master to the factory to manufacture CDs, we were short a settings configuration tool.
The team were told to skip the GUI editor and work on mission-critical features. Meanwhile, the program manager spent a weekend writing the editor in HyperCard, packaged with Metacard, a tool now known as LiveCode: https://en.wikipedia.org/wiki/LiveCode_(company)
We shipped it.

-
@jonathanhogg you're right, but also, it's more than that - today's tooling is worse for non-experts than the stuff that used to exist
because it's designed around corporate priorities, not individual ones. it's the factory looms problem.
@ireneista @jonathanhogg this. It effects small businesses too. What works for a thousand or even 100 engineers doesn't work for 5.