Question for people who vibe-code full apps, especially blind people, as I believe that covers most of my followers who do this: What would it take for you to be comfortable coding directly in a programming language without an LLM? A high-level programming language with better tutorials and quickstart templates than are currently available, particularly for writing real apps? Or do you believe that having an LLM generate the code is the only way you could practically do what you do?
@matt I took programming classes and discovered I get completely lost in the syntax. My brain isn't capable of translating conception into the actual modules and code pieces required, even if I am better than the average person at abstracting - in English - how a system behaves and selecting components that go with it. I genuinely do not believe I will ever be able to properly code.
Replying to @nick@hkc.social
@nick I'll be curious to hear what my followers who are into programming language design and psychology (I do have at least one follower in each of those fields) think of this. To me though, it sounds like we still have room for improvement in programming language design. Not that there's much funding for that, with everyone chasing AI.
@matt Programming is a syntactically wanky field.
Do we need 17 templating languages for generating HTML that only differ on the names of the function to uppercase a string and whether you type `{%` or `<%`?
No. We need the research into those 17 syntax styles to determine which is clearly better (by whatever metrics), and to then abandon the rest.
But we don't do that. We all go around learning Twig, and Jinja2, and Liquid, and whatever the heck because one engine is written in Rust so it's faster. And one is only supported by Shopify. And one was already chosen for this project and changing the templating language when fixing a typo is rude and disproportionate.
In short, I think programmers do an absolutely terrible job of separating their academic interests from practical reality. And that's fine; the two are intertwined within many industries and hobbies.
But we shouldn't be surprised when outsiders find all of this completely bananas and invest in the tool that appears to abstract it all away.
Replying to @jscholes@dragonscave.space
@matt I should also acknowledge that this tendency applies beyond syntax.
People (myself included) agonise over whether or not to use a relational database, and then which one to use, and then how to abstract it away so they can agonise about it again in the future...
... And then put 100 records in it. Who cares! You could've used a text file at that point.
Replying to @jscholes@dragonscave.space
@matt I believe this is one of the reasons why "SaaS in a box" services (like Cloudflare or Netlify) that give you hosting, API endpoints, a database, somewhere to put files, automated deployment, and so on all in one place have proven so popular.
It's not because people like Cloudflare. It's because people hate decisional fatigue and the acquisition of knowledge when it feels like it has a poor return on investment.
In some circles, the response to this shift has overwhelmingly been admonishment for encouraging vendor lock-in—even though superbly abstracted code was supposed to avoid that in the first place and everybody's writing that, right?—along with an unconvincing insistence that learning to administer a Fedora server is really really worth it. @nick
Replying to @jscholes@dragonscave.space
@jscholes I think on some level, people love making things. There's probably a reason things like game maker and unreal's blueprints are so popular. Maybe even VB6 back in the day. Drag some UI around, copy paste or type a little bit of code, and boom. You have an app or game that does things. A lot of apps are gluing existing things together into a new configuration. But even just getting started can be so daunting that it is really difficult to just experiment. Even something as simple as HTML means you have to make sure you save the file correctly, you have to know what to type, etc. vs. just opening an app or game engine which fundamentally abstracts this in a way that the friction of just messing around is removed. You can learn as you go rather than having to invest a lot of effort into something you won't know you enjoy. If you want to make art you can just take any drawing app or paper, and start doing it. I guess this analogy does break down fairly quickly but I do think that just onboarding to development can be difficult and probably scares a lot of people off. @matt @nick