I agree with gp that the speed in which I am able to execute my vision is exhilarating. It is making me love programming again. My side projects, which have been hanging on the wall for years, are actually getting done. And quickly!
The actual act of keying in code is drudgery for me. I've written so much code in so many languages that it is hard not to hate them all. Why the fuck is it a hash in ruby but a dict in python? How the hell do I get the current unixtime in this language again?!? Why the fuck do I need to learn yet another stupid vocabulary for what is essentially databinding? Who cares, let the AI handle it
I wanted a stackable desk tray shelf thing for my desk in literally any size for my clutter. Too lazy to go shopping for one, and couldn't find one on any of the maker sites, so I had claude write me an openSCAD file over lunch break then we iterated on it after-hours. By end of work next day I had three of them sitting on my desk after about 3 hours of back-and-forth the night before (along with about half a dozen tiny prototypes), and thats including the 2hr print time for each shelf.
I want a music metadata tool that is essentially TheGodfather but brought into the modern day and incorporates workflows I wish I had for my DJing and music production. And not some stupid web app, a proper desktop app with a proper windowing toolkit. I'd estimate it would take me 12-18 months to get to a beta the old way, to the exclusion of most of my other hobbies and projects, instead first Gemini then Claude and I managed to get a pretty nice alpha out in a few months over the summer while I was unemployed. There's still a lot left I want to add but it already replaced several apps in my music intake workflow. I've had a number of successful DJ gigs making use of the music that I run through this app. Funny enough the skills I learned on that project landed me a pretty great gig that lets me do essentially the same thing, at the same pace, for more pay than I've ever made in my SWE career to-date.
A bunch of features for my website, a hand-coded Rails app I wrote a few years ago, went from my TODO pile to deployment in just a couple of hours. Not to mention it handled upgrading Ruby and Rails and ported the whole deployment to docker in an afternoon, which made it easy to migrate to a $3 VPS fronted by cloudflare.
I have a ton of ideas for games and multimedia type apps that I would never be able to work on at an acceptable pace and also earn the living that lets me afford these tools in the first place. Most of those ideas are unlike any game I've ever seen or played. I'm not yet ready to start on these yet but when/if I do I expect development to proceed at a comfortably brisk pace. The possibilities for Claude + Unreal + the years and years of free assets I've collected from Epic's Unreal store are exciting! And I haven't even gotten into having AI generate game assets.
So idunno, does that count?
You didn't really describe it very much, so it's hard to say what it actually does. I'm interested in evaluating the quality of vibecoded projects people actually use.
Careful with the term 'vibe coded', that does not characterize how I work.
I'm just getting tired of hearing claims of incredible software being built with LLM-based tools, but when I ask to see them, I get nothing.
Your claim of 12-18 months for a windowed music metadata app seem weird. That seems like about a week with Dear ImGui and some file format reading libraries to me. Am I missing something?
without manual review and guidance. Coasting along purely on vibes. Hence the name. Agentic development is the middle ground where you're actively reviewing and architecting.
Dear Imgui isn't a 'proper' windowing toolkit. It's immediate-mode, it doesn't use OS affordances. Its not WinForms or GTK or QT (though to be fair QT isn't quite native but its by far the closest)
I never made any claims of 'incredible software'. I am building things that I need and want. I will give them to the world if I so choose and if they are good enough. And its not there yet.
And considering that I have almost zero domain knowledge in the area of DSP or audio analysis, that I'd only have a couple hours a day to work on it at best (energy, motivation, and other factors notwithstanding), and the amount of learning it would take to get to the point where something like that would be "about a week" is where most of that 12-18 months goes. And yes the metadata and GUI parts are easy, but the code that generates the metadata that is good enough to perform with? Across every possible container/meta/audio format? That produces quality results on both beatport downloads and 96khz vinyl rips? I'm trying to build something to consolidate my original music library (hundreds of thousands of files) with divergent sublibraries on multiple (proprietary) DJ platforms. Basically cleaning up after 20 years of fucking around without a plan. That's hard.
These are the downsides, but there are also upsides like in human languages: “wow I can express this complex idea with just these three words? I never though about that!”. Try a new programming paradigm and that opens your mind and changes your way of programming in _any_ language forever.
No. Programming is a specific act (writing code), and that act is also a means to an end. But getting to the goal does not mean you did programming. Saying "I'm good at programming" when you are just using LLMs to generate code for you is like saying "I'm good at driving" when you only ever take an Uber and don't ever drive yourself. It's complete nonsense. If you aren't programming (as the OP clearly said he isn't), then you can't be good at programming because you aren't doing it.
I don't disagree with your main thesis that an automated knitting machine can out produce hand-knit goods but I do think you're under appreciating that there still is a market for the non-automated goods. Even if they can't compete for the majority of the market markets are weird and non-uniform so those skills do still feed into a market.
But that's not programming because its a natural-language conversation?
Same as if you use an image diffusion model. You can describe very clearly what you want, and iterate carefully until you get a picture that looks good. But nobody would say that they “drew a nice picture”, since they haven’t done any drawing.
(except maybe the mega-power-users who use the tool and have a warped view of their accomplishment)
Correct. Programming is writing code. You are not writing code, therefore you are not programming. I don't understand what's so complicated about this.
These are well defined roles that existed well before AI. You don't get to redefine them just because you feel like you should get to be part of some imaginary "programmers' club" without doing the actual thing that defines the "programmer" role.
I believe gp and others just like food instead of cooking. Which is fine, but if that's the case, why go around telling everyone you're a cook?
But "I love programming now that I don't do any programming" is an utterly nonsensical statement. Please stop and reflect over what you said for a moment.
If I get a robot someday and manage it daily before I leave for work to slowly build a house, when it's done, I gotta be honest and admit I'll consider myself a home builder.
Otherwise, who is a home builder? Very few people do every single part themselves, even if they technically could.
OP defines it as getting the machine to do as he wants.
You define it as the actual act of writing the detailed instructions.
If you have an LLM generate the instructions, then the LLM is programming, you're just a "prompter" or something. Not a programmer
Programming is willing the machine to do something... Writing code is just that writing code, yes sometimes you write code to make the machine do something and other times you write code just to write code ( for example refactoring, or splitting logic from presentation etc.)
Think about it like this... Everyone can write words. But writing words does not make you a book writer.
What always gets me is that the act of writing code by itself has no real value. Programming is what solves problems and brings value. Everyone can write code, not everyone can "program"....
If it was, you wouldn't need "AI" to convert English into a real programming language before that, in turn, can be converted to machine code.
I agree with OP because the journey itself rarely helps you focus on system architecture, deliverable products and how your downstream consumers use your product. And not just product in the commercial sense, but FOSS stuff or shareware I slap together because I want to share a solution to a problem with other people.
The gambling fallacy is tiresome as someone who, at least I believe, can question the bullshit models try to do sometimes. It is very much gambling for CEOs, idea men who do not have a technical floor to question model outputs.
If LLMs were /slow/ at getting a working product together combined with my human judgement, I wouldn't use them.
So, when I encounter someone who doesn't pin value into building something that performs useful work, only the actual journey of it, regardless of usefulness of said work, I take them as seriously as an old man playing with hobby trains. Not to disparage hobby trains, because model trains are awesome, but they are hubris.
There's a significant difference between past software advancements and this one. When we previously reduced the manual work when developing software it was empowering the language we were defining our logic within so that each statement from a developer covered more conceptual ground and fewer statements were required to solve our problems. This meant that software was composed of fewer and more significant statements that individually carried more weight.
The LLM revolution has actually increased code bloat at the level humans are (probably, get to that in a moment) meant to interact with it. It is harder to comprehend code written today than code written in 2019 and that's an extremely dangerous direction to move in. To that earlier marker - it may be that we're thinking about code wrong now and that software, as we're meant to read it, exists at the prompt level. Maybe we shouldn't read or test the actual output but instead read and test the prompts used to generate that output - that'd be more in line with previous software advancements and it would present an astounding leap forward in clarity. My concern with that line of thinking is that LLMs (at least the ones we're using right now for software dev) are intentionally non-deterministic so a prompt evaluated multiple times won't resolve to the same output. If we pushed in this direction for deterministic prompt evaluation then I think we could really achieve a new safe level of programming - but that doesn't seem to be anyone's goal - and if we don't push in that direction then prompts are a way to efficiently generate large amounts of unmaintained, mysterious and untested software that won't cause problems immediately... but absolutely does cause problems in a year or two when we need to revise the logic.
I'll never understand those in a field who hate the day-to-day details of their job. You're intelligent, why not do something you actually enjoy engaging with?
Maybe now with the advancement of the field you're finally enjoying yourself, but why were you subjecting yourself to daily misery for so long in the first place? I don't get it.
>but why were you subjecting yourself to daily misery for so long in the first place? I don't get it.
It just meant it took a lot longer to build something, to get that satisfaction.
Speak for yourself. Programming is awesome. I love it so much and I hate that AI is taking a huge steaming dump on it
> So, when I encounter someone who doesn't pin value into building something that performs useful work, only the actual journey of it, regardless of usefulness of said work, I take them as seriously as an old man playing with hobby trains
Growing and building rapidly at all costs is the behavior of a cancer cell, not a human
I love model trains