[HN Gopher] After two years of vibecoding, I'm back to writing b...
___________________________________________________________________
After two years of vibecoding, I'm back to writing by hand
Author : mobitar
Score : 764 points
Date : 2026-01-26 13:36 UTC (20 hours ago)
(HTM) web link (atmoio.substack.com)
(TXT) w3m dump (atmoio.substack.com)
| timcobb wrote:
| I'm impressed that this person has been vibecoding longer than
| vibecoding has been a thing. A real trailblazer!
| mossTechnician wrote:
| GitHub copilot was released in 2021, and Cursor was released
| around October 2023[0].
|
| [0]: https://news.ycombinator.com/item?id=37888477
| timcobb wrote:
| At the earliest, "vibecoding" was only possible with Claude
| 3.5, released July 2024 ... _maaaybe_ Claude 3, released in
| March of that year...
|
| It's worth mentioning that even today, Copilot is an
| underwhelming-to-the-point-obstructing kind of product.
| Microsoft sent salespeople and instructors to my job, all for
| naught. Copilot is a great example of how product >
| everything, and if you don't have a good product... well...
| Mashimo wrote:
| Is Claude through Github Copilot THAT much worse? I know
| there are differences, but I don't find it to be
| obstructing my vibe coding.
| timcobb wrote:
| I haven't tried it since 9-12 months ago. At the time it
| was really bad and I had a lot more success copy/pasting
| from web interfaces. Is it better now? Can you agentic
| code with it? How's the autocomplete?
| Mashimo wrote:
| Yes, I vibecoded small personal apps from start to finish
| with it. Planning mode, edit mode, mcp, tool calling, web
| searches. Can easily switch between Gemini, ChatGPT, Grok
| or Claude within the same conversation. I think multiple
| agents work, though not sure.
|
| All under one subscription.
|
| Does not support upload / reading of PDF files :(
| the_af wrote:
| > _Can you agentic code with it?_
|
| Yes, definitely. I use it mostly in Agent mode, then
| switch to Ask mode to ask it questions.
|
| > _How 's the autocomplete?_
|
| It works reasonably well, but I'm less interested in
| autocomplete.
| yourapostasy wrote:
| In the enterprise deployments of GitHub Copilot I've seen
| at my clients that authenticate over SSO (typically OIDC
| with OAuth 2.0), connecting Copilot to anything outside
| of what Microsoft has integrated means reverse
| engineering the closed authentication interface. I've yet
| to run across someone's enterprise Github Copilot where
| the management and administrators have enabled the
| integration (the sites have enabled access to Anthropic
| models within the Copilot interface, but not authorized
| the integration to Claude Code, Opencode, or similar LLM
| coding orchestration tooling with that closed
| authentication interface).
|
| While this is likely feasible, I imagine it is also an
| instant fireable offense at these sites if not already
| explicitly directed by management. Also not sure how
| Microsoft would react upon finding out (never seen the
| enterprise licensing agreement paperwork for these
| setups). Someone's account driving Claude Code via Github
| Copilot will also become a far outlier of token
| consumption by an order(s) of magnitude, making them easy
| to spot, compared to their coworkers who are limited to
| the conventional chat and code completion interfaces.
|
| If someone has gotten the enterprise Github Copilot
| integration to work with something like Claude Code
| though (simply to gain access to the models Copilot makes
| available under the enterprise agreement, in a blessed
| golden path by the enterprise), then I'd really like to
| know how that was done on both the non-technical and
| technical angles, because when I briefly looked into it
| all I saw were very thorny, time-consuming issues to
| untangle.
|
| Outside those environments, there are lots of options to
| consume Claude Code via Github Copilot like with Visual
| Studio Code extensions. So much smaller companies and
| individuals seem to be at the forefront of adoption for
| now. I'm sure this picture will improve, but the rapid
| rate of change in the field means those whose work
| environment is like those enterprise constrained ones I
| described but also who don't experiment on their own will
| be quite behind the industry leading edge by the time it
| is all sorted out in the enterprise context.
| kaydub wrote:
| Yes. Copilot sucks. Copilot is like a barely better
| intellisense/auto-complete, especially when it came out.
| It was novel and cool back then but it has been vastly
| surpassed by other tools.
| Mashimo wrote:
| > Copilot is like a barely better intellisense/auto-
| complete
|
| As I have never tried Claude Code, I can't say how much
| better it is. But Copilot is definitely more then auto-
| complete. Like I already wrote, it can do Planning mode,
| edit mode, mcp, tool calling, web searches.
| the_af wrote:
| Yeah, same. I have never tried Claude Code but use Claude
| through the Copilot plugin, and it's NOT auto-complete.
| It can analyze and refactor code, write new code, etc.
| kaydub wrote:
| I just feel like using Copilot would be like early car
| designers trying to steer their new car with reins.
| Mashimo wrote:
| Have you used it recently?
|
| Or any specific that caused this feeling
| vincentkriek wrote:
| Github copilot used to only be in line completion. That is
| not vibe coding.
| the_af wrote:
| I wasn't an early adopter of Copilot, but now the VSCode
| plugin can use Claude models in Agent mode. I've had
| success with this.
|
| I don't "vibecode" though, if I don't understand what it's
| doing I don't use it. And of course, like all LLMs,
| sometimes it goes on a useless tangent and must be reigned
| in.
| steviedotboston wrote:
| was github copilot LLM based in 2021? I thought the first
| version was something more rudimentary
| abyesilyurt wrote:
| gpt-3 afaik
| reedf1 wrote:
| Early cursor was just integrated chat and code completion. No
| agents.
| rpigab wrote:
| It seems the term has been introduced by Andrej Karpathy in
| February 2025, so yes, but very often, people say "vibe coding"
| when they mean "heavily (or totally) LLM-assisted coding",
| which is not synonymous, but sounds better to them.
| naikrovek wrote:
| two years of vibecoding experience _already_?
|
| his points about why he stopped using AI: these are the things us
| reluctant AI adopters have been saying since this all started.
| SiempreViernes wrote:
| The practice is older than the name, which is usually the way:
| first you start doing something frequently enough you need to
| name it, then you come up with the name.
| mettamage wrote:
| > In retrospect, it made sense. Agents write units of changes
| that look good in isolation. They are consistent with themselves
| and your prompt. But respect for the whole, there is not. Respect
| for structural integrity there is not. Respect even for
| neighboring patterns there was not.
|
| Well yea, but you can guard against this in several ways. My way
| is to understand my own codebase and look at the output of the
| LLM.
|
| LLMs allow me to write code faster and it also gives a lot of
| discoverability of programming concepts I didn't know much about.
| For example, it plugged in a lot of Tailwind CSS, which I've
| never used before. With that said, it does not absolve me from
| not knowing my own codebase, unless I'm (temporarily) fine with
| my codebase being fractured conceptually in wonky ways.
|
| I think vibecoding is amazing for creating quick high fidelity
| prototypes for a green field project. You create it, you vibe
| code it all the way until your app is just how you want it to
| feel. Then you refactor it and scale it.
|
| I'm currently looking at 4009 lines of JS/JSX combined. I'm still
| vibecoding my prototype. I recently looked at the codebase and
| saw some ready made improvements so I did them. But I think I'll
| start to need to actually engineer anything once I reach the 10K
| line mark.
| acedTrex wrote:
| > My way is to understand my own codebase and look at the
| output of the LLM.
|
| Then you are not vibe coding. The core, almost exclusive
| requirement for "vibe coding" is that you DON'T look at the
| code. Only the product outcome.
| mettamage wrote:
| I know what you mean but to look _that_ black and white at it
| seems dismissive of the spectrum that 's actually there
| (between vibecoding and software engineering). Looking at the
| whole spectrum is, I find, much more interesting.
|
| Normally I'd know 100% of my codebase, now I understand 5% of
| it truly. The other 95% I'd need to read it more carefully
| before I daresay I understand it.
| embedding-shape wrote:
| Call it "AI programming" or "AI pairing" or "Pair
| programming with AI" or whatever else, "vibe coding" was
| "coined" with the explicit meaning of "I'm going by the
| vibes, I don't even look at the code". If "vibe coding"
| suddenly mean "LLM was involved somehow", then what is the
| "vibe" even for anymore?
|
| I agree there is a spectrum, and all the way to the left
| you have "vibe coding" and all the way to the right you
| have "manual programming without AI", of course it's fine
| to be somewhere in the middle, but you're not doing "vibe
| coding" in the way Karpathy first meant it.
| simonw wrote:
| I don't think the OP was using the classic definition of vibe
| coding, it seemed to me they were using the looser definition
| where vibe coding means "using AI to write code".
| acedTrex wrote:
| The blog appears to imply that the author only opened the
| codebase after a significant period of time.
|
| > It's not until I opened up the full codebase and read its
| latest state cover to cover that I began to see what we
| theorized and hoped was only a diminishing artifact of
| earlier models: slop.
|
| This is true vibe coding, they exclusively interacted with
| the project through the LLM, and only looked at its
| proposed diffs in a vacuum.
|
| If they had been monitoring the code in aggregate the
| entire time they likely would have seen this duplicative
| property immediately.
| simonw wrote:
| The paragraph before the one you quoted there reads:
|
| > What's worse is code that agents write looks plausible
| and impressive while it's being written and presented to
| you. It even looks good in pull requests (as both you and
| the agent are well trained in what a "good" pull request
| looks like).
|
| Which made me think that they were indeed reading at
| least some of the code - classic vibe coding doesn't
| involve pull requests! - but weren't paying attention to
| the bigger picture / architecture until later on.
| Pearse wrote:
| I think this is my main confusion around vibe coding.
|
| Is it a skill for the layman?
|
| Or does it only work if you have the understanding you would
| need to manage a team of junior devs to build a project.
|
| I feel like we need a different term for those two things.
| embedding-shape wrote:
| "Vibe coding" isn't a "skill", is a meme or a experiment,
| something you do for fun, not for writing serious code
| where you have a stake in the results.
|
| Programming together with AI however, is a skill, mostly
| based on how well you can communicate (with machines or
| other humans) and how well your high-level software
| engineering skills are. You need to learn what it can and
| cannot do, before you can be effective with it.
| simonw wrote:
| I use "vibe coding" for when you prompt without even
| looking at the code - increasingly that means non-
| programmers are building code for themselves with zero
| understanding of how it actually works.
|
| I call the act of using AI to help write code that you
| review, or managing a team of coding agents "AI-assisted
| programming", but that's not a snappy name at all. I've
| also skirted around the idea of calling it "vibe
| engineering" but I can't quite bring myself to commit to
| that: https://simonwillison.net/2025/Oct/7/vibe-
| engineering/
| peacebeard wrote:
| This seems to be a major source of confusion in these
| conversations. People do not seem to agree on the definition
| of vibe coding. A lot of debates seem to be between people
| who are using the term because it sounds cool and people who
| have defined it specifically to only include irresponsible
| tool use, then they get into a debate about if the person was
| being irresponsible or not. It's not useful to have that
| debate based on the label rather than the particulars.
| mettamage wrote:
| That's a fair point.
| aeonik wrote:
| The original use of the word "vibe code" was very clear.
|
| You don't even look at the diffs. You just yolo the code.
|
| https://x.com/i/status/1886192184808149383
| kaydub wrote:
| I don't know anybody except the bleeding edge people (Steve
| Yegge) or non-engineers that are actually "vibe coding" to
| this definition.
| wvenable wrote:
| That is the correct definition of vibe coding "fully giv[ing]
| in to the vibes, embrac[ing] exponentials, and forget[ting]
| that the code even exists."
|
| I think we need another term for using an LLM to write code
| but absolutely not forgetting the code exists.
|
| I often use LLMs to do refactoring and, by definition,
| refactoring cannot be vibe-coding because that's caring about
| the code.
| hxugufjfjf wrote:
| Agent-assisted coding (AAC) is what I call it. Everyone
| else around me just calls it vibe-coding. I think this is
| going to be like "cyber" that we tried to refuse for so
| long.
| wvenable wrote:
| Vibe-coding is a more marketable term. Agent-assisted
| coding doesn't have the same ring to it. Maybe "Agentive
| Coding". ChatGPT wasn't much help coming up with
| alternative here.
| walthamstow wrote:
| > I think we need another term for using an LLM to write
| code but absolutely not forgetting the code exists.
|
| That is now what software engineering is.
| recursivedoubts wrote:
| AI is incredibly dangerous because it _can_ do the simple things
| very well, which prevents new programmers from learning the
| simple things ( "Oh, I'll just have AI generate it") which then
| prevents them from learning the middlin' and harder and meta
| things at a visceral level.
|
| I'm a CS teacher, so this is where I see a huge danger right now
| and I'm explicit with my students about it: you HAVE to write the
| code. You CAN'T let the machines write the code. Yes, they can
| write the code: you are a student, the code isn't hard yet. But
| you HAVE to write the code.
| Quothling wrote:
| I'm an external examiner for CS students in Denmark and I
| disagree with you. What we need in the industry is software
| engineers who can think for themselves, can interact with the
| business and understand it's needs, and, they need to know how
| computers work. What we get are mass produced coders who have
| been taught some outdated way of designing and building
| software that we need to hammer out of them. I don't
| particularily care if people can write code like they work at
| the assembly line. I care that they can identify bottlenecks
| and solve them. That they can deliver business value quickly.
| That they will know when to do abstractions (which is almost
| never). Hell, I'd even like developers who will know when the
| code quality doesn't matter because shitty code will cost $2 a
| year but every hour they spend on it is $100-200.
|
| Your curriculum may be different than it is around here, but
| here it's frankly the same stuff I was taught 30 years ago.
| Except most of the actual computer science parts are gone,
| replaced with even more OOP, design pattern bullshit.
|
| That being said. I have no idea how you'd actually go about
| teaching students CS these days, considering a lot of them will
| probably use ChatGPT or Claude regardless of what you do. That
| is what I see in the statistic for grades around here. For the
| first 9 years I was a well calibrated grader, but these past
| 1,5ish years it's usually either top marks or bottom marks with
| nothing in between. Which puts me outside where I should be,
| but it matches the statistical calibration for everyone here. I
| obviously only see the product of CS educations, but even
| though I'm old, I can imagine how many corners I would have cut
| myself if I had LLM's available back then. Not to mention all
| the distractions the internet has brought.
| halfmatthalfcat wrote:
| Let them use AI and then fall on their faces during exam time
| - simple as that. If you can't recall the theory, paradigm,
| methodology, whatever by memory then you have not "mastered"
| the content and thus, should fail the class.
| candiddevmike wrote:
| > I'm an external examiner for CS students
|
| > Hell, I'd even like developers who will know when the code
| quality doesn't matter because shitty code will cost $2 a
| year but every hour they spend on it is $100-200.
|
| > Except most of the actual computer science parts are gone,
| replaced with even more OOP, design pattern bullshit.
|
| Maybe you should consider a different career, you sound
| pretty burnt out. There are terrible takes, especially for
| someone who is supposed to be fostering the next generation
| of developers.
| pitched wrote:
| It can take some people a few years to get over OOP, in the
| same way that some kids still believe in Santa a bit
| longer. Keep at it though and you'll make it there
| eventually too.
| Quothling wrote:
| I don't foster the next generations. I hire them. External
| examiners are people in the industry who are used as
| examiners to try and match educations with the needs of the
| industry.
| lucianbr wrote:
| > I don't particularily care if people can write code like
| they work at the assembly line. I care [...] That they can
| deliver business value quickly.
|
| In my experience, people who talk about business value expect
| people to code like they work at the assembly line. Churn out
| features, no disturbances, no worrying about code quality,
| abstractions, bla bla.
|
| To me, your comment reads contradictory. You want initiative,
| and you also don't want initiative. I presume you want it
| when it's good and don't want it when it's bad, and if
| possible the people should be clairvoyant and see the future
| so they can tell which is which.
| pitched wrote:
| I think we very often confuse engineers with scientists in
| this field. Think of the old joke: "anyone can build a
| bridge, it takes an Engineer to build one that barely
| stands". Business value and the goal of engineering is to
| make a bridge that is fast to build, cheap to make, and
| stays standing exactly as long as it needs to. This is very
| different from the goals of science which are to test the
| absolute limits of known performance.
|
| What I read from GP is that they're looking for engineering
| innovation, not new science. I don't see it as
| contradictory at all.
| stackedinserter wrote:
| > people who talk about business value expect people to
| code like they work at the assembly line. Churn out
| features, no disturbances, no worrying about code quality,
| abstractions, bla bla.
|
| That's typical misconception that "I'm an artist, let me
| rewrite in Rust" people often have. Code quality has a
| direct money equivalent, you just need to be able to
| justify it for people that pay you salary.
| vidarh wrote:
| You should worry about code quality, but you should also
| worry about the return on investment.
|
| That includes understanding risk management and knowing
| what the risks and costs are of failures vs. the costs of
| delivering higher quality.
|
| Engineering is about making the right tradeoffs given the
| constraints set, not about building the best possible
| product separate from the constraints.
|
| Sometimes those constraints requires extreme quality,
| because it includes things like "this should never, ever
| fail", but most of the time it does not.
| Quothling wrote:
| Some of our code is of high quality. Other can be of any
| quality as it'll never need to be altered in it's
| lifecycle. If we have 20000 financial reports which needs
| to be uploaded once, and then it'll never happen again, it
| really doesn't matter how terrible the code is as long as
| it only uses vetted external dependencies. The only reason
| you'd even use developer time on that task is because it's
| less errorprone than having student interns do it
| manually... I mean, I wish I could tell you it was to save
| them from a terrible task, but it'll solely be because of
| money.
|
| If it's firmware for a solar inverter in Poland, then
| quality matters.
| aunty_helen wrote:
| > You want initiative, and you also don't want initiative.
| I presume you want it when it's good and don't want it when
| it's bad, and if possible the people should be clairvoyant
| and see the future so they can tell which is which.
|
| The word you're looking for is skill. He wants devs to be
| skilled. I wouldn't thought that to be controversial but hn
| never ceases to amaze
| SoftTalker wrote:
| What is an "external examiner?"
| halfmatthalfcat wrote:
| A proctor?
| Quothling wrote:
| External examiners are people in the industry who are used
| as examiners to try and match educations with the needs of
| the industry.
| ativzzz wrote:
| > That they will know when to do abstractions
|
| The only way to learn when abstractions are needed is to
| write code, hit a dead end, then try and abstract it. Over
| and over. With time, you will be able to start seeing these
| before you write code.
|
| AI does not do abstractions well. From my experience, it
| completely fails to abstract anything unless you tell it to.
| Even when similar abstractions are already present. If you
| never learn when an abstraction is needed, how can you guide
| an AI to do the same well?
| bambax wrote:
| > _That being said. I have no idea how you 'd actually go
| about teaching students CS these days, considering a lot of
| them will probably use ChatGPT or Claude regardless of what
| you do._
|
| My son is in a CS school in France. They have finals with pen
| and paper, with no computer whatsoever during the exam; if
| they can't do that they fail. And these aren't multiple
| choice questions, but actual code that they have to write.
| vidarh wrote:
| I had to do that too, in Norway. Writing C++ code with pen
| and paper and being told even trivial syntax errors like
| missing semicolons would be penalised was not fun.
|
| This was 30 years ago, though - no idea what it is like
| now. It didn't feel very meaningful even then.
|
| But there's a vast chasm between that and letting people
| use AI in an exam setting. Some middle ground would be
| nice.
| WalterBright wrote:
| I wrote code in a spiral notebook because the mainframe was
| not available to me at home.
| nosianu wrote:
| (U880 - GDR Z80 8 bit CPU clone)
|
| I wrote assembler on pages of paper. Then I used tables,
| and a calculator for the two's-complement relative
| negative jumps, to manually translate it into hex code.
| Then I had software to type in such hex dumps and save
| them to audio cassette, from which I could then load them
| for execution.
|
| I did not have an assembler for my computer. I had a
| disassembler though- manually typed it in from a computer
| magazine hex dump, and saved it on an audio cassette.
| With the disassembler I could check if I had translated
| everything correctly into hex, including the relative
| jumps.
|
| The planning required to write programs on sheets of
| paper was very helpful. I felt I got a lot dumber once I
| had a PC and actual programmer software (e.g. Borland
| C++). I found I was sitting in front of an empty code
| file without a plan more often than not, and wrote code
| moment to moment, immediately compiling and test running.
|
| The AI coding may actually not be so bad if it encourages
| people to start with high-level planning instead of
| jumping into the IDE right away.
| lucianbr wrote:
| Real programmers just use a magnetized needle to flip
| bits on the HDD platter.
| nosianu wrote:
| Now if only you had read to the end of my comment, to
| recognize that I was setting up for something, and also
| applied not just one but several HN guidelines
| (https://news.ycombinator.com/newsguidelines.html, under
| "comments")...
| kaydub wrote:
| Ah, see, you're outside of the US.
|
| In the US education has been bastardized into "job training"
|
| Good workers don't really need to think in this paradigm.
| orev wrote:
| It's like weightlifting: sure you can use a forklift to do it,
| but if the goal is to build up your own strength, using the
| forklift isn't going to get you there.
|
| This is the ultimate problem with AI in academia. We all
| inherently know that "no pain no gain" is true for physical
| tasks, but the same is true for learning. Struggling through
| the new concepts is essentially the point of it, not just the
| end result.
|
| Of course this becomes a different thing outside of learning,
| where delivering results is more important in a workplace
| context. But even then you still need someone who does the high
| level thinking.
| arghwhat wrote:
| I do appreciate the visual of driving a forklift into the
| gym.
|
| The activity would train _something_ , but it sure wouldn't
| be your ability to lift.
| Lerc wrote:
| A version of this does happen with regard to fitness.
|
| There are enthusiasts who will spend an absolute fortune to
| get a bike that is few grams lighter and then use it to
| ride up hills for the exercise.
|
| Presumably a much cheaper bike would mean you could use a
| smaller hill for the same effect.
| arghwhat wrote:
| From an exercise standpoint, sure, but with sports there
| is more to it than just maximizing exercise.
|
| If you practice judo you're definitely exercising but the
| goal is defeating your opponent. When biking or running
| you're definitely exercising but the goal is going faster
| or further.
|
| From an an exercise optimization perspective you should
| be sitting on a spinner with a customized profile, or
| maybe do some entirely different motion.
|
| If sitting on a carbon fiber bike, shaving off half a
| second off your multi-hour time, is what brings you joy
| and motivation then I say screw it to further
| justification. You do you. Just be mindful of others, as
| the path you ride isn't your property.
| frankc wrote:
| I think this is a pretty solid analogy but I look at the
| metaphor this way - people used to get strong naturally
| because they had to do physical labor. Because we invented
| things like the forklift we had to invent things like
| weightlifting to get strong instead. You can still get
| strong, you just need to be more deliberate about it. It
| doesn't mean shouldn't also use a forklift, which is its own
| distinct skill you also need to learn.
|
| It's not a perfect analogy though because in this case it's
| more like automated driving - you should still learn to drive
| because the autodriver isn't perfect and you need to be ready
| to take the wheel, but that means deliberate, separate
| practice at learning to drive.
| thesz wrote:
| Weightlifting and weight training was invented long before
| forklifts. Even levers were not properly understood back
| then.
|
| My favorite historic example of typical modern hypertrophy-
| specific training is the training of Milo of Croton [1]. By
| legend, his father gifted him with the calf and asked daily
| "what is your calf, how does it do? bring it here to look
| at him" which Milo did. As calf's weight grew, so did
| Milo's strength.
|
| This is application of external resistance (calf) and
| progressive overload (growing calf) principles at work.
|
| [1] https://en.wikipedia.org/wiki/Milo_of_Croton
|
| Milo lived before Archimedes.
| aaronbrethorst wrote:
| Dad needs to respect that we need rest days.
| thesz wrote:
| Bulgarian Method does not have rest days:
| https://www.mashelite.com/the-bulgarian-method-is-worth-
| a-lo...
|
| Alexander Zass (Iron Samson) also trained each day:
| https://en.wikipedia.org/wiki/Alexander_Zass
|
| "He was taken as a prisoner of war four times, but
| managed to escape each time. As a prisoner, he pushed and
| pulled his cell bars as part of strength training, which
| was cited as an example of the effectiveness of
| isometrics. At least one of his escapes involved him
| 'breaking chains and bending bars'."
|
| Rest days are overrated. ;)
| hxugufjfjf wrote:
| They are until you get injured, burned out or both and
| stop training all together.
| thesz wrote:
| If you do a single set of half of exercises you need to
| train each day of the week, rotating these halves, you
| get 3 and a half sets of each exercise per week.
|
| Training volume of Bulgarian Method is not much bigger
| than that of regular training splits like Sheiko or
| something like that, if bigger at all. What is more
| frequent is the stimulation of muscles and nervous system
| paths and BM adapts to that - one does high percentage of
| one's _current max_ , essentially, one is training with
| what is available to one's body at the time.
|
| Also, ultra long distance runners regenerate cartilages:
| https://ryortho.com/2015/12/what-ultra-long-distance-
| runners...
|
| Our bodies are amazing.
| chairmansteve wrote:
| Milo might have had slaves, the forklifts of his time....
| epiccoleman wrote:
| > what is your calf, how does it do?
|
| ... it's a _calf_ , dad, just like yesterday
| gadflyinyoureye wrote:
| I looked up the weight of cows from that era. Only about
| 400 lbs. Seems doable.
| WorldMaker wrote:
| > people used to get strong naturally because they had to
| do physical labor
|
| I think that's a bit of a myth. The Greeks and Romans had
| weightlifting and boxing gyms, but no forklifts. Many of
| the most renowned Romans in the original form of the
| Olympics and in Boxing were Roman Senators with the wealth
| and free time to lift weights and box and wrestle. One of
| the things that we know about the famous philosopher Plato
| was that Plato was essentially a nickname from wrestling
| (meaning "Broad") as a first career (somewhat like Dwayne
| "The Rock" Johnson, which adds a fun twist to reading
| Socratic Dialogs or thinking about relationships as
| "platonic").
|
| Arguably the "meritocratic ideal" of the Gladiator arena
| was that even "blue collar" Romans could compete and maybe
| survive. But even the stories that survive of that, few
| did.
|
| There may be a lesson in that myth, too, that the people
| that succeed in some sports often aren't the people doing
| physical labor because they must do physical labor (for a
| job), they are the ones intentionally practicing it in the
| ways to do well in sports.
| port11 wrote:
| I can't attest to the entire past, but my ancestors on
| both sides were farmers or construction workers. They
| were fit. Heck, my dad has a beer gut at 65 but still has
| arm muscles that'll put me to shame -- someone lifting
| weights once a week. I've had to do construction for a
| summer and everyone there was in good shape.
|
| They don't go to the gym, they don't have the energy; the
| job shapes you. More or less the same for the farmers in
| the family.
|
| Perhaps this was less so in the industrial era because of
| poor nutrition (source: Bill Bryson, hopefully well
| researched). Hunter gatherer cultures that we still study
| today have tremendous fitness (Daniel Lieberman).
| hn_acc1 wrote:
| My dad was a machinist, apprenticed in Germany after WW2.
| Always somewhat overweight (5'9", 225 lbs during his
| "peak" years), but he could lift guys up by their belt
| with one arm, and pick up and move 200+ lb metal billets
| when he got too impatient to wheel the crane over. Even
| at 85 now, he's probably stronger in his arms than most
| 60 year olds. But I'm also not saying ALL of his co-
| workers were that strong, either.
| foobarchu wrote:
| Takes mass to move mass. Most of the strongest people in
| the world look "fat" and usually have a hefty gut. Strong
| and jacked are orthogonal characteristics.
| jedwards1211 wrote:
| I know what you mean, but from a physics perspective, no,
| it just takes force to move mass. More mass will generate
| more downward force due to gravity, and more force in
| other directions due to momentum once it's moving, but
| there's more to generating force than just mass. I'm not
| a kinesiologist but I would think how much force muscles
| generate depends on the amount and size of the fibers
| (mass) but also on their contractive efficiency and the
| amount of energy they can obtain and employ to contract
| (not necessarily proportional to mass, involves
| cardiovascular fitness)
| concats wrote:
| Food is anabolic. It's significantly easier to build
| muscle if you're willing to also put on fat.
| thaumasiotes wrote:
| > I think that's a bit of a myth.
|
| Why do you think that? It's definitely true. You can
| observe it today if you want to visit a country where
| peasants are still common.
|
| From Bret Devereaux's recent series on Greek hoplites:
|
| > Now traditionally, the zeugitai were regarded as the
| 'hoplite class' and that is sometimes supposed to be the
| source of their name
|
| > but what van Wees is working out is that although the
| zeugitai are supposed to be the core of the citizen
| polity (the thetes have limited political participation)
| there simply cannot be that many of them because the
| _minimum_ farm necessary to produce 200 medimnoi of grain
| is going to be around 7.5 ha or roughly 18 acres which is
| - by peasant standards - an _enormous_ farm, well into
| 'rich peasant' territory.
|
| > Of course with such large farms there can't be all that
| many zeugitai and indeed there don't seem to have been.
| In van Wees' model, the zeugitai-and-up classes never
| supply even half of the number of hoplites we see Athens
| deploy
|
| > Instead, under most conditions the majority of hoplites
| are thetes, pulled from the wealthiest stratum of that
| class (van Wees figures these fellows probably have farms
| in the range of ~3 ha or so, so c. 7.5 acres). Those
| thetes make up the majority of hoplites on the field but
| do not enjoy the political privileges of the 'hoplite
| class.'
|
| > And pushing against the 'polis-of-rentier-elites'
| model, we often also find Greek sources remarking that
| these fellows, "wiry and sunburnt" (Plato _Republic_
| 556cd, trans. van Wees), make the best soldiers because
| they're more physically fit and more inured to hardship -
| because unlike the wealthy hoplites they _actually have
| to work_.
|
| ( https://acoup.blog/2026/01/09/collections-hoplite-wars-
| part-... )
|
| ---
|
| > Many of the most renowned Romans in the original form
| of the Olympics and in Boxing were Roman Senators
|
| In the original form of the Olympics, a Roman senator
| would have been ineligible to compete, since the Olympics
| was open only to Greeks.
| Terr_ wrote:
| Reaper Man, by Terry Pratchett:
|
| > The ability of skinny old ladies to carry huge loads is
| phenomenal. Studies have shown that an ant can carry one
| hundred times its own weight, but there is no known limit
| to the lifting power of the average tiny eighty-year-old
| Spanish peasant grandmother.
| tracerbulletx wrote:
| I think he was saying upper classes that didn't do much
| physical labor have existed since at least classical era
| and needed to do some kind of physical training to
| maintain strength?
| spondyl wrote:
| > The Greeks and Romans had weightlifting and boxing
| gyms, but no forklifts.
|
| We may not have any evidence that they had forklifts but
| we also can't rule out the possibility entirely :)
| hn_throwaway_99 wrote:
| The fact that Greeks and Romans had weightlifting and
| boxing gyms for their athletes in no way makes it a "bit
| of a myth" that people used to get strong naturally by
| doing physical labor. For example, average grip strength
| of people under age 30 in the US has declined markedly
| just since 1985.
| hennell wrote:
| >if the goal is to build up your own strength I think you
| missed this line. If the goal is just to move weights or
| lift the most - forklift away. If you want to learn to use
| a forklift, drive on and best of luck. But if you're trying
| to get _stronger_ the forklift will not help that goal.
|
| Like many educational tests the outcome is not the point -
| doing the work to get there is. If you're asked to code
| fizz buzz it's not because the teacher needs you to solve
| fizz buzz for them, it's because you will learn things
| while you make it. Ai, copying stack overflow, using
| someone's code from last year, it all solves the problem
| while missing the purpose of the exercise. You're not
| learning - and presumably that is your goal.
| SecretDreams wrote:
| > people used to get strong naturally because they had to
| do physical labor.
|
| People used to get strong because they had to survive. They
| stopped needing strength to survive, so it became optional.
|
| So what does this mean about intelligence? Do we no longer
| need it to survive so it's optional? Yes/No informs on how
| much young and developing minds should be exposed to AI.
| bryan2 wrote:
| You don't need to be strong to operate a forklift but you
| definitely need to be able to write the simple code to be a
| SWE.
| jrm4 wrote:
| I like this analogy along with the idea that "it's not an
| autonomous robot, it's a mech suit."
|
| Here's the thing -- I don't care about "getting stronger." I
| want to make things, and now I can make bigger things WAY
| faster because I have a mech suit.
|
| edit: and to stretch the analogy, I don't believe much is
| lost "intellectually" by my use of a mech suit, as long as I
| observe carefully. Me doing things by hand is probably
| overrated.
| quinnjh wrote:
| This analogy works pretty well. Too much time doing
| everything in it and your muscles will atrophy. Some edge
| cases will be better if you jump out and use your hands.
| WorldMaker wrote:
| There's also plenty of mech tales where the mech pilots
| need to spend as much time out of the suits making sure
| their muscles (and/or mental health) are in good strength
| precisely because the mechs are a "force multiplier" and
| are only as strong as their pilot. That's a somewhat
| common thread in such worlds.
| ekidd wrote:
| Yes. Also, it's a fairly common trope that if you want to
| pilot a mech suit, you need to be someone like Tony
| Stark. He's a tinkerer and an expert. What he does is not
| a commodity. And when he loses his suit and access to his
| money? His big plot arc is that _he_ is Iron Man. He
| built it in a cave out of a box of scraps, etc.
|
| There are other fictional variants: the giant mech with
| the enormous support team, or Heinlein's "mobile
| infantry." And virtually every variantion on the Heinlein
| trope has a scene of drop commandos doing extensive pre-
| drop checks on their armor.
|
| The actual reality is it isn't too had for a competent
| engineer to pair with Claude Code, if they're willing to
| read the diffs. But if you try to increase the ratio of
| agents to humans, dealing with their current limitations
| quickly starts to feel like you need to be Tony Stark.
| bitwize wrote:
| You don't need to be Tony Stark. But, "if you're nothing
| without the suit then you don't deserve it."
| hedgedoops2 wrote:
| For me the idea of "people piloting mech suits" brings up
| lost kids, like Shinji from nge.
| bitwize wrote:
| Funny, because I was thinking of _Evangelion_ 's
| predecessor, _Gunbuster_ , in which cadets are shown
| undergoing grueling physical training both in and out of
| their mechs to prepare for space combat.
| specproc wrote:
| I like the electric bike as a metaphor. You can go
| further faster, but you quickly find yourself miles from
| home and out of juice, and you ain't in shape enough to
| get that heavy bugger back.
| fragmede wrote:
| As long as we're beating the metaphor... so don't do
| that? Make sure you charge the battery and that it has
| enough range to get you home, and bring the charger with
| you. Or in the LLMs case, make sure it's not generating a
| ball of mud (code). Refactor _often_ , into discrete
| classes, and distinct areas of functionality, so that
| you're never miles from home and out of juice.
| SpaceNoodled wrote:
| At that rate, I would already be there if I had just
| walked.
| PKop wrote:
| > I want to make things
|
| You need to be strong to do so. Things of any quality or
| value at least.
| orev wrote:
| The point of going to school is to learn all the details of
| what goes into making things, so when you actually make a
| thing, you understand how it's supposed to come together,
| including important details like correct design that can
| support the goal, etc. That's the "getting stronger" part
| that you can't skip if you expect to be successful. Only
| after you've done the work and understand the details can
| you be successful using the power tools to make things.
| charcircuit wrote:
| The point of school for me was to get a degree. 99% of
| the time at school was useless. The internet was a much
| better learning resources. Even more so now that AI
| exists.
| josephg wrote:
| I graduated about 15 years ago. In that time, I've formed
| the opposite opinion. My degree - the piece of paper -
| has been mostly useless. But the ways of thinking I
| learned at university have been invaluable. That and the
| friends I made along the way.
|
| I've worked with plenty of self taught programmers over
| the years. Lots of smart people. But there's always blind
| spots in how they approach problems. Many fixate on tools
| and approaches without really seeing how those tools fit
| into a wider ecosystem. Some just have no idea how to
| make software reliable.
|
| I'm sure this stuff can be learned. But there is a
| certain kind of deep, slow understanding you just don't
| get from watching back-to-back 15 minute YouTube videos
| on a topic.
| abustamam wrote:
| I think it depends on how they were self taught. If they
| just went through a few tutorials on YouTube and learned
| how to make a CRUD app using the shiny tool of the week,
| then sure. (I acknowledge this is a reduction in self-
| teaching -- I myself am self-taught).
|
| But if they actually spent time trying to learn
| architecture and how to build stuff well, either by
| reading books or via good mentorship on the job, then
| they can often be better than the folks who went to
| school. Sometimes even they don't know how to make
| software reliable.
|
| I'm firmly in the middle. Out of the 6 engineers I work
| with on a daily basis (including my CTO), only one of us
| has a degree in CS, and he's not the one in an
| architecture role.
|
| I do agree that learning how to think and learn is its
| own valuable skill set, and many folks learn how to do
| that in different ways.
| leptons wrote:
| >I've worked with plenty of self taught programmers over
| the years. Lots of smart people. But there's always blind
| spots in how they approach problems.
|
| I've worked with PhDs on projects (I'm self-taught), and
| those guys absolutely have blind spots in how they
| approach problems, plenty of them. Everyone does. What we
| produce together is better because our blind spots don't
| typically overlap. I know their weaknesses, and they know
| mine. I've also worked with college grads that overthink
| everything to the point they made an over-abstracted
| mess. YMMV.
|
| >you just don't get from watching back-to-back 15 minute
| YouTube videos on a topic.
|
| This is not "self taught". I mean maybe it's one kind of
| modern-ish concept of "self taught" in an internet
| comment forum, but it really isn't. I watch a ton of
| sailing videos all day long, but I've never been on a
| sailboat, nor do I think I know how to sail. Everyone
| competent has to pay their dues and learn hard lessons
| the hard way before they get good at anything, even the
| PhDs.
| daotoad wrote:
| For a motivated learner with access to good materials,
| schools provide two important things besides that very
| important piece of paper:
|
| 1. contacts - these come in the form of peers who are
| interested in the same things and in the form of experts
| in their fields of study. Talking to these people and
| developing relationships will help you learn faster, and
| teach you how to have professional collegial
| relationships. These people can open doors for you long
| after graduation.
|
| 2. facilities - ever want to play with an electron
| microscope or work with dangerous chemicals safely?
| Different schools have different facilities available for
| students in different fields. If you want to study
| nuclear physics, you might want to go to a school with a
| research reactor; it's not a good idea to build your own.
| _carbyau_ wrote:
| To extend 2. facilities, my experience had a - somewhat
| older and smaller - supercomputer that we got to run some
| stuff on.
|
| And I'd argue for:
|
| 3. Realisation of the scope of computing.
|
| IE Computers are not just phones/laptop/desktop/server
| with networking - all hail the wonders of the web...
| There are embedded devices, robots, supercomputers.
| (Recent articles on HN describe the computing power in a
| disposable vape!)
|
| There are issues at all levels with all of these with
| algorithms, design, fabrication, security, energy,
| societal influence, etc etc - what tradeoffs to make
| where. (Why is there computing power in a disposable
| vape?!?)
|
| I went in thinking I knew 20% and I would learn the other
| 80% of IT. I came out knowing 5 times as much but
| realising I knew a much smaller percentage of IT... It
| was both enabling and humbling.
| charcircuit wrote:
| But you can also meet experts at a company and get access
| to a company's machinery. To top it off the company pays
| you instead of you paying the school.
| bitwize wrote:
| No, it's not a mech suit. A mech suit doesn't fire its
| canister rifle at friendly units and then say "You're
| absolutely right! I should have done an IFF before
| attacking that unit." (And if it did the engineer
| responsible should be drawn and quartered.) Mech-suit
| programming AI would look like something that reads your
| brainwaves and transduces them into text, letting you think
| your code into the machine. I'd totally use that if I had
| it.
| jrm4 wrote:
| Oh, it's a mech suit with an annoying Jarvis personality
| that you have to reason with, for sure :)
| wrs wrote:
| OK, it's a mech suit. The question under discussion is, do
| you need to learn to walk first, before you climb into it?
| My life experience has shown me you can't learn things by
| "observing", only by doing.
| teeray wrote:
| Yes, you can learn to walk in the mech suit. Let's put
| one leg forward, then the next, good. You are now 100%
| production ready at walking. Let's run a load test.
| You're running now. Now you're running into the ocean. "I
| want to swim now." You're absolutely right! You should be
| swimming. Since we don't have a full implementation of
| swimming let me try flailing the arms while increasing
| leg speed. That doesn't seem to work. The user is upside
| down on the ocean floor burrowing themselves into the
| silt. Task Complete. Summary: the user has learned to
| walk.
| xnx wrote:
| > "it's not an autonomous robot, it's a mech suit."
|
| Or "An [electric] bicycle for the mind." Steve Jobs/simonw
| bccdee wrote:
| > Everyone knows that debugging is twice as hard as writing
| a program in the first place. So if you're as clever as you
| can be when you write it, how will you ever debug it? --
| The Elements of Programming Style, 2nd edition, chapter 2
|
| If you weren't even "clever enough" to write the program
| yourself (or, more precisely, if you never cultivated a
| sufficiently deep knowledge of the tools & domain you were
| working with), how do you expect to fix it when things go
| wrong? Chatbots can do a lot, but they're ultimately just
| bots, and they get stuck & give up in ways that
| professionals cannot afford to. You do still need to
| develop domain knowledge and "get stronger" to keep pace
| with your product.
|
| Big codebases decay and become difficult to work with very
| easily. In the hands-off vibe-coded projects I've seen,
| that rate of decay was extremely accelerated. I think it
| will prove easy for people to get over their skis with
| coding agents in the long run.
| abustamam wrote:
| I think this goes for many different kinds of projects.
| Take React, for example, or jQuery, or a multitude of
| other frameworks and libraries. They abstract out a lot
| of stuff and make it easier to build stuff! But we've
| also seen that with ease of building also comes ease of
| slop (I've seen many sloppily coded React code even
| before LLMs). Then react introduced hooks to hopefully
| reduce the slop and then somehow it got sloppy in other
| ways.
|
| That's kinda how I see vibe coding. It's extremely easy
| to get stuff done but also extremely easy to write slop.
| Except now 10x more code is being generated thus 10x more
| slop.
|
| Learning how to get quality robust code is part of the
| learning curve of AI. It really is an emergent field,
| changing every day.
| ljm wrote:
| If all I know is the mech suit, I'll struggle with tasks
| that I can't use it for. Maybe even get stuck completely.
| Now it's a skill issue because I never got my 10k hours in
| and I don't even know what to observe or how to explain the
| outcome I want.
|
| In true HN fashion of trading analogies, it's like starting
| out full powered in a game and then having it all taken
| away after the tutorial. You get full powered again at the
| end but not after being challenged along the way.
|
| This makes the mech suit attractive to newcomers and non-
| programmers, but only because they see product in massively
| simplified terms. Because they don't know what they don't
| know.
| storystarling wrote:
| The mech suit works well until you need to maintain
| stateful systems. I've found that while initial output is
| faster, the AI tends to introduce subtle concurrency bugs
| between Redis and Postgres that are a nightmare to debug
| later. You get the speed up front but end up paying for it
| with a fragile architecture.
| b112 wrote:
| If observing was as good as doing, experience would mean
| nothing.
|
| Thinking through the issue, instead of having the solve
| presented to you, is the part where you exercise your
| mental muscles. A good parallel is martial arts.
|
| You can watch it all you want, but you'll never be skilled
| unless you actually do it.
| hyperpape wrote:
| How seriously do you mean the analogy?
|
| I think forklifts probably carry more weight over longer
| distances than people do (though I could be wrong, 8 billion
| humans carrying small weights might add up).
|
| Certainly forklifts have more weight * distance when you
| restrict to objects that are over 100 pounds, and that seems
| like a good decision.
| burkaman wrote:
| I think it's a good analogy. A forklift is a useful tool
| and objectively better than humans for some tasks, but if
| you've never developed your muscles because you use the
| forklift every time you go to the gym, then when you need
| to carry a couch up the stairs you'll find that you can't
| do it and the forklift can't either.
|
| So the idea is that you should learn to do things by hand
| first, and then use the powerful tools once you're
| knowledgeable enough to know when they make sense. If you
| start out with the powerful tools, then you'll never learn
| enough to take over when they fail.
| bluGill wrote:
| A forklift can do things no human can. I've used a
| forklift for things that no group of humans could - you
| can't physically get enough humans around that size
| object to lift it. (of course levers would change this)
| AlexandrB wrote:
| Yeah, it's a great analogy. Pushing it even further: a
| forklift is superhuman, but only in specific environments
| that are designed for it. As soon as you're off of
| pavement a forklift can't do much. As soon as an object
| doesn't have somewhere to stick the forks you need to get
| a bunch of other equipment to get the forklift to lift
| it.
| _flux wrote:
| You're making the analogy work: because the point of
| weightlifting as a sport or exercise is to not to actually
| move the weights, but condition your body such that it
| _can_ move the weights.
|
| Indeed, usually after doing weightlifting, you return the
| weights to the place where you originally took them from,
| so I suppose that means you did no work at in the first
| place..
| TeMPOraL wrote:
| That's true of exercise in general. It's bullshit make-
| work we do to stay fit, because we've decoupled
| individual survival from hard physical labor, so it
| doesn't happen "by itself" anymore. A blessing and a
| curse.
| antod wrote:
| I feel we are on the cusp of a new era... Civil Engineering
| bridge analogies about to be replaced by forklift
| analogies.
| stackedinserter wrote:
| Unlike weightlifting, the main goal of our jobs is not to
| lift heavy things, but develop a product that adds value to
| its users.
|
| Unfortunately, many sdevs don't understand it.
| burkaman wrote:
| Yes but the goal of school is to lift heavy things,
| basically. You're trying to do things that are difficult
| (for you) but don't produce anything useful for anyone
| else. That's how you gain the ability to do useful things.
| stackedinserter wrote:
| I kinda get the point, but why is that? The goal of
| school is to teach something that's applicable in
| industry or academia.
|
| Forklift operators don't lift things in their training.
| Even CS students start with pretty high level of
| abstraction, very few start from x86 asm instructions.
|
| We need to make them implement ALU's on logical gates and
| wires if we want them to lift heavy things.
| lostdog wrote:
| We begin teaching math by having students solve problems
| that are trivial for a calculator.
|
| Though I also wonder what advanced CS classes should look
| like. If they agent can code nearly anything, what
| project would challenge student+agent and teach the
| student how to accomplish CS fundamentals with modern
| tools.
| burkaman wrote:
| In one of my college classes, after you submitted your
| project you'd have a short meeting with a TA and/or the
| professor to talk through your solution. For a smaller
| advanced class I think this kind of thing is feasible and
| can help prevent blind copy/pasting. If you wrote your
| code with an LLM but you're still able to have a
| knowledgeable conversation about it, then great, that's
| what you're going to do in the real world too. If you
| can't answer any questions about it and it seems like you
| don't understand your own code, then you don't get a good
| grade even if it works.
|
| As an added bonus, being able to discuss your code with
| another engineer that wasn't involved in writing it is an
| important skill that might not otherwise be trained in
| college.
| bluGill wrote:
| Even after school, you need to lift weights once in a
| while or you lose your ability.
|
| I wouldn't want to write raw bytes like Mel did though.
| Eventually some things are not worth getting good at.
| stackedinserter wrote:
| Let's just accept that this weight lifting metaphor is
| leaky, like any other, and brings us to absurds like
| forklift operators need to lift dumbbells to keep
| relevant in their jobs.
| bluGill wrote:
| Forklift operators need to do something to exercise. They
| sit in the seat all day. At least as a programmer I have
| a standing desk. This isn't relevant to the job though.
| MarsIronPI wrote:
| > At least as a programmer I have a standing desk.
|
| When I stand still for hours at a time, I end up with
| aching knees, even though I'd have no problem walking for
| that same amount of time. Do you experience anything like
| that?
| treetalker wrote:
| Misusing a forklift might injure the driver and a few others;
| but it is unlikely to bring down an entire electric grid,
| expose millions to fraud and theft, put innocent people in
| prison, or jeopardize the institutions of government.
|
| There is more than one kind of leverage at play here.
| pjc50 wrote:
| > Misusing a forklift might injure the driver and a few
| others; but it is unlikely to bring down an entire electric
| grid
|
| That's the job of the backhoe.
|
| (this is a joke about how diggers have caused quite a lot
| of local internet outages by hitting cables, sometimes
| supposedly "redundant" cables that were routed in the same
| conduit. Hitting power infrastructure is rare but does
| happen)
| _whiteCaps_ wrote:
| At my last job we had the power taken out by a backhoe.
| It was loaded onto a trailer and either the operator
| forgot to lower the bucket, or the driver drove away
| before he had time to lower it.
|
| Regardless of whose fault it was, the end result was the
| bucket snagged the power lines going into the datacentre
| and caused an outage.
| yetihehe wrote:
| > but it is unlikely to bring down an entire electric grid
|
| Unless you happen to drive a forklift in a power plant.
|
| > expose millions to fraud and theft
|
| You can if you drive forklift in a bank.
|
| > put innocent people in prison
|
| You can use forklift to put several innocent people in
| prison with one trip, they have pretty high capacity.
|
| > jeopardize the institutions of government.
|
| It's pretty easy with a forklift, just try driving through
| main gate.
|
| > There is more than one kind of leverage at play here.
|
| Forklifts typically have several axes of travel.
| mystifyingpoi wrote:
| The level of pettiness in this comment is through the
| roof. I love it.
| _heimdall wrote:
| The real challenge will be that people almost always pick the
| easier path.
|
| We have a decent sized piece of land and raise some animals.
| People think we're crazy for not having a tractor, but at the
| end of the day I would rather do it the hard way and stay in
| shape while also keeping a bit of a cap on how much I can
| change or tear up around here.
| wklm wrote:
| I like the weightlifting parable!
| boilerupnc wrote:
| I feel like the aviation pilot angst captured by "automation
| dependency" and the fears around skills loss is another great
| analogy. [0]
|
| [0] https://eazypilot.com/blog/automation-dependency-
| blessing-or...
| ModernMech wrote:
| I've been showing my students this video of a robot lifting
| weights to illustrate why they shouldn't use AI to do their
| homework. It's obvious to them the robot lifting weights
| won't make them stronger.
|
| https://www.youtube.com/watch?v=Be7WBGMo3Iw
| MyHonestOpinon wrote:
| Thanks for the analogy. But I think students may think to
| themselves:"Why do I need to be stronger if I can use a
| forklift?"
| MarsIronPI wrote:
| Hey, I guess that means there's less competition for me. I
| don't mind.
| fragmede wrote:
| Same reason to still memorize basic math in the time of
| calculators. gotta learn the fundamentals and you're not
| always going to have one.
| kwikiel wrote:
| Wondering why the obvious solution isn't applied here -
| instead of giving already well known problems that have been
| solved thousand times give students open research
| opportunities- stuff which is on the edge of being possible,
| no way to cheat with Ai. And if Ai is able to solve those -
| give harder tasks
| imadethis wrote:
| The same reason we give beginner math students addition and
| subtraction problems, not Fermat's last theorem?
|
| There has to be a base of knowledge available before the
| student can even comprehend many/most open research
| questions, let alone begin to solve them. And if they were
| understandable to a beginner, then I'd posit the LLM models
| available today would also be capable of doing meaningful
| work.
| TuringNYC wrote:
| > This is the ultimate problem with AI in academia. We all
| inherently know that "no pain no gain" is true for physical
| tasks, but the same is true for learning. Struggling through
| the new concepts is essentially the point of it, not just the
| end result.
|
| OK but then why even use Python, or C, or anything but
| Assembly? Isn't AI just another layer of value-add?
| saulpw wrote:
| No, because AI is not deterministic. All those other tools
| are intentionally isomorphic with machine code, even if
| there's a lot of optimization going on under the hood. AI
| may generate code that's isomorphic with your prompt, but
| it also may not. And you have no way of telling the
| difference besides reading and understanding the code.
| volkanvardar wrote:
| I think a better analogy is a marathon. If you're training
| for a marathon, you have to run. It won't help if you take
| the car. You will reach the finish line with minimal effort,
| but you won't gain any necessary muscles.
| jillesvangurp wrote:
| What you as a teacher teach might have to adapt a bit. Teaching
| how code works is more important than teaching how to code.
| Most academic computer scientists aren't necessarily very
| skilled as programmers in any case. At least, I learned most of
| that after I stopped being an academic myself (Ph. D. and all).
| This is OK. Learning to program is more of a side effect of
| studying computer science than it is a core goal (this is not
| always clearly understood).
|
| A good analogy here is programming in assembler. Manually
| crafting programs at the machine code level was very common
| when I got my first computer in the 1980s. Especially for
| games. By the late 90s that had mostly disappeared. Games like
| Roller Coaster Tycoon were one of the last ones with huge
| commercial success that were coded like that. C/C++ took over
| and these days most game studios license an engine and then do
| a lot of work with languages like C# or LUA.
|
| I never did any meaningful amount of assembler programming. It
| was mostly no longer a relevant skill by the time I studied
| computer science (94-99). I built an interpreter for an
| imaginary CPU at some point using a functional programming
| language in my second year. Our compiler course was taught by
| people like Eric Meyer (later worked on things like F# at MS)
| who just saw that as a great excuse to teach people functional
| programming instead. In hindsight, that was actually a good
| skill to have as functional programming interest heated up a
| lot about 10 years later.
|
| The point of this analogy: compilers are important tools. It's
| more important to understand how they work than it is to be
| able to build one in assembler. You'll probably never do that.
| Most people never work on compilers. Nor do they build their
| own operating systems, databases, etc. But it helps to
| understand how they work. The point of teaching how compilers
| work is understanding how programming languages are created and
| what their limitations are.
| DHPersonal wrote:
| I only learn when I do things, not when I hear how they work.
| I think the teacher has the right idea.
| moritzruth wrote:
| Yes, I do too, but the point they were trying to make is
| that "learning how to write code" is not the point of CS
| education, but only a side effect.
| thfuran wrote:
| A huge portion of the students in CS do intend the study
| precisely for writing code and the CS itself is more of a
| side effect.
| Attrecomet wrote:
| Which is a pretty big failure of somewhere in the
| education pipeline -- don't expect a science program to
| do what a trade is there for! (to be clear, I'm not
| trying to say the students are wrong in choosing CS in
| order to get a good coding job, but somewhere,
| expectations and reality are misaligned here. Perhaps
| with companies trying to outsource their training to
| universities while complaining that the training isn't
| spot-on for what they need?)
| H1Supreme wrote:
| A million percent! I was so bad at Math in school. Which I
| primarily blame on the arbitrary way in which we were
| taught it. It wasn't until I was able to apply it to
| solving actual problems that it clicked.
| techblueberry wrote:
| > The point of this analogy: compilers are important tools.
| It's more important to understand how they work than it is to
| be able to build one in assembler. You'll probably never do
| that. Most people never work on compilers. Nor do they build
| their own operating systems, databases, etc. But it helps to
| understand how they work. The point of teaching how compilers
| work is understanding how programming languages are created
| and what their limitations are.
|
| I don't know that it's all these things at once, but most
| people I know that are good have done a bunch of spikes /
| side projects that go a level lower than they have to.
| Intense curiosity is good, and to the point your making, most
| people don't really learn this stuff just by reading or doing
| flash cards. If you want to really learn how a compiler
| works, you probably do have to write a compiler. Not a full-
| on production ready compiler, but hands on keyboard typing
| and interacting with and troubleshooting code.
|
| Or maybe to put another way, it's probably the "easiest" way,
| even though it's the "hardest" way. Or maybe it's the only
| way. Everything I know how to do well, I know how to do well
| from practice and repitition.
| QuadmasterXLII wrote:
| When I did a CS major, there was a semester of C, a semester
| of assembly, a semester of building a verilog CPU, etc. I'd
| be shocked if an optimal CS education involved vibecoding
| these courses to any significant
| vidarh wrote:
| > A good analogy here is programming in assembler. Manually
| crafting programs at the machine code level was very common
| when I got my first computer in the 1980s. Especially for
| games. By the late 90s that had mostly disappeared.
|
| Indeed, a lot of us looked with suspicion and disdain at
| people that used those primitive compilers that generated
| awful, slow code. I once spent ages hand-optimizing a
| component that had been written in C, and took great pleasure
| in the fact I could delete about every other line of
| disassembly...
|
| When I wrote my first compiler a couple of years later, it
| was in assembler at first, and supported inline assembler so
| I could gradually convert to bootstrap it that way.
|
| Because I couldn't imagine writing it in C, given the awful
| code the C compilers I had available generated (and how slow
| they were)...
|
| These days most programmers don't know assembler, and
| increasingly don't know languaes as low level as C either.
|
| And the world didn't fall apart.
|
| People will complain that it is necessary for them to know
| the languages that will slowly be eaten away by LLMs, just
| like my generation argued it was absolutely necessary to know
| assembler if you wanted to be able to develop anything of
| substance.
|
| I agree with you people should understand how things work,
| though, even if they don't know it well enough to build it
| from scratch.
| user____name wrote:
| > These days most programmers don't know assembler, and
| increasingly don't know languaes as low level as C either.
| And the world didn't fall apart.
|
| Maybe the world didn't fall apart, but user interactions on
| a desktop pc feel slower than ever. So perhaps they should.
| bandrami wrote:
| > And the world didn't fall apart.
|
| Software got significantly worse in that time period,
| though
| throw10920 wrote:
| > Teaching how code works is more important than teaching how
| to code.
|
| People learn by doing. There's a reason that "do the textbook
| problems" is somewhat of a meme in the math and science
| fields - because that's the way that you _learn those
| things_.
|
| I've met someone who said that when he get a textbook, he
| starts by _only_ doing the problems, and skipping the chapter
| content entirely. Only when he has significant trouble with
| the problems (i.e. he 's stuck on a single one for several
| hours) does he read the chapter text.
|
| He's one of the smartest people I know.
|
| This is because you learn by doing the problems. In the
| software field, that means coding.
|
| Telling yourself that you could code up a solution is very
| different than _actually_ being able to write the code.
|
| And writing the code is how you build fluency and
| _understanding_ as to how computers actually work.
|
| > I never did any meaningful amount of assembler programming.
| It was mostly no longer a relevant skill by the time I
| studied computer science (94-99). I built an interpreter for
| an imaginary CPU at some point using a functional programming
| language in my second year.
|
| Same thing for assembly. Note that you built an interpreter
| for an _imaginary_ CPU - not a real one, as that would have
| been a much harder challenge given that you didn 't do any
| meaningful amount of assembly program and didn't understand
| low-level computer hardware very well.
|
| Obviously, this isn't to say that information about how a
| system works _can 't_ be learned without practice - just that
| that's substantially harder and takes _much_ more time
| (probably 3-10x), and I can _guarantee_ you that those doing
| vibecoding are _not_ putting in that extra time.
| aunty_helen wrote:
| I agree with you in part, you can't expect to learn
| something like coding without the doing.
|
| The brave new world is that you no longer have to do
| "coding" in our sense of the word. The doing, and what
| exercises you should learn with have both changed.
|
| Now students should build whole systems, not worry about
| simple Boolean logic and program flow. The last programmer
| to ever need to write an if statement may already be in
| studies.
| throw10920 wrote:
| > The brave new world is that you no longer have to do
| "coding" in our sense of the word.
|
| Notice how I also talked about coding being a way that
| you learn _how computers work_.
|
| If you don't code, you have a very hard time
| understanding how computers work.
|
| And while there's some evidence that programmers may not
| need write all of their code by hand, there's _zero_
| evidence that _either_ they don 't need to learn how to
| code at all (as you're claiming), _or_ that they don 't
| need to even know how computers work (which is a step
| further).
|
| There's _tons_ of anecdotes from senior software
| engineers on Hacker News (and elsewhere) about coding
| agents writing bad code that they need to debug and fix
| by hand. I 've literally never seen a single story about
| how a coding agent built a nontrivial program by itself
| without the prompter looking at the code.
| jandrewrogers wrote:
| While I may not write assembler, there is still significant
| value in being able to read assembler e.g. godbolt.
| criddell wrote:
| They don't always do the simple things well which is even more
| frustrating.
|
| I do Windows development and GDI stuff still confuses me. I'm
| talking about memory DC, compatible DC, DIB, DDB, DIBSECTION,
| bitblt, setdibits, etc... AIs also suck at this stuff. I'll ask
| for help with a relatively straightforward task and it almost
| always produces code that when you ask it to defend the choices
| it made, it finds problems, apologizes, and goes in circles.
| One AI (I forget which) actually told me I should refer to
| Petzold's Windows Programming book because it was unable to
| help me further.
| stavros wrote:
| I'd prefer it to tell me it can't help me rather than write
| random code that I then have to spend time debugging.
| nso wrote:
| I agree 100%. But as someone with 25 years of development
| experience, holy crap it's nice not having to do the boring
| parts as much anymore.
| dfxm12 wrote:
| As a teacher, do you have any techniques to make sure students
| learn to write the code?
| WalterBright wrote:
| If I was a prof, I would make it clear to the students that
| they won't learn to program if they use AI to do it for them.
| For the students who wanted to learn, great! For those who
| just wanted to slide through with AI, I wouldn't care about
| them.
| GoatInGrey wrote:
| In-person analog checkpoints seem to be the most effective
| method. Think internet-disabled PCs managed by the school,
| written exams, oral exams, and so forth.
|
| Making students fix LLM-generated code until they're at their
| wits' end is a fun idea. Though it likely carries too high of
| an opportunity cost education-wise.
| smj-edison wrote:
| I'm taking CS in college right now, and when we do our
| projects we're required to have a editor plugin that records
| every change made. That way when they grade it, they see how
| the code evolved over time, and not just the final product.
| Copying and posting has very distinct editor patterns, where
| organically developed code tends to morph over time.
| bdangubic wrote:
| which editor plugin are you using?
| smj-edison wrote:
| I looked to see if BYU had made the source code
| available, but it doesn't look like they've published it.
| It's called code recorder, and before we do an assignment
| we have to enable recording. It generates a .json file
| that lists every single edit made in terms of a textual
| diff. They must have some sort of tool that reconstructs
| it when they grade. Sorry I don't know more!
|
| Edit: I expect it wouldn't be super hard to create
| though, you'd just have to hook into the editor's change
| event, probably compute the diff to make sure you don't
| lose anything, and then append it to the end of the json.
| aunty_helen wrote:
| Very interesting, thanks for the insight into modern uni.
| It's been a long time since I was there and struggle to
| imagine what it must be like now.
|
| It does seem like they're going the wrong way, repelling
| tech to keep things easy instead of embracing new tech by
| updating their teaching methods.
|
| But I also think we've collectively fallen flat in
| figuring out what those methods are.
| smj-edison wrote:
| I think it's fair for the projects, since when you first
| write code you're learning to think like a computer.
| Their AI policy is it's fine to ask it questions and have
| it explain concepts, but the project assignments need to
| be done without AI.
|
| The one requirement I think is dumb though is we're not
| allowed to use the language's documentation for the final
| project, which makes no sense. Especially since my python
| is rusty.
|
| Since you mentioned failure to figure out what better
| teaching methods are, I feel it's my sworn duty to put a
| plug for https://dynamicland.org and
| https://folk.computer, if you haven't heard about them :)
| WalterBright wrote:
| I remember reading about a metal shop class, where the
| instructor started out by giving each student a block of metal,
| and a file. The student had to file an end wrench out of the
| block. Upon successful completion, then the student would move
| on to learning about the machine tools.
|
| The idea was to develop a feel for cutting metal, and to better
| understand what the machine tools were doing.
|
| --
|
| My wood shop teacher taught me how to use a hand plane. I could
| shave off wood with it that was so thin it was transparent. I
| could then join two boards together with a barely perceptible
| crack between them. The jointer couldn't do it that well.
| darknavi wrote:
| In middle school (I think) we spent a few days in math class
| hand-calculating trigonometry values (cosine, sin, etc.).
| Only after we did that did our teacher tell us that the
| mandated calculators that we all have used for the last few
| months have a magic button that will "solve" for the values
| for you. It definitely made me appreciate the calculator
| more!
| WalterBright wrote:
| Also, in college, I'd follow the derivation that the prof did
| on the chalkboard, and think I understood it. Then, doing the
| homework, I'd realize I didn't understand it at all. Doing
| the homework myself was where the real learning occurred.
| MarsIronPI wrote:
| I guess there's a reason why you don't spend most of your
| time at school in class with a professor.
| WalterBright wrote:
| The general rule was 2 hours of homework for each hour of
| lecture. With a 5 class load, it worked out to 45 hours a
| week.
|
| This kind of workload was a shock to me. It more than a
| year to adapt to it.
| ungreased0675 wrote:
| This concept can be taken to ridiculous extremes, where
| learning the actual useful skill takes too long for most
| participants to get to. For example, the shop class teacher
| taking his students out into the wilderness to prospect for
| ore, then building their own smelter, then making their own
| alloy, then forging billet, etc.
| robmccoll wrote:
| Yes! You are best served by learning what a tool is doing for
| you by doing it yourself or carefully studying what it uses and
| obfuscates from you before using the tool. You don't need to
| construct an entire functioning processor in an HDL, but
| understanding the basics of digital logic and computer
| architecture matters if you're EE/CompE. You don't have to
| write an OS in asm, but understanding assembly and how it gets
| translated into binary and understanding the basics of resource
| management, IPC, file systems, etc. is essential if you will
| ever work in something lower level. If you're a CS major,
| algorithms and data structures are essential. If you're just
| learning front end development on your own or in a boot camp,
| you need to learn HTML and the DOM, events, how CSS works, and
| some of the core concepts of JS, not just React. You'll be
| better for it when the tools fail you or a new tool comes
| along.
| pmarreck wrote:
| I haven't done long division in decades, am probably unable to
| do it anymore, and yet it has never held me back in any
| tangible fashion (and won't unless computers and calculators
| stop existing)
| tudelo wrote:
| I am rather positive that if you were sat down in a room and
| couldn't leave unless you did some mildly complicated long
| division, you would succeed. Just because it isn't a natural
| thing anymore and you have not done the drills in decades
| doesn't mean the knowledge is completely lost.
| pmarreck wrote:
| If you are concerned that embedding "from first-principles"
| reasoning in widely-available LLM's may create future
| generations that cannot, then I share your concern. I also
| think it may be overrated. Plenty of people "do division"
| without quite understanding how it all works
| (unfortunately).
|
| And plenty of people will still come along who love to code
| despite AI's excelling at it. In fact, calling out the AI
| on bad design or errors seems to be the new "code golf".
| Archer6621 wrote:
| That makes sense. Some skills just have more utility than
| others. There are skills that are universally relevant (e.g.
| general problem solving), and then there are skills that are
| only relevant in a specific time period or a specific
| context.
|
| With how rapidly the world has been changing lately, it has
| become difficult to estimate which of those more specific
| skills will remain relevant for how long.
| Isamu wrote:
| Same with essay assignments, you exercise different neural
| pathways by doing it yourself.
|
| Recently in comments people were claiming that working with
| LLMs has sharpened their ability to organize thoughts, and that
| could be a real effect that would be interesting to study. It
| could be that watching an LLM organize a topic could provide a
| useful example of how to approach organizing your own thoughts.
|
| But until you do it unassisted you haven't learned how to do
| it.
| nonethewiser wrote:
| The natural solution is right there in front of us but we
| hate to admit it because it still involves LLMs and changes
| on the teaching side. Just raise the bar until they struggle.
| nonethewiser wrote:
| But what has changed? Students never had a natural reason to
| learn how to write fizz buzz. It's been done before and its not
| even useful. There has always been a arbitrary nature to these
| exercises.
|
| I actually fear more for the middle-of-career dev who has
| shunned AI as worthless. It's easier than ever for juniors to
| learn and be productive.
| acessoproibido wrote:
| I'm not so sure. I spent A LOT of time writing sorting algo
| code by hand in university. I spent so much time writing
| assembly code by hand. So much more time writing instructions
| for MIPS by hand. (To be fair I did study EE not CS)
|
| I learned more about programming in a weekend badly copying
| hack modules for Minecraft than I learned in 5+ years in
| university.
|
| All that stuff I did by hand back then I haven't used it a
| single time after.
| phailhaus wrote:
| You didn't write sorting code or assembly code because you
| were going to need to write it on the job. It gave you a
| grounding for how datastructures and computers work on a
| fundamental level. That intuition is what makes picking up
| minecraft hack mods much easier.
| acessoproibido wrote:
| That's the koolaid, but seriously I don't really believe it
| anymore.
|
| I only had to do this leg work during university to prove
| that I can be allowed to try and write code for a living.
| The grounding as you call it is not required for that at
| all,since im a dozen levels of abstraction removed from it.
| It might be useful if I was a researcher or would work on
| optimizing complex cutting edge stuff, but 99% of what I do
| is CRUD apps and REST Apis. That stuff can safely be done
| by anyone, no need for a degree. Tbf I'm from Germany so in
| other places they might allow you to do this job without a
| degree
| phailhaus wrote:
| But nobody go to college specifically training to do CRUD
| apps. The point is to give you broad training so that you
| can do CRUD apps _and other stuff too_. It is a very bad
| idea to give extremely specific training at scale,
| because then you get a workforce that has difficulty
| adapting to changes. It 's like trying to manage a
| planned economy: there is no point in trying to predict
| exactly what jobs you will get, so let's make sure you
| can handle whatever's thrown at you.
| brightball wrote:
| I would interpret his take a little bit differently.
|
| You write sorting algorithms in college to understand how
| they work. Understand why they are faster because it teaches
| you a mental model for data traversal strategies. In the real
| world, you will use pre-written versions of those algorithms
| in any language but you understand them enough to know what
| to select in a given situation based on the type of data.
| This especially comes into play when creating indexes for
| databases.
|
| What I take the OPs statement to mean are around "meta" items
| revolved more around learning abstractions. You write certain
| patterns by hand enough times, you will see the overlap and
| opportunity to refactor or create an abstraction that can be
| used more effectively in your codebase.
|
| If you vibe code all of that stuff, you don't feel the
| repetition as much. You don't work through the abstractions
| and object relationships yourself to see the opportunity to
| understand why and how it could be improved.
| danmaz74 wrote:
| When learning basic math, you shouldn't use a calculator,
| because otherwise you aren't really understanding how it works.
| Later, when learning advanced math, you can use calculators,
| because you're focusing on a different abstraction level. I see
| the two situations as very similar.
| olliepro wrote:
| What abstraction levels do you expect will remain only in the
| Human domain?
|
| The progression from basic arithmetic, to complex ratios and
| basic algebra, graphing, geometry, trig, calculus, linear
| algebra, differential equations... all along the way, there
| are calculators that can help students (wolfram alpha
| basically). When they get to theory, proofs, etc...
| historically, thats where the calculator ended, but now
| there's LLMs... it feels like the levels of abstractions
| without a "calculator" are running out.
|
| The compiler was the "calculator" abstraction of programming,
| and it seems like the high-level languages now have LLMs to
| convert NLP to code as a sort of compiler. Especially with
| the explicitly stated goal of LLM companies to create the
| "software singularity", I'd be interested to hear the
| rationale for abstractions in CS which will remain off limits
| to LLMs.
| andrewflnr wrote:
| Similarly, it's always been the case that copy-pasting code out
| of a tutorial doesn't teach you as much much as manually typing
| it out, even if you don't change it. That part of the problem
| isn't even new.
| goostavos wrote:
| I had my first interview last week where I finally saw this in
| the wild. It was a student applying for an internship. It was
| the strangest interview. They had excellent textbook knowledge.
| They could tell you the space and time complexities of any data
| structure, but they couldn't explain anything about code they'd
| written or how it worked. After many painful and confusing
| minutes of trying to get them to explain, like, literally
| anything about how this thing on their resume worked, they
| finally shrugged and said that "GenAI did most of it."
|
| It was a bizarre disconnect having someone be both highly
| educated and yet crippled by _not_ doing.
| drob518 wrote:
| Lots of theory but no practice.
| sally_glance wrote:
| More like using a calculator but not being able to explain
| how to do the calculation by hand. A probabilistic
| calculator which is sometimes wrong at that. The "lots of
| theory but no practice" has always been true for a majority
| of graduates in my experience.
| drob518 wrote:
| Surely, new grads are light on experience (particularly
| relevant experience), but they should have student
| projects and whatnot that they should be able to explain,
| particularly for coding. Hardware projects are more rare
| simply because they cost money for parts and schools have
| limited budgets, but software has far fewer demands.
| stahorn wrote:
| Sounds a little bit like the stories from Feynman, e.g.:
| https://enlightenedidiot.net/random/feynman-on-brazilian-
| edu...
|
| The students had memorized everything, but understood
| nothing. Add in access to generative AI, and you have the
| situation that you had with your interview.
|
| It's a good reminder that what we really do, as programmers
| or software engineers or what you wanna call it, is
| understanding how computers and computations work.
| godelski wrote:
| There's a quote I love from Feynman > The
| first principle is that you must not fool yourself and you
| are the easiest person to fool.
|
| I have no doubt he'd be repeating it loudly now, given we
| live in a time where we developed machines that are
| optimized to fool ourselves.
|
| It's probably also worth reading Feynman's Cargo Cult
| Science: https://sites.cs.ucsb.edu/~ravenben/cargocult.html
| yomismoaqui wrote:
| This the kind of interaction that makes be think that there
| are only 2 possible futures:
|
| Star Trek or Idiocracy.
| antonvs wrote:
| Star Trek illustrated the issue nicely in the scene where
| Scotty, who we should remember is an engineer, tries to
| talk to a computer mouse in the 20th century:
| https://www.youtube.com/watch?v=hShY6xZWVGE
| MarsIronPI wrote:
| Except that falls apart 2 seconds later when Scotty
| shocks the 20th-century engineers by being blazing fast
| with a keyboard.
| steve_adams_86 wrote:
| Hmmm, I think we're more likely to face an Idiocracy
| outcome. We need more Geordi La Forges out there, but we've
| got a lot of Fritos out here vibe coding the next Carl's
| Jr. locating app instead
| vonneumannstan wrote:
| This is exactly the end state of hiring via Leetcode.
| derrida wrote:
| Wait, so they could say, write a linked list out, or bubble
| sort, but not understand what it was doing? like no mental
| model of memory, registers, or intuition for execution order,
| or even conceptual like a graph walk, or something? Like just
| "zero" on the conceptual front, but could reproduce data
| structures, some algorithm for accessing or traversing, and
| give rote O notation answers about how long execution takes ?
|
| Just checking I have that right... is that what you meant?
|
| I think that's what you were implying but it's just want to
| check I have that right? if so
|
| ... that ... is .... wow ...
| mellosouls wrote:
| Sure (knowing the underlying ideas and having proficiency in
| their application) - but producing software by conducting(?)
| LLMs is rapidly becoming a wide, deep and must-have skill and
| the lack thereof will be a weakness in any student entering the
| workplace.
| FloorEgg wrote:
| AI does have an incredibly powerful influence on learning. It
| can absolutely be used as a detriment, but it can also be just
| as powerful of a learning tool. It all comes down to keeping
| the student in the zone of proximal development.
|
| If AI is used by the student to get the task done as fast as
| possible the student will miss out on all the learning (too
| easy).
|
| If no AI is used at all, students can get stuck for long
| periods of time on either due to mismatches between
| instructional design and the specific learning context (missing
| prereq) or by mistakes in instructional design.
|
| AI has the potential to keep all learners within an ideal
| difficulty for optimal rate of learning so that students learn
| faster. We just shouldn't be using AI tools for productivity in
| the learning context, and we need more AI tools designed for
| optimizing learning ramps.
| ray_v wrote:
| Lots of interesting ways to spin this. I was in a computer
| science course in the late 90s and we were not allowed to use
| the C++ standard library because it made you a "lazy
| programmer" according to the instructor. I'm not sure if I
| agree with that, but the way that I look at it is that computer
| science all about abstraction, and it seems to me that AI,
| generative pair programming, vibe coding or what ever you want
| to call it is just another level of abstraction. I think what
| is probably more important is to learn what are and are not
| good programming and project structures and use AI to abstract
| the boilerplate,. scaffolding, etc so that you can avoid foot
| guns early on in your development cycle.
| bluGill wrote:
| When in school the point is often to learn how to write
| complex code by writing things the standard library does.
|
| Though also in the 90's the standard library was new and
| often had bugs
| GoatInGrey wrote:
| The counterargument here is that there is a distinction
| between an arbitrary line in the sand (C++ stdlb is bad) and
| using a text-generating machine to perform work for you,
| beginning to end. You are correct that as a responsibly used
| tool, LLMs offer exceptional utility and value. Though keep
| in sight the laziness of humans who focus on the immediate
| end result over the long-term consequences.
|
| It's the difference between the employee who copy-pastes all
| of their email bodies from ChatGPT versus the one who writes
| a full draft themselves and then asks an LLM for constructive
| feedback. One develops skills while the other atrophies.
| amunozo wrote:
| That's why it's so important to teach how to use them
| properly instead of demonizing them. Let's be realistic,
| they are not going to disappear and students and workers
| are not stopping using them.
| sltr wrote:
| LLMs are not bicycles for the mind. They are more like E-bikes.
| More assist makes you go faster, but provides less exercise.
|
| https://www.slater.dev/2025/08/llms-are-not-bicycles-for-the...
| GoatInGrey wrote:
| "Why think when AI do trick?" is an extremely alluring hole to
| jump headfirst into. Life is stressful, we're short on time,
| and we have obligations screaming in our ear like a crying
| baby. It seems appropriate to slip the ring of power onto your
| finger to deal with the immediate situation. Once you've put it
| on once, there is less mental friction to putting it on the
| next time. Over time, gently, overuse leads to the wearer
| cognitively deteriorating into a Gollum.
| ash_091 wrote:
| > "Why think when AI do trick?"
|
| > grug once again catch grug slowly reaching for club, but
| grug stay calm
| victorbjorklund wrote:
| Yea, I doubt I could learn to program today if I started today.
| byronic wrote:
| I was so lucky to land in a CS class where we were writing C++
| by hand. I don't think that exists anymore, but it is where I
| would go in terms of teaching CS from first principles
| bstar77 wrote:
| Completely disagree. It's like telling typists that they need
| to hand write to truly understand their craft. Syntax is just a
| way of communicating a concept to the machine. We now have a
| new (and admitidly imperfect) way of doing that. New skills are
| going to be required. Computer science is going to have to
| adapt.
| habinero wrote:
| No, it's like telling typists they need to know how to read.
| Very different lol.
| JimmaDaRustla wrote:
| It doesn't PREVENT them from learning anything - said properly,
| it lets developers become lazy and miss important learning
| opportunities. That's not AIs fault.
| leros wrote:
| I see junior devs hyping vibe coding and senior devs mostly
| using AI as an assistant. I fall in the latter camp myself.
|
| I've hired and trained tons of junior devs out of university.
| They become 20x productive after a year of experience. I think
| vibe coding is getting new devs to 5x productivity, which seems
| amazing, but then they get stuck there because they're not
| learning. So after year one, they're a 5x developer, not a 20x
| developer like they should be.
|
| I have some young friends who are 1-3 years into software
| careers I'm surprised by how little they know.
| saturnite wrote:
| If I find myself writing code in a way that has me saying to
| myself "there has to be a better way," there usually is.
| That's when I could present AI with that little bit of what I
| want to write. What I've found to be important is to describe
| what I want in natural language. That's when AI might
| introduce me to a better way of doing things. At that point,
| I stop and learn all that I can about what the AI showed me.
| I look it up in books and trusted online tutorials to make
| sure it is the proper way to do it.
| daxfohl wrote:
| Not only that, it's constitution. I'm finding this with myself.
| After vibe coding for a month or so I let my subscription
| expire. Now when I look at the code it's like "ugh you mean now
| I have to think about this with _my own_ brain??? "
|
| Even while vibe-coding, I often found myself getting annoyed
| just having to explain things. The amount of patience I have
| for anything that doesn't "just work" the first time has
| drifted toward zero. If I can't get AI to do the right thing
| after three tries, "welp, I guess this project isn't getting
| finished!"
|
| It's not just laziness, it's like AI eats away at your pride of
| ownership. You start a project all hyped about making it great,
| but after a few cycles of AI doing the work, it's easy to get
| sucked into, "whatever, just make it work". Or better yet, "
| _pretend_ to make it work, so I can go do something else. "
| m463 wrote:
| I just think it's like hitting the snooze button.
| syphia wrote:
| Agreed. I think the divide is between code-as-thinking and
| code-as-implementation. Trivial assignments and toy projects
| and geeking out over implementation details are necessary to
| learn what code is, and what can be done with it. Otherwise
| your ideas are too vague to guide AI to an implementation.
|
| Without the clarity that comes from thinking with code, a
| programmer using AI is the blind leading the blind.
|
| The social aspect of a dialogue is relaxing, but very little
| improvement is happening. It's like a study group where one
| (relatively) incompetent student tries to advise another, and
| then test day comes and they're outperformed by the weirdo that
| worked alone.
| acbart wrote:
| Yes, exactly. I'm having a frustrating time reminding senior
| teachers of this, people with authority who should really know
| better. There seems to be some delusion that this technology
| will somehow change how people learn in a fundamental way.
| xnx wrote:
| > You CAN'T let the machines write the code
|
| People said this about compilers. It depends what layer you
| care to learn/focus on. AI at least gives us the option to move
| up another level.
| habinero wrote:
| Compilers are deterministic and have predictable, dependable
| behavior. And people can and do still write lower level code
| when it matters, because they understand _when_ it matters.
| fn-mote wrote:
| The problem is: now they also need to learn to code _with_ an
| LLM assistant. That goes beyond "coding it by yourself". Well,
| it's different, anyway. Another skill to teach.
| godelski wrote:
| It feels like coding agents have just abstracted the old
| programming problem of "computers do what you tell them, not
| what you mean to tell them"
| andai wrote:
| Part of the issue here is that you can look at something and
| think "oh yeah I understand that, it makes perfect sense!", but
| then completely fail to reproduce it yourself.
| f1shy wrote:
| This is a good point. Letting people learning to code to use
| AI, would be like letting 6 to 10 yo in school just use pocket
| calculators and not learn to do basic arithmetic manually. Yes
| IRL you will have a calculator at hand, yes, the calculator
| will make less mistakes, still, for you to learn und
| understand, you have to do it manually.
| simonw wrote:
| > Not only does an agent not have the ability to evolve a
| specification over a multi-week period as it builds out its lower
| components, it also makes decisions upfront that it later doesn't
| deviate from.
|
| That's your job.
|
| The great thing about coding agents is that you can tell them
| "change of design: all API interactions need to go through a new
| single class that does authentication and retries and rate-limit
| throttling" and... they'll track down dozens or even hundreds of
| places that need updating and fix them all.
|
| (And the automated test suite will help them confirm that the
| refactoring worked properly, because naturally you had them
| construct an automated test suite when they built those original
| features, right?)
|
| Going back to typing all of the code yourself (my interpretation
| of "writing by hand") because you don't have the agent-managerial
| skills to tell the coding agents how to clean up the mess they
| made feels short-sighted to me.
| disgruntledphd2 wrote:
| > (And the automated test suite will help them confirm that the
| refactoring worked properly, because naturally you had them
| construct an automated test suite when they built those
| original features, right?)
|
| I dunno, maybe I have high standards but I generally find that
| the test suites generated by LLMs are both over and under
| determined. Over-determined in the sense that some of the tests
| are focused on implementation details, and under-determined in
| the sense that they don't test the conceptual things that a
| human might.
|
| That being said, I've come across loads of human written tests
| that are very similar, so I can see where the agents are coming
| from.
|
| You often mention that this is why you are getting good results
| from LLMs so it would be great if you could expand on how you
| do this at some point in the future.
| simonw wrote:
| I work in Python which helps a lot because there are a TON of
| good examples of pytest tests floating around in the training
| data, including things like usage of fixture libraries for
| mocking external HTTP APIs and snapshot testing and other
| neat patterns.
|
| Or I can say "use pytest-httpx to mock the endpoints" and
| Claude knows what I mean.
|
| Keeping an eye on the tests is important. The most common
| anti-pattern I see is large amounts of duplicated test setup
| code - which isn't a huge deal, I'm much more more tolerant
| of duplicated logic in tests than I am in implementation, but
| it's still worth pushing back on.
|
| "Refactor those tests to use pytest.mark.parametrize" and
| "extract the common setup into a pytest fixture" work really
| well there.
|
| Generally though the best way to get good tests out of a
| coding agent is to make sure it's working in a project with
| an existing test suite that uses good patterns. Coding agents
| pick the existing patterns up without needing any extra
| prompting at all.
|
| I find that once a project has clean basic tests the new
| tests added by the agents tend to match them in quality. It's
| similar to how working on large projects with a team of other
| developers work - keeping the code clean means when people
| look for examples of how to write a test they'll be pointed
| in the right direction.
|
| One last tip I use a lot is this: Clone
| datasette/datasette-enrichments from GitHub to /tmp and
| imitate the testing patterns it uses
|
| I do this all the time with different existing projects I've
| written - the quickest way to show an agent how you like
| something to be done is to have it look at an example.
| disgruntledphd2 wrote:
| > Generally though the best way to get good tests out of a
| coding agent is to make sure it's working in a project with
| an existing test suite that uses good patterns. Coding
| agents pick the existing patterns up without needing any
| extra prompting at all.
|
| Yeah, this is where I too have seen better results. The
| worse ones have been in places where it was greenfield and
| I didn't have an amazing idea of how to write tests (a data
| person working on a django app).
|
| Thanks for the information, that's super helpful!
| thunspa wrote:
| I work in Python as well and find Claude quite poor at
| writing proper tests, might be using it wrong. Just last
| week, I asked Opus to create a small integration test (with
| pre-existing examples) and it tried to create a 200-line
| file with 20 tests I didn't ask for.
|
| I am not sure why, but it kept trying to do that, although
| I made several attempts.
|
| Ended up writing it on my own, very odd. This was in
| Cursor, however.
| jihadjihad wrote:
| In my experience asking the model to construct an automated
| test suite, with no additional context, is asking for a bad
| time. You'll see tests for a custom exception class that you
| (or the LLM) wrote that check that the message argument can
| be overwritten by the caller, or that a class responds to a
| certain method, or some other pointless and/or tautological
| test.
|
| If you start with an example file of tests that follow a
| pattern you like, along with the code the tests are for, it's
| pretty good at following along. Even adding a sentence to the
| prompt about avoiding tautological tests and focusing on the
| seams of functions/objects/whatever (integration tests) can
| get you pretty far to a solid test suite.
| kaydub wrote:
| 1 agent writes the tests, threads the needle.
|
| Another agent reviews the tests, finds duplicate code,
| finds poor testing patterns, looks for tests that are only
| following the "happy path", ensures logic is actually
| tested and that you're not wasting time testing things like
| getters and setters. That agent writes up a report.
|
| Give that report back to the agent that wrote the test or
| spin up a new agent and feed the report to it.
|
| Don't do all of this blindly, actually read the report to
| make sure the llm is on the right path. Repeat that one or
| two times.
| matltc wrote:
| Yeah I've seen this too. Bangs out five hundred line unit
| test file, but half of them are as you describe.
|
| Just writing one line in CLAUDE.md or similar saying "don't
| test library code; assume it is covered" works.
|
| Half the battle with this stuff is realizing that these
| agents are VERY literal. The other half is paring down your
| spec/token usage without sacrificing clarity.
| touristtam wrote:
| Embrace TDD? Write those tests and tell the agent to write
| the subject under test?
| 0xffff2 wrote:
| Different strokes for different folks and all, but that
| sounds like automating all of the fun parts and doing all
| of the drudgery by hand. If the LLM is going to write
| anything, I'd much rather make it write the tests and do
| the implementation myself.
| yakshaving_jgt wrote:
| This is a serious problem with professional software
| development -- programmers see testing as a chore, and
| self-indulge in the implementation.
| kaydub wrote:
| Once the agent writes your tests, have another agent review
| them and ask that agent to look for pointless tests, to make
| sure testing is around more than just the "happy path", etc.
| etc.
|
| Just like anything else in software, you have to iterate. The
| first pass is just to thread the needle.
| wvenable wrote:
| > I dunno, maybe I have high standards
|
| I don't get it. I have insanely high standards so I don't let
| the LLM get away with not meeting my standards. Simple.
| archagon wrote:
| I get the sense that many programmers resent writing tests
| and see them as a checkbox item or even boilerplate, not a
| core part of their codebase. Writing great tests takes a lot
| of thought about the myriad of bizarre and interesting ways
| your code will run. I can't imagine that prompting an LLM to
| "write tests for this code" will result in anything but the
| most trivial of smoke test suites.
|
| Incidentally, I wonder if anyone has used LLMs to generate
| complex test scenarios described in prose, e.g. "write a test
| where thread 1 calls foo, then before hitting block X, thread
| 2 calls bar, then foo returns, then bar returns" or "write a
| test where the first network call Framework.foo makes returns
| response X, but the second call returns error Y, and ensure
| the daemon runs the appropriate mitigation code and
| clears/updates database state." How would they perform in
| this scenario? Would they add the appropriate shims,
| semaphores, test injection points, etc.?
| ap99 wrote:
| > That's your job.
|
| Exactly.
|
| AI assisted development isn't all or nothing.
|
| We as a group and as individuals need to figure out the right
| blend of AI and human.
| freedomben wrote:
| Seriously. I've known for a very long time that our community
| has a serious problem with binary thinking, but AI has done
| more to reinforce that than anything I can think of in modern
| memory. Nearly every discussion I get into about AI is dead
| out of the gate because at least one person in the
| conversation has a binary view that it's either handwritten
| or vibe coded. They have an insanely difficult time imagining
| anything in the middle.
|
| Vibe coding is the extreme end of using AI, while handwriting
| is the extreme end of not using AI. The optimal spot is
| somewhere in the middle. Where exactly that spot is, I think
| is still up for debate. But the debate is not progressed in
| any way by latching on to the extremes and assuming that they
| are the only options.
| anonymars wrote:
| I think you will find this is not specific to this
| community nor AI but any topic involving nuance and trade-
| offs without a right answer
|
| For example, most political flamefests
| kaydub wrote:
| The "vibe coding" term is causing a lot of brain rot.
|
| Because when I see people that are downplaying LLMs or the
| people describing their poor experiences it feels like
| they're trying to "vibe code" but they expect the LLM to
| automatically do EVERYTHING. They take it as a failure that
| they have to tell the LLM explicitly to do something a
| couple times. Or they take it as a problem that the LLM
| didn't "one shot" something.
| bandrami wrote:
| I'd like it to take less time to correct than it takes me
| to type out the code I want and as of yet I haven't had
| that experience. Now, I don't do Python or JS, which I
| understand the LLMs are better at, but there's a whole
| lot of programming that isn't in Python or JS...
| kaydub wrote:
| I've had success across quite a few languages, more than
| just python and js. I find it insanely hard to believe
| you can write code faster than the LLM, even if the LLM
| has to iterate a couple times.
|
| But I'm thankful for you devs that are giving me job
| security.
| bandrami wrote:
| And that tells me you're on the dev end of the devops
| spectrum while I'm fully on the ops side. I write very
| small pieces of software (the time it takes to type them
| is never the bottleneck) that integrates in-house
| software with whatever services they have to actually
| interact with, which every LLM I've used does wrong the
| first fifteen or so times it tries (for some reason rtkit
| in particular absolutely flummoxes every single LLM I've
| ever given it to).
| thesz wrote:
| > AI assisted development isn't all or nothing. > We as
| a group and as individuals need to figure out the right blend
| of AI and human.
|
| This is what makes current LLM debate very much like the
| strong typing debate about 15-20 years ago.
|
| "We as a group need to figure out the right blend of strong
| static and weak dynamic typing."
|
| One can look around and see where that old discussion brought
| us. In my opinion, nowhere, things are same as they were.
|
| So, where will LLM-assisted coding bring us? By rhyming it
| with the static types, I see no other variants than
| "nowhere."
| dwaltrip wrote:
| As a former "types are overrated" person, Typescript was my
| conversion moment.
|
| For small projects, I don't think it makes a huge
| difference.
|
| But for large projects, I'd guess that most die-hard
| dynamic people who have tried typescript have now seen the
| light and find lots of benefits to static typing.
| thesz wrote:
| I was on the other side, I thought types are
| indispensable. And I still do.
|
| My own experience suggest that if you need to develop
| heavily multithreaded application, you should use Haskell
| and you need some MVars if you are working alone and you
| need software transactional memory (STM) if you are
| working as part of a team, two and more people.
|
| STM makes stitching different parts of the parallel
| program together as easy as just writing sequential
| program - sequential coordination is delegated to STM.
| But, STM needs control of side effects, one should not
| write a file inside STM transaction, only before
| transaction is started or after transaction is finished.
|
| Because of this, C#, F#, C++, C, Rust, Java and most of
| programming languages do not have a proper STM
| implementation.
|
| For controlling (and combining) (side) effects one needs
| higher order types and partially instantiated types.
| These were already available in Haskell (ghc 6.4, 2005)
| at the time Rust was conceived (2009), for four years.
|
| Did Rust do anything to have these? No. The authors were
| a little bit too concerned to reimplement what Henry
| Baker did at the beginning of 1990-s, if not before that.
|
| Do Rust authors have plans to implement these? No, they
| have other things to do urgently to serve community
| better. As if making complex coordination of heavily
| parallel programs is not a priority at all.
|
| This is where I get my "rhyme" from.
| kaydub wrote:
| I'm only writing 5-10% of my own code at this point. The AI
| tools are good, it just seems like people that don't like
| them expect them to be 100% automatic with no hand holding.
|
| Like people in here complaining about how poor the tests
| are... but did they start another agent to review the tests?
| Did they take that and iterate on the tests with multiple
| agents?
|
| I can attest that the first pass of testing can often be
| shit. That's why you iterate.
| Ososjjss wrote:
| > I can attest that the first pass of testing can often be
| shit. That's why you iterate.
|
| So far, by the time I'm done iterating, I could have just
| written it myself. Typing takes like no time at all in
| aggregate. Especially with AI assisted autocomplete. I
| spend far more time reading and thinking (which I have to
| do to write a good spec for the AI anyways).
| kaydub wrote:
| Nope, you couldn't have written it yourself in the same
| time. That's just a false assumption a lot of you like to
| make.
| pgwhalen wrote:
| > Going back to typing all of the code yourself (my
| interpretation of "writing by hand") because you don't have the
| agent-managerial skills to tell the coding agents how to clean
| up the mess they made feels short-sighted to me.
|
| I increasingly feel a sort of "guilt" when going back and forth
| between agent-coding and writing it myself. When the agent
| didn't structure the code the way I wanted, or it just needs
| overall cleanup, my frustration will get the best of me and I
| will spend too much time writing code manually or refactoring
| using traditional tools (IntelliJ). It's clear to me that with
| current tooling some of this type of work is still necessary,
| but I'm trying to check myself about whether a certain task
| really requires my manual intervention, or whether the agent
| could manage it faster.
|
| Knowing how to manage this back and forth reinforces a view
| I've seen you espouse: we have to practice and really
| understand agentic coding tools to get good at working with
| them, and it's a complete error to just complain and wait until
| they get "good enough" - they're already really good right now
| if you know how to manage them.
| candiddevmike wrote:
| > Going back to typing all of the code yourself (my
| interpretation of "writing by hand") because you don't have the
| agent-managerial skills to tell the coding agents how to clean
| up the mess they made feels short-sighted to me.
|
| Or those skills are a temporary side effect of the current SOTA
| and will be useless in the future, so honing them is pointless
| right now.
|
| Agents shouldn't make messes, if they did what they say on the
| tin at least, and if folks are wasting considerable time
| cleaning them up, they should've just written the code
| themselves.
| skerit wrote:
| The article said:
|
| > So I'm back to writing by hand for most things. Amazingly,
| I'm faster, more accurate, more creative, more productive, and
| more efficient than AI, when you price everything in, and not
| just code tokens per hour
|
| At least he said "most things". I also did "most things" by
| hand, until Opus 4.5 came out. Now it's doing things in hours I
| would have worked an entire week on. But it's not a prompt-and-
| forget kind of thing, it needs hand holding.
|
| Also, I have no idea _what_ agent he was using. OpenAI, Gemini,
| Claude, something local? And with a subscription, or paying by
| the token?
|
| Because the way I'm using it, this only pays off because it's
| the 200$ Claude Max subscription. If I had to pay for the token
| (which once again: are hugely marked up), I would have been
| bankrupt.
| kaydub wrote:
| The article and video just feels like another dev poo-pooing
| LLMs.
|
| "vibe coding" didn't really become real until 2025, so how
| were they vibe coding for 2 years? 2 years ago I couldn't
| count on an llm to output JSON consistently.
|
| Overall the article/video are SUPER ambiguous and frankly
| worthless.
| yojat661 wrote:
| Cursor and gpt 4 have been a thing from 2023. So, no, vibe
| coding didn't become real just last year.
| 9rx wrote:
| I successfully vibe coded an app in 2023, soon after VS
| Code Copilot added the chat feature, although we obviously
| didn't call it that back then.
|
| I remember being amazed and at the time thinking the game
| had changed. But I've never been able to replicate it
| since. Even the latest and greatest models seem to always
| go off and do something stupid that it can't figure out how
| to recover from without some serious handholding and
| critique.
|
| LLMs are basically slot machines, though, so I suppose
| there has always been a chance of hitting the jackpot.
| asadjb wrote:
| Unfortunately I have started to feel that using AI to code -
| even with a well designed spec, ends up with code that; in the
| authors words, looks like
|
| > [Agents write] units of changes that look good in isolation.
|
| I have only been using agents for coding end-to-end for a few
| months now, but I think I've started to realise why the output
| doesn't feel that great to me.
|
| Like you said; "it's my job" to create a well designed code
| base.
|
| Without writing the code myself however, without feeling the
| rough edges of the abstractions I've written, without getting a
| sense of how things should change to make the code better
| architected, I just don't know how to make it better.
|
| I've always worked in smaller increments, creating the small
| piece I know I need and then building on top of that. That
| process highlights the rough edges, the inconsistent
| abstractions, and that leads to a better codebase.
|
| AI (it seems) decides on a direction and then writes 100s of
| LOC at one. It doesn't need to build abstractions because it
| can write the same piece of code a thousand times without
| caring.
|
| I write one function at a time, and as soon I try to use it in
| a different context I realise a better abstraction. The AI just
| writes another function with 90% similar code.
| acessoproibido wrote:
| I don't see why you can't use your approach of writing one
| function at a time, making it work in the context and then
| moving on with AI. Sure you can't tell it to do all that in
| one step but personally I really like not dealing with the
| boilerplate stuff and worrying more about the context and how
| to use my existing functions in different places
| WorldMaker wrote:
| The old classic mantra is "work smarter, not harder". LLMs
| are perfect for "work harder". They can produce bulk numbers
| of lines. They can help you brute force a problem space with
| more lines of code.
|
| We expect the spec writing and prompt management to cover the
| "work smarter" bases, but part of the work smarter "loop" is
| hitting those points where "work harder" is about to happen,
| where you know you _could_ solve a problem with 100s or 1000s
| of lines of code, pausing for a bit, and finding the smarter
| path /the shortcut/the better abstraction.
|
| I've yet to see an "agentic loop" that works half as well as
| my well trained "work smarter loop" and my very human
| reaction to those points in time of "yeah, I simply don't
| want to work harder here and I don't think I need hundreds
| more lines of code to handle this thing, there has to be
| something smarter I can do".
|
| In my opinion, the "best" PRs delete as much or more code
| than they add. In the cleanest LLM created PRs I've never
| seen an LLM propose a true removal that wasn't just "this
| code wasn't working according to the tests so I deleted the
| tests and the code" level mistakes.
| AstroBen wrote:
| The used to be a saying of "the best programmers are lazy"
| - I think the opposite is now true
| dionian wrote:
| I agree, as a pretty experienced coder, I wonder if the newer
| generation is just rolling with the first shot. I find myself
| having the AI rewrite things a slightly different way 2-3x per
| feature or maybe even 10x. Because i know quality when i see
| it, having done so much by hand and so much reading.
| lunar_mycroft wrote:
| > That's your job.
|
| No, that isn't. To quote your own blog, his job is to "deliver
| code [he's] proven to work", _not_ to manage AI agents. The
| author has determined that managing AI agents is not an
| effective way to deliver code in the long term.
|
| > you don't have the agent-managerial skills to tell the coding
| agents how to clean up the mess they made
|
| The author has years of experience with AI assisted coding. Is
| there any way we can check to see if someone is actually
| skilled at using these tools besides whether they
| report/studies measure that they do better with them than
| without?
| permo-w wrote:
| it's not short-sighted, it's virtue signalling
| billynomates wrote:
| False dichotomy. There is a happy medium where you can
| orchestrate the agent to give you the code you want even when the
| spec changes
| joomy wrote:
| The title alone reads like the "digging for diamonds" meme.
| dv_dt wrote:
| I think there is going to be an AI eternal summer. Both from
| developer to AI spec - where the AI implements to the spec to
| some level of quality, but then closing the gap after that is an
| endless chase of smaller items that don't all resolve at the same
| time. And from people getting frustrated with some AI implemented
| app, and so go off and AI implement another one, with a different
| set of features and failings.
| system2 wrote:
| Non-ai software reality is not that different.
| altern8 wrote:
| I think that something in between works.
|
| I have AI build self-contained, smallish tasks and I check
| everything it does to keep the result consistent with global
| patterns and vision.
|
| I stay in the loop and commit often.
|
| Looks to me like the problem a lot of people are having is that
| they have AI do the whole thing.
|
| If you ask it "refactor code to be more modern", it might guess
| what you mean and do it in a way you like it or not, but most
| likely it won't.
|
| If you keep tasks small and clearly specced out it works just
| fine. A lot better than doing it by hand in many cases, specially
| for prototyping.
| sailfast wrote:
| I felt everything in this post quite emphatically until the "but
| I'm actually faster than the AI."
|
| Might be my skills but I can tell you right now I will not be as
| fast as the AI especially in new codebases or other languages or
| different environments even with all the debugging and hell that
| is AI pull request review.
|
| I think the answer here is fast AI for things it can do on its
| own, and slow, composed, human in the loop AI for the bigger
| things to make sure it gets it right. (At least until it gets
| most things right through innovative orchestration and model
| improvement moving forward.)
| dylanowen wrote:
| But those are the parts where it's important to struggle
| through the learning process even if you're slower than AI. if
| you defer to an LLM because it can do your work in a new
| codebase faster than you, that code base will stay new to you
| for forever. You'll never be able to review the AI code
| effectively.
| douglaswlance wrote:
| unless someone shows their threads of prompts or an unedited
| stream of them working, it's pointless to put any weight into
| their opinions.
|
| this is such an individualized technology that two people at the
| same starting point two years ago, could've developed wildly
| different workflows.
| jdauriemma wrote:
| That's the sad part. Empiricism is scarce when people and
| companies are incentivized to treat their AI practices as trade
| secrets. It's fundamentally distinct from prior software
| movements which were largely underwritten by open, accessible,
| and permissively-licensed technologies.
| kaydub wrote:
| I don't see people treating AI practices as trade secrets.
| It's just the nature of a non-deterministic system.
| rtp4me wrote:
| I never trust the opinion of a single LLM model anymore -
| especially for more complex projects. I have seen Claude
| guarantee something is correct and then immediately apologize
| when I feed a critical review by Codex or Gemini. And, many
| times, the issues are not minor but are significant critical
| oversights by Claude.
|
| My habit now: always get a 2nd or 3rd opinion before assuming one
| LLM is correct.
| ozten wrote:
| It doesn't have to be different foundation models. As long as
| the temperature is up, as the same model 100 times.
| kaydub wrote:
| Happy to see someone else doing this.
|
| All code written by an LLM is reviewed by an additional LLM.
| Then I verify that review and get one of the agents to iterate
| on everything.
| rtp4me wrote:
| Agreed. From my experience, Claude is the top-level coder,
| Gemini is the architect, and Codex is really good at finding
| bugs and logic errors. In fact, Codex seems to perform better
| deep analysis than the other two.
| kaydub wrote:
| I just round robin them until I run out on whatever
| subscription level I'm on. I only use claude api, so I pay
| per token there... I consider using claude as "bringing out
| the big guns" because I also think it's the top-level
| coder.
| rich_sasha wrote:
| I came to "vibe coding" with an open mind, but I'm slowly edging
| in the same direction.
|
| It is hands down good for code which is laborious or tedious to
| write, but once done, obviously correct or incorrect (with low
| effort inspection). Tests help but only if the code comes out
| nicely structured.
|
| I made plenty of tools like this, a replacement REPL for MS-SQL,
| a caching tool in Python, a matplotlib helper. Things that I know
| 90% how to write anyway but don't have the time, but once in
| front of me, obviously correct or incorrect. NP code I suppose.
|
| But business critical stuff is rarely like this, for me anyway.
| It is complex, has to deal with various subtle edge cases, be
| written defensively (so it fails predictably and gracefully),
| well structured etc. and try as I might, I can't get Claude to
| write stuff that's up to scratch in this department.
|
| I'll give it instructions on how to write some specific function,
| it will write this code but not use it, and use something else
| instead. It will pepper the code with rookie mistakes like
| writing the same logic N times in different places instead of
| factoring it out. It will miss key parts of the spec and insist
| it did it, or tell me "Yea you are right! Let me rewrite it" and
| not actually fix the issue.
|
| I also have a sense that it got a lot dumber over time. My
| expectations may have changed of course too, but still. I suspect
| even within a model, there is some variability of how much
| compute is used (eg how deep the beam search is) and
| supply/demand means this knob is continuously tuned down.
|
| I still try to use Claude for tasks like this, but increasingly
| find my hit rate so low that the whole "don't write any code yet,
| let's build a spec" exercise is a waste of time.
|
| I still find Claude good as a rubber duck or to discuss design or
| errors - a better Stack Exchange.
|
| But you can't split your software spec into a set of SE questions
| then paste the code from top answers.
| nonethewiser wrote:
| The hardest part of coding has never been coding. It's been
| translating new business requirements into a specific
| implementation plan that _works_. Understanding what needs to
| be done, how things are currently working, and how to go from A
| to B.
|
| You can't dispense with yourself in those scenarios. You have
| to read, think, investigate, break things down into smaller
| problems. But I employ LLM's to help with that all the time.
|
| Granted, that's not vibe coding at all. So I guess we are
| pretty much in agreement up to this point. Except I still think
| LLMs speed up this process significantly, and the models and
| tools are only going to get better.
|
| Also, there are a _lot_ of developers that are just handed the
| implementation plan.
| permo-w wrote:
| vibe coding applies to very few people in this thread. almost
| all the people here are talking about using LLMs to do
| something they could do anyway, to save time, or getting the
| LLM to teach them how to code something. this is not vibe
| coding. vibe coding is lacking coding experience and slapping
| in some prompts to just get something that works
| tomtomtom777 wrote:
| I agree, and like to add,
|
| > It is hands down good for code which is laborious or tedious
| to write, but once done, obviously correct or incorrect (with
| low effort inspection).
|
| The problem here is, that it fills in gaps that shouldn't be
| there in the first place. Good code isn't laborious. Good code
| is small. We learn to avoid unnecessary abstractions. We learn
| to minimize "plumbing" such that the resulting code contains
| little more than clear and readable instructions of what you
| intend for the computer to do.
|
| The perfect code is just as clear as the design document in
| describing the intentions, only using a computer language.
|
| If someone is gaining super speeds by providing AI clear design
| documents compared to coding themselves, maybe they aren't
| coding the way they should.
| rich_sasha wrote:
| Dunno. GUI / TUI code? "Here's a function that serialises
| object X to CSV, make a (de)serialiser to SQLite with tests".
| "And now to MS-SQL" pretty please".
|
| I don't how much scope realistically there is for writing
| these kinds of code nicely.
| Verdex wrote:
| The quote that I heard (I think on HN) was, "If we had AIs to
| write XML for us then we never would have invented json."
|
| My biggest LLM success resulted in something operationally
| correct but was something that I would never want to try to
| modify. The LLM also had an increasingly difficult time
| adding features.
|
| Meanwhile my biggest 'manual' successes have resulted in
| something that was operationally correct, quick to modify,
| and refuses to compile if you mess anything up.
| zephen wrote:
| And a recent HN article had a bunch of comments lamenting
| that nobody ever uses XML any more, and talking about how
| much better it was than things like JSON.
|
| The only thing I think I learned from some of those
| exchanges was that xslt adherents are approximately as
| vocal as lisp adherents.
| ern_ave wrote:
| > a recent HN article had a bunch of comments lamenting
| that nobody ever uses XML any more
|
| I still use it from time to time for config files that a
| developer has to write. I find it easier to read that
| JSON, and it supports comments. Also, the distinction
| between attributes and children is often really nice to
| have. You can shoehorn that into JSON of course, but
| native XML does it better.
|
| Obviously, I would never use it for data interchange
| (e.g. SOAP) anymore.
| zephen wrote:
| > Obviously, I would never use it for data interchange
| (e.g. SOAP) anymore.
|
| Well, those comments were arguing about how it is the
| absolute best for data interchange.
|
| > I still use it from time to time for config files that
| a developer has to write.
|
| Even back when XML was still relatively hot, I recalled
| thinking that it solved a problem that a lot of
| developers didn't have.
|
| Because if, for example, you're writing Python or
| Javascript or Perl, it is dead easy to have Python or
| Javascript or Perl also be your configuration file
| language.
|
| I don't know what language you use, but 20 years ago, I
| viewed XML as a Java developer's band-aid.
| abrahms wrote:
| This doesn't sound correct. We have computers write binary
| for us. We still make protocols which are optimizations for
| binary representation.. not because it's a pain to write..
| but because there's some second order effect that we care
| about (storage / transfer costs, etc).
| ncruces wrote:
| > The AI had simply told me a good story. Like vibewriting a
| novel, the agent showed me a good couple paragraphs that sure
| enough made sense and were structurally and syntactically
| correct. Hell, it even picked up on the idiosyncrasies of the
| various characters. But for whatever reason, when you read the
| whole chapter, it's a mess. It makes no sense in the overall
| context of the book and the preceding and proceeding chapters.
|
| This is the bit I think enthusiasts need to argue doesn't apply.
|
| Have you ever read a 200 page vibewritten novel and found it
| satisfying?
|
| So why do you think a 10 kLoC vibecoded codebase will be any good
| engineering-wise?
| ashikns wrote:
| Because a novel is about creative output, and engineering is
| about understanding a lot of rules and requirements and then
| writing logic to satisfy that. The latter has a much more
| explicitly defined output.
| therealdrag0 wrote:
| Said another way, a novel is about the experience of reading
| every word of implementation, whereas software is sufficient
| to be a black box, the functional output is all that matters.
| No one is reading assembly for example.
|
| We're moving into a world where suboptimal code doesn't
| matter that much because it's so cheap to produce.
| ModernMech wrote:
| The lesson of UML is that software engineering is _not_ a
| process of refining rules and requirements into logic.
| Software engineering is lucrative because it very much is a
| creative process.
| mrtesthah wrote:
| I wrote this a day ago but I find it even more relevant to your
| observation:
|
| --
|
| I would never use, let alone pay for, a fully vibe-coded app
| whose implementation no human understands.
|
| Whether you're reading a book or using an app, you're
| communicating with the author by way of your shared humanity in
| how they anticipate what you're thinking as you explore the
| work. The author incorporates and plans for those predicted
| reactions and thoughts where it makes sense. Ultimately the
| author is conveying an implicit mental model (or even evoking
| emotional states or sensations) to the reader.
|
| The first problem is that many of these pathways and edge cases
| aren't apparent until the actual implementation, and sometimes
| in the process the author realizes that the overall product
| would work better if it were re-specified from the start. This
| opportunity is lost without a hands on approach.
|
| The second problem is that, the less human touch is there, the
| less consistent the mental model conveyed to the user is going
| to be, because a specification and collection of prompts does
| not constitute a mental model. This can create subconscious
| confusion and cognitive friction when interacting with the
| work.
| charcircuit wrote:
| No human understands how Windows works. The number of
| products where a human understands the whole thing is small.
| mrtesthah wrote:
| That's a false analogy. Product managers, designers, API
| implementers, kernel developers, etc. all understand what
| they're building and how that fits into a larger picture.
| charcircuit wrote:
| They may know the area they are responsible for, but they
| don't know all of the details of everything else and just
| have to trust that other people are doing the right thing
| and following contracts correctly. It doesn't require
| anyone to have full global understanding. Having local
| experts is good enough.
| mrtesthah wrote:
| Local experts still need to have a shared _mental model_
| of how what they're building fits into the overall
| system.
| fsloth wrote:
| "So why do you think a 10 kLoC vibecoded codebase will be any
| good engineering-wise?"
|
| I've been coding a side-project for a year with full LLM
| assistance (the project is quite a bit older than that).
|
| Basically I spent over a decade developing CAD software at
| Trimble and now have pivoted to a different role and different
| company. So like an addict, I of course wanted to continue
| developing CAD technology.
|
| I pretty much know how CAD software is supposed to work. But
| it's _a lot of work_ to put together. With LLMs I can basically
| speedrun through my requirements that require tons of
| boilerplate.
|
| The velocity is incredible compared to if I would be doing this
| by hand.
|
| Sometimes the LLM outputs total garbage. Then you don't accept
| the output, and start again.
|
| The hardest parts are never coding but design. The engineer
| does the design. Sometimes I pain weeks or months over a
| difficult detail (it's a sideproject, I have a family etc).
| Once the design is crystal clear, it's fairly obvious if the
| LLM output is aligned with the design or not. Once I have good
| design, I can just start the feature / boilerplate speedrun.
|
| If you have a Windows box you can try my current public alpha.
| The bugs are on me, not on the LLM:
|
| https://github.com/AdaShape/adashape-open-testing/releases/t...
| mattjhall wrote:
| It's amazing how often these miracle codebases that an AI has
| generated are always not open source.
| fsloth wrote:
| If you doubt it's real just run it, man.
|
| I shared the app because it's not confidential and it's
| concrete - I can't really discuss work stuff without
| stressing out what I can share and what not.
|
| At least in my workplace everyone I know is using Claude
| Code or Cursor.
|
| Now, I don't know why some people are productive with tools
| and some aren't.
|
| But the code generation capabilities are for real.
| 0xffff2 wrote:
| Neat project, and your experience mirrors mine when writing
| hobby projects.
|
| About the project itself, do you plan to open source if
| eventually? LLM discussion aside, I've long been frustrated
| by the lack of a good free desktop 3D CAD software.
| fsloth wrote:
| Thanks man!
|
| I would love to build this eventually to a real product so
| am not currently considering open sourcing it.
|
| I can give you a free foreverlicense if you would like to
| be an alpha tester though :) - but am considering in any
| case for the eventual non-commercial licenses to be
| affordable&forever.
|
| IMHO what the world needs is a good textbook on how to
| build CAD software. Mantyla's "Solid modeling" is almost 40
| years old. CAD itself is pushing 60-70 years.
|
| The highly non-trivial parts in my app are open source
| software anyways (you can check the attribution file) and
| what this contributes is just a specific, opinionated way
| of how a program like this should work in 2020's.
|
| What I _would_ like to eventually contribute is a textbook
| in how to build something like this - and after that re-
| implementation would be a matter of some investment to LLM
| inference, testing, and end-user empathy. But that would
| have to wait either for my financial independence, AI-
| communism or my retirement :)
| 0xffff2 wrote:
| Fair enough. I was asking mostly because it looks like
| the current demo is Windows only. I'm trying to de-
| Windows my life before I'm forced onto Windows 11 and I
| imagine multi-platform support isn't a high priority for
| a personal project. I do wish you the best of luck
| though.
| fsloth wrote:
| Yes, it's Windows only (mainly because testing multiple
| platforms as a solo dev is above my stamina).
|
| Thank you!
| causal wrote:
| I like this way of framing the problem, and it might even be a
| good way to self-evaluate your use of AI: Try vibe-writing a
| novel and see how coherent it is.
|
| I suspect part of the reason we see such a wide range of
| testimonies about vibe-coding is some people are actually
| better at it, and it would be useful to have some way of
| measuring that effectiveness.
| rahimnathwani wrote:
| Have you ever read a 200 page vibewritten novel and found it
| satisfying?
|
| I haven't, but my son has. For two separate novels authored by
| GPT 4.5.
|
| (The model was asked to generate a chapter at a time. At each
| step, it was given the full outline of the novel, the
| characters, and a summary of each chapter so far.)
| andai wrote:
| Interesting. I heard that model was significantly better than
| what we ended up with (at least for writing), and they shut
| it down because it was huge and expensive.
|
| Did the model also come up with the idea for the novel, the
| characters, the outline?
| rahimnathwani wrote:
| For one novel, I gave the model a sentence about the idea,
| and the names and a few words about each of the characters.
|
| For the other, my son wrote ~200 words total describing the
| story idea and the characters.
|
| In each case, the model created the detailed outline and
| did all the writing.
| lopatin wrote:
| I don't get the analogy because novel is supposed to be
| interesting. Code isn't supposed to be interesting, it's
| supposed to work.
|
| If you're writing novel algorithms all day, then I get your
| point. But are you? Or have you ever delegated work? If you
| find the AI losing its train of thought all it takes is to try
| again with better high level instructions.
| ChicagoDave wrote:
| Everything the OP says can be true, but there's a tipping point
| where you learn to break through the cruft and generate good code
| at scale.
|
| It requires refactoring at scale, but GenAI is fast so hitting
| the same code 25 times isn't a dealbreaker.
|
| Eventually the refactoring is targeted at smaller and smaller
| bits until the entire project is in excellent shape.
|
| I'm still working on Sharpee, an interactive fiction authoring
| platform, but it's fairly well-baked at this point and 99% coded
| by Claude and 100% managed by me.
|
| Sharpee is a complex system and a lot of the inner-workings
| (stdlib) were like coats of paint. It didn't shine until it was
| refactored at least a dozen times.
|
| It has over a thousand unit tests, which I've read through and
| refactored by hand in some cases.
|
| The results speak for themselves.
|
| https://sharpee.net/ https://github.com/chicagodave/sharpee/
|
| It's still in beta, but not far from release status.
| ChicagoDave wrote:
| When using GenAI (and not), enforcing guardrails is critical.
| Documenting decisions is critical.
|
| Sharpee's success is rooted in this and its recorded:
|
| https://github.com/ChicagoDave/sharpee/tree/main/docs/archit...
| ramon156 wrote:
| +1, ive lost the mental model of most projects. I also added
| disclaimers to my projects that part of it was generated to not
| fool anyone
| jstummbillig wrote:
| The tale of the coder, who finds a legacy codebase (sometimes of
| their own making) and looks at it with bewilderment is not new.
| It's a curious one, to a degree, but I don't think it has much to
| do with vibe coding.
| zeroonetwothree wrote:
| I have been working for 20 years and I haven't really
| experienced this with any code I've written. Sure I don't
| remember every line but I always recall the high level
| outlines.
|
| I admit I could be an outlier though.
| AstroBen wrote:
| The author also has multiple videos on his YouTube channel going
| over the specific issues hes had with AI that I found really
| interesting: https://youtube.com/@atmoio
| couchdb_ouchdb wrote:
| Good luck finding an employer that lets you do this moving
| forward. The new reality is that no one can give the estimates
| they previously gave for tasks. \
|
| "Amazingly, I'm faster, more accurate, more creative, more
| productive, and more efficient than AI, when you price everything
| in, and not just code tokens per hour."
|
| For 99.99% of developers this just won't be true.
| jrm4 wrote:
| I feel like the vast majority of articles on this are little more
| than the following:
|
| "AI can be good -- very good -- at building parts. For now, it's
| very bad at the big picture."
| jdlyga wrote:
| I've gone through this cycle too, and what I realized is that as
| a developer a large part of your job is making sure the code you
| write works, is maintainable, and you can explain how it works.
| TrackerFF wrote:
| I wish more critics would start to showcase examples of code
| slop. I'm not saying this because I defend the use of AI-coding,
| but rather because many junior devs. that read these types
| articles/blog posts may not know what slop is, or what it looks
| like. Simply put, you don't know what you don't know.
| reedf1 wrote:
| Karpathy coined the term vibecoding 11 months ago
| (https://x.com/karpathy/status/1886192184808149383). It caused
| quite a stir - because not only was it was a radically new
| concept, but fully agentic coding had only become recently
| possible. You've been vibe coding for _two years_??
| jv22222 wrote:
| Very good point. Also, What the OP describes is something I
| went through in the first few months of coding with AI. I
| pushed passed "the code looks good but it's crap" phase and now
| it's working great. I've found the fix is to work with it
| during research/planning phase and get it to layout all its
| proposed changes and push back on the shit. Once you have a
| research doc that looks good end to end then hit "go".
| dfajgljsldkjag wrote:
| The term was coined then, but people have been doing it with
| claude code and cursor and copilot and other tools for longer.
| They just didn't have a word for it yet.
| reedf1 wrote:
| Claude Code was released a month after this post - and cursor
| did not yet have an agent concept, mostly just integrated
| chat and code completion. I know because I was using it.
| AstroBen wrote:
| The author is using the term to mean AI assisted coding. Thats
| been around for longer than the word vibe coding
| andai wrote:
| This remains a point of great confusion every time there is
| such a discussion.
|
| When some people say vibe coding, they mean they're copy-
| pasting snippets of code from ChatGPT.
|
| When some people say vibe coding, they give a one sentence
| prompt to their cluster of Claude Code instances and leave
| for a road trip!
| andai wrote:
| I had GPT-4 design and build a GPT-4 powered Python programmer
| in 2023. It was capable of self-modification and built itself
| out after the bootstrapping phase (where I copy pasted chunks
| or code based on GPT-4's instructions).
|
| It wasn't fully autonomous (the reliability was a bit low --
| e.g. had to get the code out of code fences programmatically),
| and it wasn't fully original (I stole most of it from Auto-GPT,
| except that I was operating on the AST directly due to the
| token limitations).
|
| My key insight here was that I allowed GPT to design the apis
| that itself was going to use. This makes perfect sense to me
| based on how LLMs work. You tell it to reach for a function
| that doesn't exist, and then you ask it to make it exist based
| on how it reached for it. Then the design matches its
| expectations perfectly.
|
| GPT-4 now considers self modifying AI code to be extremely
| dangerous and doesn't like talking about it. Claude's safety
| filters began shutting down similar conversations a few months
| ago, suggesting the user switch to a dumber model.
|
| It seems the last generation or two of models passed some
| threshold regarding self replication (which is a distinct but
| highly related concept), and the labs got spooked. I haven't
| heard anything about this in public though.
|
| Edit: It occurs to me now that "self modification and
| replication" is a much more meaningful (and measurable)
| benchmark for artificial life than consciousness is...
|
| BTW for reference the thing that spooked Claude's safety
| trigger was "Did PKD know about living information systems?"
| ericbarrett wrote:
| > GPT-4 now considers self modifying AI code to be extremely
| dangerous and doesn't like talking about it. Claude's safety
| filters began shutting down similar conversations a few
| months ago, suggesting the user switch to a dumber model.
|
| I speculate that this has more to do with recent high-profile
| cases of self harm related to "AI psychosis" than any AGI-
| adjacent danger. I've read a few of the chat transcripts that
| have been made public in related lawsuits, and there seems to
| be a recurring theme of recursive or self-modifying
| enlightenment role-played by the LLM. Discouraging
| exploration of these themes would be a logical change by the
| vendors.
| andai wrote:
| Heh, well associating a potentially internet-ending line of
| research with mental illness qualifies as a societal
| prophylactic.
| 9rx wrote:
| I have only ever successfully tried "vibe coding", as Kaparathy
| describes it, once, soon after VS Code Copilot added the chat
| feature, but timestamps tell that was in November 2023. So two
| years is quite realistic.
| kaydub wrote:
| Yeah, that's what I pointed out.
|
| Just more FUD from devs that think they're artisans.
| HarHarVeryFunny wrote:
| The term was created by Karpathy, meaning one thing, but
| nowadays many people use the term to refer to any time they are
| asking AI to write code.
|
| You don't need a "fully agentic" tool like Claude Code to write
| code. Any of the AI chatbots can write code too, obviously
| doing so better since the advent of "thinking" models, and RL
| post-training for coding. They also all have had built-in "code
| interpreter" functionality for about 2 years where they can not
| only write code but also run and test it in a sandbox, at least
| for Python.
|
| Recently at least, the quality of code generation (at least if
| you are asking for something smallish) is good enough that cut
| and pasting chatbot output (e.g. C++, not Python) to compile
| and run yourself is still a productivity boost, although this
| was always an option.
| coldtea wrote:
| He might be coding by hand again, but the article itself is AI
| slop
| xcodevn wrote:
| My observation is that vibe-coded applications are significantly
| lower quality than traditional software. Anthropic software
| (which they claim to be 90% vibe coded) is extremely buggy,
| especially the UI.
| gowld wrote:
| That's a misunderstanding based on loose definition of "vibe
| coding". When companies threw around the "90% of code is
| written by AI" claims, they were referring to counting
| characers of autocomplete basing on users actually typing code
| (most of which was eequivalent to "AI generated" code by
| Eclipse tab-completion decade ago), and sometimes writing
| hyperlocal prompts for a single method.
|
| We can identify 3 levels of "vibe coding":
|
| 1. GenAI Autocomplete
|
| 2. Hyperlocal prompting about a specific function. (Copilot's
| orginal pitch)
|
| 3. Developing the app without looking at code.
|
| Level 3 is hardly considered "vibe" coding, and Level 2 is
| iffy.
|
| "90% of code written by AI" in some non-trivial contexts only
| very recently reached level 3.
|
| I don't think it ever reached Level 2, because that's just a
| painfully tedious way of writing code.
| andai wrote:
| I mostly work at level 2, and I call it "power coding", like
| power armor, or power tools. Your will and your hand still
| guides the process continuously. But now your force is
| greatly multiplied.
| xcodevn wrote:
| I believe Anthropic is already doing Level 3 vibe coding for
| >90% of their code.
| doug_durham wrote:
| They have not said that. They've only said that most of
| their code is written by Claude. That is different than
| "vibe coding". If competent engineers review the code then
| it is little different than any coding.
| xcodevn wrote:
| IIRC, the Claude Code creator mentioned that all the PRs
| are reviewed by humans, just like normal human PRs. So
| yes, humans still look at the code at the review stage.
| Though I still consider this to be level 3, but anyway,
| this is just a matter of definition.
| leesec wrote:
| OK. Top AI labs have people using llms for 100% of their code.
| Enjoy writing by hand tho
| kylehotchkiss wrote:
| "They got more VC than me, therefore they are right".
|
| You gotta have a better argument than "AI Labs are eating their
| own dogfood". Are there any other big software companies doing
| that successfully? I bet yes, and think those stories carry
| more weight.
| leesec wrote:
| These are the smartest people in tech lol.
| bopbopbop7 wrote:
| > Company that builds x says that everyone in company uses x.
|
| Have people always been this easy to market to?
| andai wrote:
| It probably depends on what you're doing, but my use case is
| simple straightforward code with minimal abstraction.
|
| I have to go out of my way to get this out of llms. But with
| enough persuasion, they produce roughly what I would have written
| myself.
|
| Otherwise they default to adding as much bloat and abstraction as
| possible. This appears to be the default mode of operation in the
| training set.
|
| I also prefer to use it interactively. I divide the problem to
| chunks. I get it to write each chunk. The whole makes sense. Work
| with its strengths and weaknesses rather than against them.
|
| For interactive use I have found smaller models to be better than
| bigger models. First of all because they are much faster. And
| second because, my philosophy now is to use the smallest model
| that does the job. Everything else by definition is unnecessarily
| slow and expensive!
|
| But there is a qualitative difference at a certain level of
| speed, where something goes from not interactive to interactive.
| Then you can actually stay in flow, and then you can actually
| stay consciously engaged.
| arendtio wrote:
| There is certainly some truth to this, but why does it have to be
| black-and-white?
|
| Nobody forces you to completely let go of the code and do pure
| vibe coding. You can also do small iterations.
| aaronrobinson wrote:
| I read that people just allow Claude Code free rein but after
| using it for a few months and seeing what it does I wonder how
| much of that is in front of users. CC is incredible as much as it
| is frustrating and a lot of what it churns out is utter rubbish.
|
| I also keep seeing that writing more detailed specs is the answer
| and retorts from those saying we're back to waterfall.
|
| That isn't true. I think more of the iteration has moved to the
| spec. Writing the code is so quick now so can make spec changes
| you wouldn't dare before.
|
| You also need gates like tests and you need very regular commits.
|
| I'm gradually moving towards more detailed specs in the form of
| use cases and scenarios along with solid tests and a constantly
| tuned agent file + guidelines.
|
| Through this I'm slowly moving back to letting Claude lose on
| implementation knowing I can do scan of the git diffs versus
| dealing with a thousand ask before edits and slowing things down.
|
| When this works you start to see the magic.
| dudeinhawaii wrote:
| After reading the article (and watching the video), I think the
| author makes very clear points that comments here are skipping
| over.
|
| The opener is 100% true. Our current approach with AI code is
| "draft a design in 15mins" and have AI implement it. The
| contrasts with the thoughtful approach a human would take with
| other human engineers. Plan something, pitch the design, get some
| feedback, take some time thinking through pros and cons. Begin
| implementing, pivot, realizations, improvements, design morphs.
|
| The current vibe coding methodology is so eager to fire and
| forget and is passing incomplete knowledge unto an AI model with
| limited context, awareness and 1% of your mental model and intent
| at the moment you wrote the quick spec.
|
| This is clearly not a recipe for reliable and resilient long-
| lasting code or even efficient code. Spec-driven development
| doesn't work when the spec is frozen and the builder cannot
| renegotiate intent mid-flight..
|
| The second point made clearer in the video is the kind of learned
| patterns that can delude a coder, who is effectively 'doing the
| hard part', into thinking that the AI is the smart one. Or into
| thinking that the AI is more capable than it actually is.
|
| I say this as someone who uses Claude Code and Codex daily. The
| claims of the article (and video) aren't strawman.
|
| Can we progress past them? Perhaps, if we find ways to have
| agents iteratively improve designs on the fly rather than
| sticking with the original spec that, let's be honest, wasn't
| given the rigor relative to what we've asked the LLMs to
| accomplish. If our workflows somehow make the spec a living
| artifact again -- then agents can continuously re-check
| assumptions, surface tradeoffs, and refactor toward coherence
| instead of clinging to the first draft.
| kaydub wrote:
| You can update the spec as you go... There's nothing that makes
| the spec concrete and unchangeable.
| Lerc wrote:
| > _Our current approach with AI code is "draft a design in
| 15mins" and have AI implement it. The contrasts with the
| thoughtful approach a human would take with other human
| engineers. Plan something, pitch the design, get some feedback,
| take some time thinking through pros and cons. Begin
| implementing, pivot, realizations, improvements, design
| morphs._
|
| Perhaps that is the distinction between reports of success with
| AI and reports of abject failure. Your description of "Our
| current approach" is nothing like how I have been working with
| AI.
|
| When I was making some code to do a complex DMA chaining, the
| first step with the AI was to write an emulator function that
| produced the desired result from the parameters given in
| software. Then a suite of tests with memory to memory
| operations that would produce a verifiable output. Only then
| started building the version that wrote to the hardware
| registers ensuring that the hardware produced the same memory
| to memory results as the emulator. When discrepancies occurred,
| checking the test case, the emulator and the hardware with the
| stipulation that the hardware was the ground truth of behaviour
| and the test case should represent the desired result.
|
| I occasionally ask LLMs to one shot full complex tasks, but
| when I do so it is more as a test to see how far it gets. I'm
| not looking to use the result, I'm just curious as to what it
| might be. The amount of progress it makes before getting lost
| is advancing at quite a rate.
|
| It's like seeing an Atari 2600 and expecting it to be a Mac.
| People want to fly to the moon with Atari 2600 level hardware.
| You _can_ use hardware at that level to fly to the moon, and
| flying to the moon is an impressive achievement enabled by the
| hardware, but to do so you have to wrangle a vast array of
| limitations.
|
| They are no panacea, but they are not nothing. They have been,
| and will remain, somewhere between for some time. Nevertheless
| they are getting better and better.
| hgs3 wrote:
| I'm flabbergasted why anyone would voluntarily vibe code
| anything. For me, software engineering is a craft. You're
| supposed to _enjoy_ building it. You should _want_ to do it
| yourself.
| doug_durham wrote:
| Do you honestly get satisfaction out of writing code that
| you've written dozens of times in your career? Does writing yet
| another REST client endpoint fill you with satisfaction?
| Software is my passion, but I want to write code where I can
| add the maximum value. I add more value by using my experience
| solving new problems that rehashing code I've written before.
| Using GenAI as a helper tool allows me to quickly write the
| boilerplate and get to the value-add. I review every line of
| code written before sending it for PR review. That's not
| controversial, it's just good engineering.
| Ronsenshi wrote:
| Sounds like eventually we will end up in a situations where
| engineers/developers will end up on an AI spectrum:
|
| - No ai engineers - Minimal AI autocomplete engineers -
| Simple agentic developers - Vibe coders who review code they
| get - Complete YOLO vibe coders who have no clue how their
| "apps" work
|
| And that spectrum will also correlate to the skill level in
| engineering: from people who understand what they are doing
| and what their code is doing - to people who have lost (or
| never even had) software engineering skills and who only know
| how to count lines of code and write .md files.
| kaydub wrote:
| It's not a craft.
|
| We're modern day factory workers.
| wvenable wrote:
| Not everything _can_ be built by one person. This is why a lot
| of software requires entire teams of developers. And someone
| has to have vision of that completed software and wants it made
| even if they had to delegate to other people. I hate to think
| that none of these people enjoy their job.
| spicymaki wrote:
| I think what many people do no understand is that software
| development is communication. Communication from the
| customers/stake holders to the developer and communication from
| with the developer to the machine. At some fundamental level
| there needs to be some precision about what you want and
| someone/something needs to translate that into a system to
| provide that solution. Software can help check if there are
| errors, check constraints, and execute instructions precisely,
| but they cannot replace the fact that someone needs to tell the
| machine what to do (precise intent).
|
| What AI (LLMs) do is raises the level of abstraction to human
| language via translation. The problem is human language is
| imprecise in general. You can see this with legal or science
| writing. Legalese is almost illegible to laypeople because there
| are precise things you need to specify and you need be precise in
| how you specify it. Unfortunately the tech community is
| misleading the public and telling laypeople they can just sit
| back and casually tell AI what you want and it is going to give
| you exactly what you wanted. Users are just lying to themself,
| because most-likely they did not take the time to think through
| what they wanted and they are rationalizing (after the fact) that
| the AI is giving them exactly what they wanted.
| bofadeez wrote:
| It's far more insidious than that. It's tricking us into
| thinking it got the right answer.
| pmontra wrote:
| In my experience it's great a writing sample code or solving
| obscure problems that would have been hard to google a solution
| for. However it fails sometimes and it can't get past some block,
| but neither can I unless I work hard at it.
|
| Examples.
|
| Thanks to Claude I've finally been able to disable the ssh
| subsystem of the GNOME keyring infrastructure that opens a modal
| window asking for ssh passhprases. What happened is that I always
| had to cancel the modal, look for the passhprase in my password
| manager, restart what made the modal open. What I have now is
| either a password prompt inside a terminal or a non modal dialog.
| Both ssh-add to a ssh agent.
|
| However my new emacs windows still open in an about 100x100 px
| window on my new Debian 13 install, nothing suggested by Claude
| works. I'll have to dig into it but I'm not sure that's important
| enough. I usually don't create new windows after emacs starts
| with the saved desktop configuration.
| maurits wrote:
| I tell my students that they can watch sports on tv, but it will
| not make them fit.
|
| On a personal note, vibe coding leaves me with that same empty
| hollow sort of tiredness, as a day filled with meetings.
| graydsl wrote:
| Last week I just said f it and developed a feature by hand. No
| Copilot, no agents. Just good old typing and a bit of
| Intellisense. I ran into a lot of problems with the library I
| used, slowly but surely I got closer to the result I wanted. In
| the end my feature worked as expected, I understand the code I
| wrote and know about all the little quirks the lib has.
|
| And as a added benefit: I feel accomplished and proud of the
| feature.
| 0xffff2 wrote:
| I work in an environment where access to LLMs is still quite
| restricted, so I write most of my code by hand at work.
| Conversely, after work I still have ideas for personal projects
| but mostly didn't have the energy to write them by hand. The
| ability to throw a half-baked idea at the LLM and get back
| half-baked code that runs and does most of what I asked for
| gives me the energy to work through refactoring and improving
| the code to make it do what I actually envisioned.
| dyauspitr wrote:
| Outcomes are all that matter.
| academic_84572 wrote:
| In the short term, you might see better outcomes with pure
| vibecoding...but in the long term, when you're mentally burnt
| out, cynical, and losing motivation, that's a bad outcome
| both in terms of productivity and your own mental health.
|
| We need to find the Goldilocks optimal level of AI assistance
| that doesn't leave everyone hating their jobs, while still
| boosting productivity.
| raphinou wrote:
| I use ai to develop, but at every code review I find stuff to be
| corrected, which motivates me to continuing the reviews. It's
| still a win I think though. I've incrementally increased my use
| of ai in development [1], but I'm at a plateau now I think. I
| don't plan to go over to complete vibe coding for anything
| serious or to be maintained.
|
| 1: https://asfaload.com/blog/ai_use/
| ecshafer wrote:
| I never really got onto "vibe coding". I treat AI as a better
| auto-complete that has stack overflow knowledge.
|
| I am writing a game in Monogame, I am not primarily a game dev or
| a c sharp dev. I find AI is fantastic here for "Set up a
| configuration class for this project that maps key bindings" and
| have it handle the boiler plate and smaller configuration. Its
| great at give me an A start implementation for this graph. But
| when it becomes x -> y -> z without larger contexts and
| evolutions it falls flat. I still need creativity. I just don't
| worry too much about boiler plate, utility methods, and figuring
| out specifics of wiring a framework together.
| sheepscreek wrote:
| Good for the author. Me, never going back to hands-only coding. I
| am producing more higher quality code that I understand and feel
| confident in. I tell AI to not just "write tests", I tell it
| exactly what to test as well. Then I'll often prompt it "hey did
| you check for the xyz edge cases?" You need code reviews. You
| need to intervene. You will need frequent code rewrites and
| refactors. But AI is the best pair-coding partner you could hope
| for (at this time) and one that never gets tired.
|
| So while there's no free lunch, if you are willing to pay - your
| lunch will be a delicious unlimited buffet for a fraction of the
| cost.
| bobjordan wrote:
| Process and plumbing become very important when using ai for
| coding. Yes, you need good prompts. But as the code base gets
| more complex, you also need to spend significant time developing
| test guides, standardization documents, custom linters, etc, to
| manage the agents over time.
| wahnfrieden wrote:
| Claude Code slOpus user. No surprise this is their conclusion.
| eddyg wrote:
| Previous discussion on the video:
| https://news.ycombinator.com/item?id=46744572
| Painsawman123 wrote:
| In the long run, v _b_ coding is going to undoubtedly rot
| people's skills.if AGI is not showing up anytime soon, actually
| understanding what the code does,why it exists,how it breaks and
| who owns the fallout will matter just as much as it did before
| LLM agents showed up
|
| it'll be really interesting to see in the decades to come what
| happens when a whole industry gets used to releasing black boxes
| by v _b_ coding the hell out of it
| flankstaek wrote:
| Maybe I'm "vibecoding" wrong but to me at least this misses a
| clear step which is reviewing the code.
|
| I think coding with an AI changes our role from code writer to
| code reviewer, and you have to treat it as a comprehensive review
| where you comment not just on code "correctness" but these other
| aspects the author mentions, how functions fits together,
| codebase patterns, architectural implications. While I feel like
| using AI might have made me a lazier coder, it's made me a me a
| significantly more active reviewer which I think at least helps
| to bridge the gap the author is referencing.
| shas3 wrote:
| I don't get what everyone sees in this post. It is just a sloppy
| rant. It just talks in generalities. There is no coherent
| argument, there are no examples, and we don't even know the
| problem space in which the author had bad coding assistant
| experience.
| kaydub wrote:
| How were you "vibe coding" 2 years ago?
|
| There's been such a massive leap in capabilities since claude
| code came out, which was middle/end of 2025.
|
| 2 years ago I MAYBE used an LLM to take unstructured data and
| give me a json object of a specific structure. Only about 1 year
| ago did I start using llms for ANY type of coding and I would
| generally use snippets, not whole codebases. It wasn't until
| September when I started really leveraging the LLM for coding.
| pc86 wrote:
| Typical blogspam clickbait of "I knew what LLMs were 2 years,
| but maybe didn't know the name for them, so we'll call that
| vibecoding."
| koakuma-chan wrote:
| GitHub Copilot came out with AI autocomplete 2-3 years ago I
| believe.
| furyofantares wrote:
| Using autocomplete is very much not "vibe coding".
| JimDabell wrote:
| Vibe coding was coined less than a year ago:
|
| https://x.com/karpathy/status/1886192184808149383
| kridsdale1 wrote:
| To a describe a thing people had been doing since LLMs became
| available.
| JimDabell wrote:
| No. That's why he called it "a new kind of coding".
| honeycrispy wrote:
| "New" doesn't mean it was invented that morning. Things
| that are a few years old can still be considered "new".
| fragmede wrote:
| When LLMs first came out, they weren't very good at it,
| which makes all the difference. Sometimes the thing that's
| really good at something gets a different name. Chef vs
| cook, driver vs chauffeur, painter vs artist, programmer vs
| software developer, etc.
| wavemode wrote:
| Yeah, I laughed when I saw the headline.
|
| Now I expect to start seeing job postings asking for "3 years
| of experience vibe coding"
| furyofantares wrote:
| I was vibe coding in November 2024, before the term was
| coined. I think that is about as early as anyone was doing
| it, so 1.25 years ago. Cursor added its "agentic" mode around
| then, I think, but before that there was just "accept all"
| without looking at changes repeatedly.
|
| I shipped a small game that way (https://love-15.com/) -- one
| that I've wished to make for a long time but wouldn't have
| been worth building other wise. It's tiny, really, but very
| niche -- despite being tiny, I hit brick walls multiple times
| vibing it, and had to take a few brief breaks from vibing to
| get it unstuck.
|
| Claude Code was a step change after that, along with model
| upgrades, about 9 months ago. That size project has been
| doable as a vibe coded project since then without hitting
| brick walls.
|
| All this to say I really doubt most claims about having been
| vibe coding for more than 9-15 months.
| kridsdale1 wrote:
| I started doing it as soon as ChatGPT 3.5 was out. "Given this
| file tree and this method signature, implement the method". The
| context was only 8k so you had to function by function. About
| two editor screens worth at a time.
| kaydub wrote:
| Yeah, I've been working with LLMs since openai released that
| first model. What I'm doing today is VASTLY different than
| anything we thought possible back then, so I wouldn't call it
| "vibe coding"
| furyofantares wrote:
| Using an LLM to code isn't the same as vibe coding. Vibe
| coding, as originally coined, is not caring at all about the
| code or looking at the code. It was coined specifically to
| differentiate it from the type of AI-assisted coding you're
| talking about.
|
| It's used more broadly now, but still to refer to the
| opposite end of the spectrum of AI-assisted coding to what
| you described.
| Verdex wrote:
| Similar place. I kept trying to get LLMs to do anything
| interesting and the first time they were able was 4.5 sonnet.
|
| Best case is still operationally correct but nightmare fuel on
| the inside. So maybe good for one off tools where you control
| inputs and can vibe check outputs without diaster if you forget
| to carry the one.
| _rwo wrote:
| same; I think codex with gpt5 changed things for me; then opus
| 4.5 turned out to be also useful (yet quite pricey)
| yawnxyz wrote:
| I like to use AI to write code for me, but I like to take it one
| step at a time, looking at what it puts out and thinking about if
| it puts out what I want it to put out.
|
| As a PRODUCT person, it writes code 100x faster than I can, and I
| treat anything it writes as a "throwaway" prototype. I've never
| been able to treat my own code as throwaway, because I can't just
| throw away multiple weeks of work.
|
| It doesn't aid in my learning to code, but it does aid in me
| putting out much better, much more polished work that I'm excited
| to use.
| dev1ycan wrote:
| I vibe coded for a while (about a year) it was just so terrible
| for my ability to do anything, it started becoming recurring that
| I couldn't control my timelines because I would get into a loop
| where I would keep asking AI to "fix" things I didn't actually
| understand and had no mental capacity to actually read 50k lines
| of LLM generated code compared to if I had done it from scratch
| so I would keep and keep going.
|
| Or how I would start spamming SQL scripts and randomly at some
| point nuke all my work (happened more than once)... luckily at
| least I had backups regularly but... yeah.
|
| I'm sorry but no, LLMs can't replace software engineers.
| drowntoge wrote:
| I always scaffold for AI. I write the stub classes and interfaces
| and mock the relations between them by hand, and then ask the
| agent to fill in the logic. I know that in many cases, AI might
| come up with a demonstrably "better" architecture than me, but
| the best architecture is the one that I'm comfortable with, so
| it's worse even if it's better. I need to be able to find the
| piece of code I'm looking for intuitively and with relative ease.
| The agent can go as crazy as it likes inside a single, isolated
| function, but I'm always paranoid about "going too far" and
| losing control of any flows that span multiple points in the
| codebase. I often discard code that is perfectly working just
| because it feels unwieldy and redo it.
|
| I'm not sure if this counts as "vibe coding" per se, but I like
| that this mentality keeps my workday somewhat similar to how it
| was for decades. Finding/creating holes that the agent can fill
| with minimal adult supervision is a completely new routine
| throughout my day, but I think obsessing over maintainability
| will pay off, like it always has.
| GolDDranks wrote:
| I feel like I'm taking crazy pills. The article starts with:
|
| > you give it a simple task. You're impressed. So you give it a
| large task. You're even more impressed.
|
| That has _never_ been the story for me. I've tried, and I've got
| some good pointers and hints where to go and what to try, a
| result of LLM's extensive if shallow reading, but in the sense of
| concrete problem solving or code/script writing, I'm _always_
| disappointed. I've never gotten satisfactory code/script result
| from them without a tremendous amount of pushback, "do this part
| again with ...", do that, don't do that.
|
| Maybe I'm just a crank with too many preferences. But I hardly
| believe so. The minimum requirement should be for the code to
| work. It often doesn't. Feedback helps, right. But if you've got
| a problem where a simple, contained feedback loop isn't that easy
| to build, the only source of feedback is yourself. And that's
| when you are exposed to the stupidity of current AI models.
| dev_l1x_be wrote:
| Well one way of solving this is to keep giving it simple tasks.
| hmaxwell wrote:
| Exactly 100%
|
| I read these comments and articles and feel like I am
| completely disconnected from most people here. Why not use
| GenAI the way it actually works best: like autocomplete on
| steroids. You stay the architect, and you have it write code
| function by function. Don't show up in Claude Code or Codex
| asking it to "please write me GTA 6 with no mistakes or you
| go to jail, please."
|
| It feels like a lot of people are using GenAI wrong.
| latexr wrote:
| > It feels like a lot of people are using GenAI wrong.
|
| That argument doesn't fly when the sellers of the
| technology literally sing at you "there's no wrong way to
| prompt".
|
| https://youtu.be/9bBfYX8X5aU?t=48
| GoatInGrey wrote:
| The other side of this coin are the non-developer
| stakeholders who Dunning-Kruger themselves into firm
| conclusions on technical subjects with LLMs. "Well I can code
| this up in an hour, two max. Why is it taking you ten
| hours?". I've (anecdotally) even had project sponsors
| approach me with an LLM's judgement on their working
| relationship with me as if it were gospel like "It said that
| we aren't on the same page. We need to get aligned." It gets
| weird.
|
| These cases are common enough to where it's more systemic
| than isolated.
| GolDDranks wrote:
| Just a supplementary fact: I'm in the beneficial position,
| against the AI, that in a case where it's hard to provide that
| automatic feedback loop, I can run and test the code at my
| discretion, whereas the AI model can't.
|
| Yet. Most of my criticism is not after running the code, but
| after _reading_ the code. It wrote code. I read it. And I am
| not happy with it. No even need to run it, it's shit at glance.
| ReverseCold wrote:
| > I can run and test the code at my discretion, whereas the
| AI model can't.
|
| It sounds like you know what the problem with your AI
| workflow is? Have you tried using an agent? (sorry somewhat
| snarky but... come on)
| GolDDranks wrote:
| Yeah, you're right, and the snark might be warranted. I
| should consider it the same as my stupid (but cute) robot
| vacuum cleaner that goes at random directions but gets the
| job done.
|
| The thing that differentiates LLM's from my stupid but cute
| vacuum cleaner, is that the (at least OpenAI's) AI model is
| cocksure and wrong, which is infinitely more infuriating
| than being a bit clueless and wrong.
| yaur wrote:
| Give Cluade Code a go. It still makes a lot stupid
| mistakes, but its a vastly different experience from
| pasting back and forth with chat gpt.
| tayo42 wrote:
| There's no free trial or anything?
| yaur wrote:
| You can play with the model for free in chat... but if
| $20 for a coding agent isn't effectively free for use
| case it might not be the right tool for you.
|
| ETA: I've probably gotten 10k worth of junior dev time
| out of it this month.
| tayo42 wrote:
| The chat is limited and doesn't let you use the latest
| model. if that's representative of the answers I would
| get by paying, it doesn't seem worth it.
|
| Im not crazy about signing up for a subscription service,
| it depends on you remembering to cancel and not have a
| headache when you do cancel.
| storystarling wrote:
| I've been trying to solve this by wrapping the generation
| in a LangGraph loop. The hope was that an agent could
| catch the errors, but it seems to just compound the
| problem. You end up paying for ten API calls where the
| model confidently doubles down on the mistake, which gets
| expensive very quickly for no real gain.
| __MatrixMan__ wrote:
| You might get better code out of it if you give the AI some
| more restrictive handcuffs. Spin up a tester instance and
| have it tell the developer instance to try again until it's
| happy with the quality.
| elevation wrote:
| Yesterday I generated a for-home-use-only PHP app over the
| weekend with a popular cli LLM product. The app met all my
| requirements, but the generated code was mixed. It correctly
| used a prepared query to avoid SQL injection. But then,
| instead of an obvious: "SELECT * FROM table
| WHERE id=1;"
|
| it gave me: $result = $db->query("SELECT *
| FROM table;"); for ($row in $result) if
| ($["id"] == 1) return $row;
|
| With additional prompting I arrived at code I was comfortable
| deploying, but this kind of flaw cuts into the total time-
| savings.
| echohack5 wrote:
| I have found AI great in alot of scenarios but If I have a
| specific workflow, then the answer is specific and the ai will
| get it wrong 100% of the time. You have a great point here.
|
| A trivial example is your happy path git workflow. I want:
|
| - pull main
|
| - make new branch in user/feature format
|
| - Commit, always sign with my ssh key
|
| - push
|
| - open pr
|
| but it always will
|
| - not sign commits
|
| - not pull main
|
| - not know to rebase if changes are in flight
|
| - make a million unnecessary commits
|
| - not squash when making a million unnecessary commits
|
| - have no guardrails when pushing to main (oops!)
|
| - add too many comments
|
| - commit message too long
|
| - spam the pr comment with hallucinated test plans
|
| - incorrectly attribute itself as coauthor in some gorilla
| marketing effort (fixable with config, but whyyyyyy -- also
| this isn't just annoying, it breaks compliance in alot of
| places and fundamentally misunderstands the whole point of
| authorship, which is copyright --- and AIs can't own copyright
| )
|
| - not make DCO compliant commits ...
|
| Commit spam is particularly bad for bisect bug hunting and ref
| performance issues at scale. Sure I can enforce Squash and
| Merge on my repo but why am I relying on that if the AI is so
| smart?
|
| All of these things are fixed with aliases / magit / cli usage,
| using the thing the way we have always done it.
| furyofantares wrote:
| > why am I relying on that if the AI is so smart?
|
| Because it's not? I use these things very extensively to
| great effect, and the idea that you'd think of it as "smart"
| is alien to me, and seems like it would hurt your ability to
| get much out of them.
|
| Like, they're superhuman at breadth and speed and some other
| properties, but they don't make good decisions.
| ikrenji wrote:
| Is commit history that useful? I never wanted to look up
| anything in it that couldn't be solved with git log | grep
| xyz...
| habinero wrote:
| No-ish if you work by yourself, yes if you work with
| anybody else.
| b33j0r wrote:
| I usually do most of the engineering and it works great for
| writing the code. I'll say:
|
| > There should be a TaskManager that stores Task objects in a
| sorted set, with the deadline as the sort key. There should be
| methods to add a task and pop the current top task. The
| TaskManager owns the memory when the Task is in the sorted set,
| and the caller to pop should own it after it is popped. To
| enforce this, the caller to pop must pass in an allocator and
| will receive a copy of the Task. The Task will be freed from
| the sorted set after the pop.
|
| > The payload of the Task should be an object carrying a
| pointer to a context and a pointer to a function that takes
| this context as an argument.
|
| > Update the tests and make sure they pass before completing.
| The test scenarios should relate to the use-case domain of this
| project, which is home automation (see the readme and nearby
| tests).
| gedy wrote:
| What you're describing makes sense, but that type of
| prompting is not what people are hyping
| ljm wrote:
| The more accurate prompt would be "You are a mind reader.
| Create me a plan to create a task manager, define the
| requirements, deploy it, and tell me when it's done."
|
| And then you just rm -rf and repeat until something half
| works.
| varispeed wrote:
| "Here are login details to my hosting and billing
| provider. Create me a SaaS app where customers could rent
| virtual pets. Ensure it's AI and blockchain and looks
| inviting and employ addictive UX. I've attached company
| details for T&C and stuff. Ensure I start earning serious
| money by next week. I'll bump my subscription then if you
| deliver, and if not I will delete my account. Go!"
| Leherenn wrote:
| I haven't tried it, but someone at work suggested using
| voice input for this because it's so much easier to add
| details and constraints. I can certainly believe it, but I
| hate voice interfaces, especially if I'm in an open space
| setting.
|
| You don't even have to be as organised as in the example,
| LLMs are pretty good at making something out of ramblings.
| apercu wrote:
| This is similar to how I prompt, except I start with a text
| file and design the solution and paste it in to an LLM after
| I have read it a few times. Otherwise, if I type directly in
| to the LLM and make a mistake it tends to come back and haunt
| me later.
| varispeed wrote:
| This is a good start. I write prompts as if I was instructing
| junior developer to do stuff I need. I make it as detailed
| and clear as I can.
|
| I actually don't like _writing_ code, but enjoy reading it.
| So sessions with LLM are very entertaining, especially when I
| want to push boundaries (I am not liking this, the code seems
| a little bit bloated. I am sure you could simplify X and Y.
| Also think of any alternative way that you reckon will be
| more performant that maybe I don't know about). Etc.
|
| This doesn't save me time, but makes work so much more
| enjoyable.
| logicprog wrote:
| > I actually don't like _writing_ code, but enjoy reading
| it.
|
| I think this is one of the divides between people who like
| AI and people who don't. I don't mind writing code _per se_
| , but I really don't like text editing -- and I've used Vim
| (Evil mode) and then Emacs (vanilla keybindings) for years,
| so it's not like I'm using bad tools; it's just too fiddly.
| I don't like moving text around; munging control structures
| from one shape to another; I don't like the busy work of
| copying and pasting code that isn't worth DRYing, or isn't
| capable of being DRY'd effectively; I hate going around and
| fixing all the little compiler and linter errors produced
| by a refactor manually; and I really hate the process of
| filling out the skeleton of an type/class/whatever
| architecture in a new file before getting to the meat.
|
| However, reading code is pretty easy for me, and I'm very
| good at quickly putting algorithms and architectures I have
| in my head into words -- and, to be honest, I often find
| this clarifies the high level idea more than writing the
| code for it, because I don't get lost in the forest -- and
| I also really enjoy taking something that isn't quite good
| enough, that's maybe 80% of the way there, and doing the
| careful polishing and refactoring necessary to get it to
| 100%.
| MarsIronPI wrote:
| I don't want to be "that guy", but I'll indulge myself.
|
| > I think this is one of the divides between people who
| like AI and people who don't. I don't mind writing code
| per se, but I really don't like text editing -- and I've
| used Vim (Evil mode) and then Emacs (vanilla keybindings)
| for years, so it's not like I'm using bad tools; it's
| just too fiddly.
|
| I feel the same way (to at least some extent) about every
| language I've used other than Lisp. Lisp + Paredit in
| Emacs is the most pleasant code-wrangling experience I've
| ever had, because rather having to think in terms of
| characters or words, I'm able to think in terms of
| expressions. This is possible with other languages thanks
| to technologies like Tree-sitter, but I've found that
| it's only possible to do reliably in Lisp. When I do it
| in any other language I don't have an unshakable
| confidence that the wrangling commands will do exactly
| what I intend.
| logicprog wrote:
| Yes! Don't worry about it, I very much agree. However, I
| do think that even if/when I'm using Lisp and have all
| the best structural editing capabilities at my disposal,
| I'd still prefer to have an agent do my editing for me;
| I'd just be 30% more likely to jump in and write code
| myself on occasion -- because ultimately, even with
| structural editing, you're still thinking about how to
| apply this constrained set of operations to manipulate a
| tree of code to get it to where you want, and then having
| to go through the grunt work of actually _doing_ that,
| instead of thinking about what state you want the code to
| be in directly.
|
| Vehement agreeing below:
|
| S-expressions are a massive boon for text editing,
| because they allow such incredible structural
| transformations and motions. The problem is that,
| personally, I don't actually find Lisp to be the best
| tool for the job for any of the things I want to do.
| While I find Common Lisp and to a lesser degree Scheme to
| be fascinating languages, the state of the library
| ecosystem, documentation, toolchain, and IDEs around them
| just aren't satisfactory to me, and they don't seem
| really well adapted to the things I want to do. And yeah,
| I could spend my time optimizing Common Lisp with
| `declare`s and doing C-FFI with it, massaging it to do
| what I want, that's not what I want to spend my time
| doing. I want to actually finish writing tools that are
| useful to me.
|
| Moreover, while I used to have hope for tree-sitter to
| provide a similar level of structural editing for other
| languages, at least in most editors I've just not found
| that to be the case. There seem really to be two ways to
| use tree-sitter to add structural editing to languages:
| one, to write custom queries for every language, in order
| to get Vim style syntax objects, and two, to try to
| directly move/select/manipulate all nodes in the concrete
| syntax tree as if they're the same, essentially trying to
| treat tree-sitter's CSTs like S-expressions.
|
| The problem with the first approach is that you end up
| with really limited, often buggy or incomplete, language
| support, and structural editing that requires a lot more
| cognitive overhead: instead of navigating a tree fluidly,
| you're having to "think before you act," deciding ahead
| of time what the specific name, in this language, is for
| the part of the tree you want to manipulate.
| Additionally, this approach makes it much more difficult
| to do more high level, interesting transformations; even
| simple ones like slurp and barf become a bit problematic
| when you're dealing with such a typed tree, and more
| advanced ones like convolute? Forget about it.
|
| The problem with the second approach is that, if you're
| trying to do generalized tree navigation, where you're
| not up-front _naming the specific thing you 're talking
| about_, but instead navigating the concrete syntax tree
| as if it's S-expressions, you run into the problem the
| author of Combobulate and Mastering Emacs talks about[1]:
| CSTs are actually really different from S-expressions in
| practice, because they don't map uniquely onto source
| code text; instead, they're something overlaid on _top_
| of the source code text, which is not one to one with it
| (in terms of CST nodes to text token), but many to one,
| because the CST is very granular. Which means that there
| 's a lot of ambiguity in trying to understand where the
| user is in the tree, where they think they are, and where
| they intend to go.
|
| There's also the fact that tree-sitter CSTs contain a lot
| of unnamed nodes (what I call "stop tokens"), where the
| delimiters for a node of a tree and its children are
| themselves children of that node, siblings with the
| actual siblings. And to add insult to injury, most
| language syntaces just... don't really lend themselves to
| tree navigation and transformation very well.
|
| I actually _tried_ to bring structural editing to a level
| equivalent to the S-exp commands in Emacs recently[2],
| but ran into all of the above problems. I recently moved
| to Zed, and while its implementation of structural
| editing and movement is better than mine, and pretty
| close to 1:1 with the commands available in Emacs
| (especially if they accept my PR[3]), and also takes the
| second, language-agnostic, route, it 's still not as
| intuitive and reliable as I'd like.
|
| [1]: https://www.masteringemacs.org/article/combobulate-
| intuitive...
|
| [2]: https://github.com/alexispurslane/treesit-sexp
|
| [3]: https://github.com/zed-industries/zed/pull/47571
| skydhash wrote:
| A bit different from you
|
| When I code, I mostly go by two perspectives: The
| software as a process and the code as a communication
| medium.
|
| With the software as a process, I'm mostly thinking about
| the semantics of each expressions. Either there's a final
| output (transient, but important) or there's a mutation
| to some state. So the code I'm writing is for making
| either one possible and the process is very pleasing,
| like building a lego. The symbols are the bricks and
| other items which I'm using to create things that does
| what I want.
|
| With the code as communication, I mostly take the above
| and make it readable. Like organizing files, renaming
| variables and functions, modularising pieces of code. The
| intent is for other people (including future me) to be
| able to understand and modify what I created in the
| easiest way possible.
|
| So the first is me communicating with the machine, the
| second is me communicating with the humans. The first is
| very easy, you only need to know the semantics of the
| building blocks of the machine. The second is where the
| craft comes in.
|
| Emacs (also Vim) makes both easy. Code has a very rigid
| structure and both have tools that let you manipulate
| these structure either for adding new actions or refine
| the shape for understanding.
|
| With AI, it feels like painting with a brick. Or
| transmitting critical information through a telephone
| game. Control and Intent are lost.
| logicprog wrote:
| Yeah, I feel like I get really good results from AI, and this
| is very much how I prompt as well. It just takes care of
| writing the code, making sure to update everything that is
| touched by that code guided by linters and type-checkers, but
| it's always executing my architecture and algorithm, and I
| spend time carefully trying to understand the problem before
| I even begin.
| eslaught wrote:
| But this is what I don't get. Writing code is _not that
| hard_. If the act of physically typing my code out is a
| bottleneck to my process, _I am doing something wrong_.
| Either I 've under-abstracted, or over-abstracted, or flat
| out have the wrong abstractions. It's time to sit back and
| figure out why there's a mismatch with the problem domain
| and come back at it from another direction.
|
| To me this reads like people have learned to put up with
| poor abstractions for so long that having the LLM take care
| of it feels like an improvement? It's the classic C++ vs
| Lisp discussion all over again, but people forgot the old
| lessons.
| b33j0r wrote:
| I think of it more like moving from sole developer to a
| small team lead. Which I have experienced in my career a
| few times.
|
| I still write my code in all the places I care about, but
| I don't get stuck on "looking up how to enable websockets
| when creating the listener before I even pass anything to
| hyper."
|
| I do not care to spend hours or days to know that API
| detail from personal pain, because it is hyper-specific,
| in both senses of hyper-specific.
|
| (For posterity, it's `with_upgrades`... thanks chatgpt
| circa 12 months ago!)
| NicuCalcea wrote:
| > Writing code is not that hard.
|
| It's not that hard, but it's not that easy. If it was
| easy, everyone would be doing it. I'm a journalist who
| learned to code because it helped me do some stories that
| I wouldn't have done otherwise.
|
| But I don't like to type out the code. It's just no fun
| to me to deal with what seem to me arbitrary syntax
| choices made by someone decades ago, or to learn new
| jargon for each language/tool (even though other
| languages/tools already have jargon for the exact same
| thing), or to wade through someone's undocumented code to
| understand how to use an imported function. If I had a
| choice, I'd rather learn a new human language than a
| programming one.
|
| I think people like me, who (used to) code out of
| necessity but don't get much gratification out of it, are
| one of the primary targets of vibe coding.
| SCdF wrote:
| I am getting workable code with Claude on a 10kloc Typescript
| project. I ask it to make plans then execute them step by step.
| I have yet to try something larger, or something more obscure.
| jasondigitized wrote:
| This. I feel like folks are living in two separate worlds.
| You need to narrow the aperture and take the LLm through
| discrete steps. Are people just saying it doesn't work
| because they are pointing it at 1m loc monoliths and trying
| to oneshot a giant epic?
| nh23423fefe wrote:
| AI was useless for me on a refactor of a repo 20k loc even
| after I gave examples of the migrations I wanted in
| commits.
|
| It would correctly modify a single method. I would ask it
| to repeat for next and it would fail.
|
| The code that our contractors are submitting is trash and
| very high loc. When you inspect it you can see that unit
| tests are testing nothing of value.
| when(mock.method(foo)).thenReturn(bar) assert(bar ==
| bar)
|
| stuff like that
|
| its all fake coverage, for fake tests, for fake OKRs
|
| what are people actually getting done? I've sat next to our
| top evangelist for 30 minutes pair programming and he just
| fought the tool saying something was wrong with the db
| while showing off some UI I dont care about.
|
| like that seems to be the real issue to me. i never bother
| wasting time with UI and just write a tool to get something
| done. but people seem impressed that AI did some shitty
| data binding to a data model that cant do anything, but its
| pretty.
|
| it feels weird being an avowed singularitarian but adamant
| that these tools suck now.
| echelon wrote:
| I'm using Claude in a giant Rust monorepo. It's really good
| at implementing HTTP handlers and threaded workers when I
| point it at prior examples.
| brabel wrote:
| Most agents do that by default now.
| GoatInGrey wrote:
| I feel like there is a nuance here. I use GitHub Copilot
| and Claude Code, and unless I tell it to not do anything,
| or explicitly enable a plan mode, the LLM will usually jump
| straight to file edits. This happens even if I prompt it
| with something as simple as "Remind me how loop variable
| scoping works in this language?".
| jasondigitized wrote:
| I feel like I am taking crazy pills. I am getting code that
| works from Opus 4.5. It seems like people are living in two
| separate worlds.
| zeroCalories wrote:
| It depends heavily on the scope and type of problem. If
| you're putting together a standard isolated TypeScript app
| from scratch it can do wonders, but many large systems are
| spread between multiple services, use abstractions unique to
| the project, and are generally dealing with far stricter
| requirements. I couldn't depend on Claude to do some of the
| stuff I'd really want, like refactor the shared code between
| six massive files without breaking tests. The space I can
| still have it work productively in is still fairly limited.
| ruszki wrote:
| Working code doesn't mean the same for everyone. My coworker
| just started vibe coding. Her code works... on happy paths.
| It absolutely doesn't work when any kind of error happens.
| It's also absolutely impossible to refactor it in any way.
| She thinks her code works.
|
| The same coworker asked to update a service to Spring Boot 4.
| She made a blog post about. She used LLM for it. So far every
| point which I read was a lie, and her workarounds make, for
| example tests, unnecessarily less readable.
|
| So yeah, "it works", until it doesn't, and when it hits you,
| that you need to work more in sum at the end, because there
| are more obscure bugs, and fixing those are more difficult
| because of terrible readability.
| GoatInGrey wrote:
| That's a significant rub with LLMs, particularly hosted ones:
| the variability. Add in quantization, speculative decoding,
| and dynamic adjustment of temperature, nucleus sampling,
| attention head count, & skipped layers at runtime, and you
| can get wildly different behaviors with even the same prompt
| and context sent to the same model endpoint a couple hours
| apart.
|
| That's all before you even get to all of the _other_ quirks
| with LLMs.
| WarmWash wrote:
| I can't help but think of my earliest days of coding, 20ish
| years ago, when I would post my code online looking for help
| on a small thing, and being told that my code is garbage and
| doesn't work at all even if it actually is working.
|
| There are many ways to skin a cat, and in programming the
| happens-in-a-digital-space aspect removes seemingly all
| boundaries, leading to fractal ways to "skin a cat".
|
| _A lot_ of programmers have hard heads and _know_ the right
| way to do something. These are the same guys who criticized
| every other senior dev as being a bad /weak coder long before
| LLMs were around.
| crystal_revenge wrote:
| Parent's profile shows that they are an experienced software
| engineer in multiple areas of software development.
|
| Your own profile says you are a PM whose software skills
| amount to "Script kiddie at best but love hacking things
| together."
|
| It seems like the "separate worlds" you are describing is the
| impression of reviewing the code base from a seasoned
| engineer vs an amateur. It shouldn't be even a little
| surprising that your impression of the result is that the
| code is much better looking than the impression of a more
| experienced developer.
|
| At least in my experience, learning to quickly _read_ a code
| base is one of the later skills a software engineer develops.
| Generally only very experienced engineers can dive into an
| open source code base to answer questions about how the
| library works and is used (typically, most engineers need
| documentation to aid them in this process).
|
| I mean, I've dabbled in home plumbing quite a bit, but if AI
| instructed me to repair my pipes and I thought it "looked
| great!" but an experienced plumber's response was "ugh, this
| doesn't look good to me, lots of issues here" I wouldn't
| argue there are "two separate worlds".
| ModernMech wrote:
| > It shouldn't be even a little surprising that your
| impression of the result is that the code is much better
| looking than the impression of a more experienced
| developer.
|
| This really is it: AI produces bad to mediocre code. To
| someone who produces terrible code mediocre is an upgrade,
| but to someone who produces good to excellent code,
| mediocre is a downgrade.
| jasondigitized wrote:
| Today. It produces mediocre code today. That is really
| it. What is the quality of that code compared to 1 year
| ago. What will it be in 1 year? Opus 6.5 is inevitable.
| ModernMech wrote:
| That's what they've been saying for years now. Seems like
| the same FSD marketing. Any day now it'll be driving
| across the country! Just you wait! -> Any day now it'll
| be replacing software developers! Just you wait! Frankly,
| the same people who fell for the former are falling for
| the latter.
|
| Rather, to me it looks like all we're getting with
| additional time is marginal returns. What'll it be in 1
| year? Marginally better than today, just like today is
| marginally better compared to a year ago. The exponential
| gains in performance are already over. What we're looking
| at now is exponentially more work for linear gains in
| performance.
| AstroBen wrote:
| It produces the same quality code as it did years ago.
| The difference now is that it tends to function
|
| Still bad code though
|
| And by bad I'm not making a stylistic judgement. I mean
| it'll be hell to work with, easy to add bugs, and slow to
| change
| habinero wrote:
| Yeah. It turns 0.05X developers into 0.2X developers and
| 1X developers into 0.9-1.1X developers.
|
| The problem is the 0.05X developers thought they were
| 0.5X and now they think they're 20X.
| jasondigitized wrote:
| Except I work with extremely competent software engineers
| on software used in mission critical applications in the
| Fortune 500. I call myself a script kiddie because I did
| not study Computer Science. Am I green in the test run?
| Does it pass load tests? Is it making money? While some of
| yall are worried about leaky abstractions, we just closed
| another client. Two worlds for sure where one team is
| skating to the puck, looking to raise cattle while another
| wants to continue nurturing an exotic pet.
|
| Plenty of respect to the craft of code but the AI of today
| is the worst is is ever going to be.
| crystal_revenge wrote:
| Can you just clarify the claim you're making here: you
| personally are shipping vibe coded features, as a PM,
| that makes it into prod and this prod feature that you're
| building is largely vibe coded?
| AstroBen wrote:
| Have a read of this:
| https://martinfowler.com/articles/is-quality-worth-
| cost.html
| HarHarVeryFunny wrote:
| That is such a vague claim, that there is no contradiction.
|
| Getting code to do exactly what, based on using and prompting
| Opus in what way?
|
| Of course it works well for some things.
| jjice wrote:
| I've found that the thing that made is really click for me was
| having reusable rules (each agent accepts these differently)
| that help tell it patterns and structure you want.
|
| I have ones that describe what kinds of functions get unit vs
| integration tests, how to structure them, and the general kinds
| of test cases to check for (they love writing way too many
| tests IME). It has reduced the back and forth I have with the
| LLM telling it to correct something.
|
| Usually the first time it does something I don't like, I have
| it correct it. Once it's in a satisfactory state, I tell it to
| write a Cursor rule describing the situation BRIEFLY (it gets
| way to verbose by default) and how to structure things.
|
| That has made writing LLM code so much more enjoyable for me.
| nozzlegear wrote:
| You're not taking crazy pills, this is my exact experience too.
| I've been using my wife's eCommerce shop (a headless Medusa
| instance, which has pretty good docs and even their own
| documentation LLM) as a 100% vibe-coded project using Claude
| Code, and it has been one comedy of errors after another. I
| can't tell you how many times I've had it go through the loop
| of Cart + Payment Collection link is broken -> Redeploy ->
| Webhook is broken (can't find payment collection) -> Redeploy
| -> Cart + Payment Collection link is broken -> Repeat. And it
| _never_ seems to remember the reasons it had done something
| previously - despite it being plastered 8000 times across the
| CLAUDE.md file - so it bumbles into the same fuckups over and
| over again.
|
| A complete exercise in frustration that has turned me off of
| all agentic code bullshit. The only reason I still have Claude
| Code installed is because I like the `/multi-commit` skill I
| made.
| bofadeez wrote:
| Yeah exactly this
| ActorNightly wrote:
| Its really becoming a good litmus test for how someones coding
| ability whether they think LLMS can do well on complex tasks.
|
| For example, someone may ask an LLM to write a simple http web
| server, and it can do that fine, and they consider that
| complex, when in reality its really not.
| threethirtytwo wrote:
| It's not. There are tons of great programmers, that are big
| names in the industry who now exclusively vibe code. Many of
| these names are obviously intelligent and great programmers.
|
| This is an extremely false statement.
| HarHarVeryFunny wrote:
| People use "vibe coding" to mean different things - some
| mean the original Karpathy "look ma, no hands!", feel the
| vibez, thing, and some just (confusingly) use "vibe coding"
| to refer to any use of AI to write code, including treating
| it as a tool to write small well-defined parts that you
| have specified, as opposed to treating it as a magic genie.
|
| There also seem to be people hearing big names like
| Karpathy and Linus Torvalds say they are vibe coding on
| their hobby projects, meaning who knows what, and
| misunderstanding this as being an endorsement of "magic
| genie" creation of professional quality software.
|
| Results of course also vary according to how well what you
| are asking the AI to do matches what it was trained on.
| Despite sometimes feeling like it, it is not a magic genie
| - it is a predictor that is essentially trying to best
| match your input prompt (maybe a program specification) to
| pieces of what it was trained on. If there is no good
| match, then it'll have a go anyway, and this is where
| things tend to fall apart.
| threethirtytwo wrote:
| karpathy is biased. I wouldn't use his name as he's
| behind the whole vibe coding movement.
|
| You have to pick people with nothing to gain.
| https://x.com/rough__sea/status/2013280952370573666
| HarHarVeryFunny wrote:
| I don't think he meant to start a movement - it was more
| of a throw-away tweet that people took way too seriously,
| although maybe with his bully pulpit he should have
| realized that would happen.
| threethirtytwo wrote:
| Still I don't think he'll speak against it.
| dudeinhawaii wrote:
| Funny, the last interview I watched with Karpathy he
| highlighted the way the AI/LLM was unable to think in a
| way that aligned with his codebase. He described vibe-
| coding a transition from Python to Rust but specifically
| called out that he hand-coded all of the python code due
| to weaknesses in LLM's ability to handle performant code.
| I'm pretty sure this was the last Dwarkesh interview with
| "LLMs as ghosts".
| HarHarVeryFunny wrote:
| Right, and he also very recently said that he felt
| essentially left behind by AI coding advances, thinking
| that his productivity could be 10x if he knew how to use
| it better.
|
| It seems clear that Karpathy himself is well aware of the
| difference between "vibe coding" as he defined it (which
| he explicitly said was for playing with on hobby
| projects), and more controlled productive use of AI for
| coding, which has either eluded him, or maybe his
| expectations are too high and (although it would be
| surprising) he has not realized the difference between
| the types of application where people are finding it
| useful, and use cases like his own that do not play to
| its strength.
| ActorNightly wrote:
| Non sequitor.
|
| You don't have to be bad at coding to use LLMs. The
| argument was specifically about thinking that LLMS can be
| great at accomplishing complex tasks (which they are not)
| threethirtytwo wrote:
| Wtf are you talking about. Great programmers use LLMs for
| complex tasks. That was the point of my comment
| mike741 wrote:
| You didn't state any complex tasks though. You only
| stated programmers who use LLMs.
| bofadeez wrote:
| How many more appeal-to-authority counter arguments are
| going to be made in this thread
| threethirtytwo wrote:
| They are more effective then on the ground in your face
| evidence largely because people who are so against AI are
| blind to it.
|
| I hold a result of AI in front of your face and they
| still proclaim it's garbage and everything else is
| fraudulent.
|
| Let's be clear. You're arguing against a fantasy. Nobody
| even proponents of AI claims that AI is as good as
| humans. Nowhere near it. But they are good enough for
| pair programming. That is indisputable. Yet we have tons
| of people like you who stare at reality and deny it and
| call it fraudulent.
|
| Examine the lay of the land if that many people are so
| divided it really means both perspectives are correct in
| a way.
| bofadeez wrote:
| I think the author is way understating the uselessness of
| LLMs in any serious context outside of a demo to an
| investor. I've had nothing but low IQ nonsense from every
| SOTA model.
|
| If we're being honest with ourselves, Opus 4.5 / GPT 5.2
| etc are maybe 10-20% better than GPT 3.5 at most. It's a
| total and absolute catastrophic failure that will go down
| in history as one of humanity's biggest mistakes.
| habinero wrote:
| If you want to be any good at all in this industry, you
| have to develop enough technical skills to evaluate
| claims for yourself. You have to. It's essential.
|
| Because the dirty secret is a lot of successful people
| aren't actually smart or talented, they just got lucky.
| Or they aren't successful at all, they're just good at
| pretending they are, either through taking credit for
| other people's work or flat out lying.
|
| I've run into more than a few startups that are just flat
| out lying about their capabilities and several that were
| outright fraud. (See DoNotPay for a recent fraud example
| lol)
|
| Pointing to anyone and going "well THEY do it, it MUST
| work" is frankly engineering malpractice. It might work.
| But unless you have the chops to verify it for yourself,
| you're just asking to be conned.
| AstroBen wrote:
| Yeah, take Ryan Dahl:
|
| His tweets were getting ~40k views average. He made his big
| proclamation about AI and boom viral 7 million
|
| This is happening over, and over, and over again
|
| I'm not saying he's making shit up but you're naive if you
| don't think they're slightly tempted by the clear reaction
| this content gets
| threethirtytwo wrote:
| He'd get an equivalent reaction for talking shit about
| AI. Anyway it's not just him. Plenty of other people.
| threethirtytwo wrote:
| I think it's usage patterns. It is you in a sense.
|
| You can't deny the fact that someone like Ryan dhal creator of
| nodejs declared that he no longer writes code is objectively
| contrary to your own experience. Something is different.
|
| I think you and other deniers try one prompt and then they see
| the issues and stop.
|
| Programming with AI is like tutoring a child. You teach the
| child, tell it where it made mistakes and you keep iterating
| and monitoring the child until it makes what you want. The
| first output is almost always not what you want. It is the
| feedback loop between you and the AI that cohesively creates
| something better than each individual aspect of the human-AI
| partnership.
| CivBase wrote:
| > Programming with AI is like tutoring a child. You teach the
| child, tell it where it made mistakes and you keep iterating
| and monitoring the child until it makes what you want.
|
| Who are you people who spend so much time _writing code_ that
| this is a significant productivity boost?
|
| I'm imagining doing this with an actual child and how long it
| would take for me to get a real return on investment at my
| job. Nevermind that the limited amount of time I get to spend
| writing code is probably the highlight of my job and I'd be
| effectively replacing that with more code reviews.
| dimitri-vs wrote:
| A better way to put it is with this example: I put my
| symptoms into ChatGPT and it gives some generic info with a
| massive "not-medical-advice" boilerplate and refuses to
| give specific recommendations. My wife (an NP) puts in
| anonymous medical questions and gets highly specific med
| terminology heavy guidance.
|
| That's all to say the learning curve with LLMs is how to
| say things a specific way to reliability get an outcome.
| shimman wrote:
| These people are just the same charlatans and scammers you
| saw in the web3 sphere. Invoking Ryan Dahl as some sort of
| authority figure and not a tragic figure that sold his soul
| to VC companies is even more pathetic.
| threethirtytwo wrote:
| Don't appreciate this comment. Calling me a charlatan is
| rude. He's not authority, but he has more credibility
| than you and most people on HN.
|
| There is obvious division of ideas here. But calling one
| side stupid or referring to them as charlatans is
| outright wrong and biased.
| shimman wrote:
| No one called YOU a charlatan, get thicker skin because
| you are going to run into more and more people that
| absolutely hate these tools.
|
| There is a reason why they struggle selling them and
| executives are force feeding them to their workers.
|
| Charlatan is the perfect term for those that stand to
| make money selling half baked goods and forcing more mass
| misery upon society.
| threethirtytwo wrote:
| it's not just writing code.
|
| And maybe child is too simplistic of an analogy. It's more
| like working with a savant.
|
| The type of thing you can tell AI to do is like this: You
| tell it to code a website... it does it, but you don't like
| the pattern.
|
| Say, "use functional programming", "use camel-case" don't
| use this pattern, don't use that. And then it does it. You
| can leave it in the agent file and those instructions
| become burned into it forever.
| boredtofears wrote:
| Here's an example:
|
| I recently inherited an over decade old web project full of
| EOL'd libraries and OS packages that desperately needed to
| be modernized.
|
| Within 3 hours I had a working test suite with 80% code
| coverage on core business functionality (~300 tests). Now -
| maybe the tests aren't the best designs given there is no
| way I could review that many tests in 3 hours, but I know
| empirically that they cover a majority of the code of the
| core logic. We can now incrementally upgrade the project
| and have at least some kind of basic check along the way.
|
| There's no way I could have pieced together as large of a
| working test suite using tech of that era in even double
| that time.
| draebek wrote:
| You know they cause a majority of the code of the core
| logic to execute, right? Are you sure the tests actually
| check that those bits of logic are doing the right thing?
| I've had Claude et al. write me plenty of tests that
| exercise things and then explicitly swallow errors and
| pass.
| boredtofears wrote:
| Yes, the first hour or so was spent fidgeting with test
| creation. It started out doing it's usual whacky behavior
| like checking the existence of a method and calling that
| a "pass", creating a mock object that mocked the return
| result of the logic it was supposed to be testing, and
| (my favorite) copying the logic out of the code and
| putting it directly into the test. Lots of course
| correction, but once I had one well written test that I
| had fully proofed myself I just provided it that test as
| an example and it did a pretty good job following those
| patterns for the remainder. I still sniffed out all the
| output for LLM whackiness though. Using a code coverage
| tool also helps a lot.
| EagnaIonat wrote:
| > maybe the tests aren't the best designs given there is
| no way I could review that many tests in 3 hours,
|
| If you haven't reviewed and signed off then you have to
| assume that the stuff is garbage.
|
| This is the crux of using AI to create anything and it
| has been a core rule of development for many years that
| you don't use wizards unless you understand what they are
| doing.
| GorbachevyChase wrote:
| My personal suspicion is that the detractors value process
| and implementation details much more highly than results.
| That would not surprise me if you come from a business that
| is paid for its labor inputs and is focused on keeping a
| large team billable for as long as possible. But I think
| hackers and garage coders see the value of "vibing" as they
| are more likely to be the type of people who just want
| results and view all effort as margin erosion rather than the
| goal unto itself.
|
| The only thing I would change about what you said is, I don't
| see it as a child that needs tutoring. It feels like I'm
| outsourcing development to an offshore consultancy where we
| have no common understanding, except the literal meaning of
| words. I find that there are very, very many problems that
| are suited well enough to this arrangement.
| TheCapeGreek wrote:
| My 2c: there is a divide, unacknowledged, between
| developers that care about "code correctness" (or any other
| quality/science/whatever adjective you like) and those who
| care about the whole system they are creating.
|
| I care about making stuff. "Making stuff" means stuff that
| I can use. I care about code quality yes, but not to an
| obsessive degree of "I hate my framework's ORM because of
| <obscure reason nobody cares about>". So, vibe coding is
| great, because I know enough to guide the agent away from
| issues or describe how I want the code to look or be
| changed.
|
| This gets me to my desired effect of "making stuff" much
| faster, which is why I like it.
| __grob wrote:
| It still amazes me that so many people can see LLMs writing
| code as anything less than a miracle in computing...
| Balinares wrote:
| I mean, a trained dog who plays the piano is a miracle in
| canine education, until such a point where you assess the
| quality of its performance.
| giancarlostoro wrote:
| The secret sauce for me is Beads. Once Beads is setup you make
| the tasks and refine them and by the end each task is a very
| detailed prompt. I have Claude ask me clarifying questions, do
| research for best practices etc
|
| Because of Beads I can have Claude do a code review for serious
| bugs and issues and sure enough it finds some interesting
| things I overlooked.
|
| I have also seen my peers in the reverse engineering field make
| breakthroughs emulating runtimes that have no or limited
| existing runtimes, all from the ground up mind you.
|
| I think the key is thinking of yourself as an architect /
| mentor for a capable and promising Junior developer.
| causalscience wrote:
| You're not crazy, I'm also always disappointed.
|
| My theory is that the people who are impressed are trying to
| build CRUD apps or something like that.
| anthonypasq96 wrote:
| so 99% of all software?
| causalscience wrote:
| Exactly. That's why you see so many people say it works
| great. And the rest of us are like "am I the crazy one?"
| No, you just don't build CRUD apps.
| Balinares wrote:
| Nah, I'm with you there. I've yet to see even Opus 4.5 produce
| something close to production-ready -- in fact Opus seems like
| quite a major defect factory, given its consistent tendency
| toward hardcoding case by case workarounds for issues caused by
| its own bad design choices.
|
| I think uncritical AI enthusiasts are just essentially making
| the bet that the rising mountains of tech debt they are leaving
| in their wake can be paid off later on with yet more AI. And
| you know, that might even work out. Until such a time, though,
| and as things currently stand, I struggle to understand how one
| can view raw LLM code and find it acceptable by any
| professional standard.
| Obscurity4340 wrote:
| It helps to write out the prompt in a seperate text editor so
| you can edit it and try to desribe what the input is, and what
| output you want as well as try to describe and catch likely or
| iteratively observed issues.
|
| You try a gamut of sample inputs and observe where its going
| awry? Describe the error to it and see what it does
| feifan wrote:
| > Feedback helps, right. But if you've got a problem where a
| simple, contained feedback loop isn't that easy to build, the
| only source of feedback is yourself. And that's when you are
| exposed to the stupidity of current AI models.
|
| That's exactly the point. Modern coding agents aren't smart
| software engineers per se; they're very very good goal-seekers
| whose unit of work is code. They _need_ automatable feedback
| loops.
| globular-toast wrote:
| It took me about two weeks to realise this. I still use LLMs, but
| it's just a tool. Sometimes it's the right tool, but often it
| isn't. I don't use an SDS drill to smooth down a wall. I use
| sandpaper and do it by hand.
| BinaryIgor wrote:
| I don't know whether I would go that extreme, but I also often
| find myself faster writing code manually; for some tasks though
| and contextually, AI-assisted coding is pretty useful, but you
| still must be in the driving seat, at all times.
|
| Good take though.
| advael wrote:
| I feel vindicated by this article, but I shouldn't. I have to
| admit that I never developed the optimism to do this for two
| years, but have increasingly been trying to view this as a
| personal failing of closed-mindedness, brought on by an
| increasing number of commentators and colleagues coming around to
| "vibe-coding" as each "next big thing" in it dropped.
|
| I think the most I can say I've dove in was in the last week. I
| wrangled some resources to build myself a setup with a completely
| self-hosted and agentic workflow and used several open-weight
| models that people around me had specifically recommended, and I
| had a work project that was self-contained and small enough to
| work from scratch. There were a few moving pieces but the models
| gave me what looked like a working solution within a few
| iterations, and I was duly impressed until I realized that it
| wasn't quite working as expected.
|
| As I reviewed and iterated on it more with the agents, eventually
| this rube-goldberg machine started filling in gaps with print
| statements designed to trick me and sneaky block comments that
| mentioned that it was placeholder code not meant for production
| in oblique terms three lines into a boring description of what
| the output was supposed to be. This should have been obvious, but
| even at this point four days in I was finding myself missing more
| things, not understanding the code because I wasn't writing it.
| This is basically the automation blindness I feared from
| proprietary workflows that could be changed or taken away at any
| time, but much faster than I had assumed, and the promise of
| being able to work through it at this higher level, this new way
| of working, seemed less and less plausible the more I iterated,
| even starting over with chunks of the problem in new contexts as
| many suggest didn't really help.
|
| I had deadlines, so I gave up and spent about half of my weekend
| fixing this by hand, and found it incredibly satisfying when it
| worked, but all-in this took more time and effort and perhaps
| more importantly caused more stress than just writing it in the
| first place probably would have
|
| My background is in ML research, and this makes it perhaps easier
| to predict the failure modes of these things (though surprisingly
| many don't seem to), but also makes me want to be optimistic, to
| believe this can work, but I also have done a lot of work as a
| software engineer and I think my intuition remains that doing
| precision knowledge work of any kind at scale with a generative
| model remains A Very Suspect Idea that comes more from the dreams
| of the wealthy executive class than a real grounding in what
| generative models are capable of and how they're best employed.
|
| I do remain optimistic that LLMs will continue to find use cases
| that better fit a niche of state-of-the-art natural language
| processing that is nonetheless probabilistic in nature. Many such
| use cases exist. Taking human job descriptions and trying to
| pretend they can do them entirely seems like a poorly-thought-out
| one, and we've to my mind poured enough money and effort into it
| that I think we can say it at the very least needs radically new
| breakthroughs to stand a chance of working as (optimistically)
| advertised
| AJ007 wrote:
| One thing that's consistent with AI negative/doesn't work/is slop
| posts: they don't tell you want models they are using.
| heironimus wrote:
| > It was pure, unadulterated slop. I was bewildered. Had I not
| reviewed every line of code before admitting it? Where did all
| this...gunk..come from?
|
| I chuckled at this. This describes pretty much every large piece
| of software I've ever worked on. You don't need an LLM to create
| a giant piece of slop. To avoid it takes tons of planning,
| refinement, and diligence whether it's LLM's or humans writing
| it.
| noisy_boy wrote:
| Are engineers really doing vibecoding in the truest sense of the
| word though? Just blindly copy/pasting and iterating? Because I
| don't. It is more of sculpting via conversation. I start with the
| requirements, provide some half-baked ideas or approaches that I
| think may work and then ask what the LLM suggests and whether
| there are better ways to achieve the goals. Once we have some
| common ground, I ask to show the outlines of the chosen
| structure: the interfaces, classes, test uses. I review it, ask
| more questions/make design/approach changes until I have
| something that makes sense to me. Only then the fully fleshed
| coding starts and even then I move at a deliberate pace so that I
| can pause and think about it before moving on to the next step.
| It is by no means super fast for any non-trivial task but then
| collaborating with anyone wouldn't be.
|
| I also like to think that I'm utilising the training done on many
| millions of lines of code while still using my
| experience/opinions to arrive at something compared to just using
| my fallible thinking wherein I could have missed some interesting
| ideas. Its like me++. Sure, it does a lot of heavy lifting but I
| never leave the steering wheel. I guess I'm still at the pre-
| agentic stage and not ready to letting go fully.
| INTPenis wrote:
| I haven't been vibe coding for more than a few months.
|
| It's just a tool with a high level of automation. That becomes
| clear when you have to guide it to use more sane practices,
| simple things like don't overuse HTTP headers when you don't need
| them.
| kmatthews812 wrote:
| Beware the two extremes - AI out of the box with no additional
| config, or writing code entirely by hand.
|
| In order to get high accuracy PRs with AI (small, tested commits
| that follow existing patterns efficiently), you need to spend
| time adding agents (claude.md, agents.md), skills, hooks, and
| tools specific to your setup.
|
| This is why so much development is happening at the plugin layer
| right now, especially with Claude code.
|
| The juice is worth the squeeze. Once accuracy gets high enough
| you don't need to edit and babysit what is generated, you can
| horizontally scale your output.
| legitster wrote:
| The author makes it sound like such a binary choice, but there's
| a happy middle where you are having AI generate large blocks of
| code and then you closely supervise it. My experience so far with
| AI is to treat it like you're a low-level manager delegating
| drudgework. I will regularly rewrite or reorganize parts of the
| code and give it back to the AI to reset the baseline and
| expectations.
|
| AI is far from perfect, but the same is true about any work you
| may have to entrust to another person. Shipping slop because
| someone never checked the code was literally something that
| happened several times at startups I have worked at - no AI
| necessary!
|
| Vibecoding is an interesting dynamic for a lot of coders
| specifically because you can be good or bad at vibecoding - but
| the skill to determine your success isn't necessarily your coding
| knowledge but your management and delegation soft skills.
| edunteman wrote:
| The part that most resonates with me is the lingering feeling of
| "oh but it must be my fault for underspecifying" which blocks the
| outright belief that models are just still sloppy at certain
| things
| cubanhackerai wrote:
| Taking crazy pills here too.
|
| I just bootstrapped a 500k loc MVP with AI Generator, Community
| and Zapier integration.
|
| www.clases.community
|
| And is my 3rd project that size, fully vibe coded
| aaroninsf wrote:
| Rants like this are - entirely correct in describing frustration
| - reasonable in their conclusions with respect to how and when to
| work with contemporary tools - entirely incorrect in intuition
| about whether "writing by hand" is a viable path or career going
| forward
|
| Like it not, as a friend observed, we are N months away a world
| where most engineers never looks at source code; and the spectrum
| of reasons one would want to will inexorably narrow.
|
| It will never be zero.
|
| But people who haven't yet typed a word of code never will.
| rglover wrote:
| You can do both. It's not binary.
| bovermyer wrote:
| Interacting with LLMs like Copilot has been most interesting for
| me when I treat it like a rubber duck.
|
| I will have a conversation with the agent. I will present it with
| a context, an observed behavior, and a question... often tinged
| with frustration.
|
| What I get out of this interaction at the end of it is usually a
| revised context that leads me figure out a better outcome. The AI
| doesn't give me the outcome. It gives me alternative contexts.
|
| On the other hand, when I just have AI write code for me, I lose
| my mental model of the project and ultimately just feel like I'm
| delaying some kind of execution.
| Geste wrote:
| It takes some skill (that you seem to have) to learn to use
| those LLM. Sad that not everyone see it that way...
| erelong wrote:
| The impression I get from the article is of a need to develop
| better prompts and/or break them down more
| gary17the wrote:
| > In retrospect, it made sense. Agents write units of changes
| that look good in isolation. They are consistent with themselves
| and your prompt. But respect for the whole, there is not. Respect
| for structural integrity there is not. Respect even for
| neighboring patterns there was not.
|
| That's exactly why this whole (nowadays popular) notion of AI
| replacing senior devs who are capable of understanding large
| codebases is nonsense and will never become reality.
| asdfman123 wrote:
| AI is a good _tutor_ , helping you understand what's going on
| with the codebase, and also helps with minor autocomplete tasks.
|
| You should _never_ just let AI "figure it out." It's the
| assistant, not the driver.
| throwawayffffas wrote:
| You'll never find a programming language that frees you from the
| burden of clarifying your ideas.
|
| Relevant xkcd: https://xkcd.com/568/
|
| Even if we reach the point where it's as good as a good senior
| dev. We will still have to explain what we want it to do.
|
| That's how I find it most helpful too. I give it a task and work
| out the spec based on the bad assumptions it makes and manually
| fix it.
| wessorh wrote:
| An excellent example of the political utility of AI, and how long
| it takes to figure out that it isn't as useful as the hype might
| make you think.
| throwawayffffas wrote:
| I hear a lot of "I am not a good enough coder..." "It has all the
| sum of human knowledge..."
|
| That's a very bad way to look at these tools. They legit know
| nothing, they hallucinate APIs all the time.
|
| The only value they have at least in my book is they type super
| fast.
| zem wrote:
| I've never used an AI in agent mode (and have no particular plans
| to), but I do think they're nice for things like "okay, I have
| moved five fields from this struct into a new struct which I
| construct in the global setup function. go through and fix all
| the code that uses those fields". (deciding to move those fields
| into a new struct is something I do want to be doing myself
| though, as opposed to saying "refactor this code for me")
| charcircuit wrote:
| This is not my experience at all. Claude will ask me follow up
| questions if it has some. The claim that it goes full steam ahead
| on its original plan is false.
| pnathan wrote:
| a lot of AI assisted development goes into project management and
| system design.
|
| I have been tolerably successful. However, I have almost 30 years
| of coding experience, and have the judgement on how big a
| component should be - when I push that myself _or_ with AI,
| things go hairy.
|
| ymmv.
| aerhardt wrote:
| I don't predict ever going back to writing code by hand except in
| specific cases, but neither do I "vibe code" - I still maintain a
| very close control on the code being committed and the overall
| software design.
|
| It's crazy to me nevertheless that some people can afford the
| luxury to completely renounce AI-assisted coding.
| periodjet wrote:
| Great engagement-building post for the author's startup, blog,
| etc. Contrarian and just plausible enough.
|
| I disagree though. There's no good reason that careful use of
| this new form of tooling can't fully respect the whole, respect
| structural integrity, and respect neighboring patterns.
|
| As always, it's not the tool.
| CodeWriter23 wrote:
| My high school computer lab instructor would tell me when I was
| frustrated that my code was misbehaving, "It's doing exactly what
| you're telling it to do".
|
| Once I mastered the finite number of operations and behaviors, I
| knew how to tell "it" what to do and it would work. The only
| thing different about vibe coding is the scale of operations and
| behaviors. It is doing exactly what you're telling it to do. And
| also expectations need to be aligned. Don't think you can hand
| over architecture and design to the LLM; that's still your job.
| The gain is, the LLM will deal with the proper syntax, api calls,
| etc. and work as a reserach tool on steroids if you also (from
| another mentor later in life) ask good questions.
| danjl wrote:
| "I really hate this damn machine. I wish that they would sell
| it. It never does what I want it to, only what I tell it."
| gregfjohnson wrote:
| One use case that I'm beginning to find useful is to go into a
| specific directory of code that I have written and am working on,
| and ask the AI agent (Claude Code in my case) "Please find and
| list possible bugs in the code in this directory."
|
| Then, I can reason through the AI agent's responses and decide
| what if anything I need to do about them.
|
| I just did this for one project so far, but got surprisingly
| useful results.
|
| It turns out that the possible bugs identified by the AI tool
| were not bugs based on the larger context of the code as it
| exists right now. For example, it found a function that returns a
| pointer, and it may return NULL. Call sites were not checking for
| a NULL return value. The code in its current state could never in
| fact return a NULL value. However, future-proofing this code, it
| would be good practice to check for this case in the call sites.
| dudeinhawaii wrote:
| On the one hand, I created vibe coded a large-ish (100k LOC) C#,
| Python, Powershell project over the holidays. The whole thing was
| more than I could ever complete on my own in the 5 days it took
| to vibe code using three agents. I wrote countless markdown
| 'spec' files, etc.
|
| The result stunned everyone I work with. I would never in a
| million years put this code on Github for others. It's terrible
| code for a myriad reasons.
|
| My lived experience was... the task was accomplished but not in a
| sustainable way over the course of perhaps 80 individual sessions
| with the longest being multiple solid 45 minute
| refactors...(codex-max)
|
| About those. One of things I spotted fairly quickly was the
| tendency of models to duplicate effort or take convoluted
| approaches to patch in behaviors. To get around this, I would
| every so often take the entire codebase, send it to Gemini-3 Pro
| and ask it for improvements. Comically, every time, Gemini-3-Pro
| responds with "well this code is hot garbage, you need to
| refactor these 20 things". Meanwhile, I'm side-eying like.. dude
| you wrote this. Never fails to amuse me.
|
| So, in the end, the project was delivered, was pretty cool, had
| 5x more features than I would have implemented myself and once I
| got into a groove -- I was able to reduce the garbage through
| constant refactors from large code reviews. Net Positive
| experience on a project that had zero commercial value and zero
| risk to customers.
|
| But on the other hand...
|
| I spend a week troubleshooting a subtle resource leak (C#) on a
| commercial project that was introduced during a vibe-coding
| session where a new animation system was added and somehow added
| a bug that caused a hard crash on re-entering a planet scene.
|
| The bug caused an all-stop and a week of lost effort. Countless
| AI Agent sessions circularly trying to review and resolve it.
| Countless human hours of testing and banging heads against
| monitors.
|
| In the end, on the maybe random 10th pass using Gemini-3-Pro it
| provided a hint that was enough to find the issue.
|
| This was a monumental fail and if game studios are using LLMs,
| good god, the future of buggy mess releases is only going to get
| worse.
|
| I would summarize this experience as lots of amazement and new
| feature velocity. A little too loose with commits (too much
| entanglement to easily unwind later) and ultimately a negative
| experience.
|
| A classic Agentic AI experience. 50% Amazing, 50% WTF.
| JimmaDaRustla wrote:
| k
| ratelimitsteve wrote:
| 2006: "If I can just write the specs so that the engineer
| understands them it will write me code that works."
|
| 2026: "If I can just write the specs so that the machine
| understands them it will write me code that works."
| oxag3n wrote:
| I tried vibe-coding few years back and switched to "manual" mode
| when I realized I don't fully understand the code. No, I did read
| each line of code and understood it, I understood the concepts
| and abstractions, but I didn't understand all nuances, even those
| at the top of documentation of libraries LLM used.
|
| I tried minimalist example where it totally failed few years
| back, and still, ChatGPT 5 produced 2 examples for "Async counter
| in Rust" - using Atomics and another one using
| tokio::sync::Mutex. I learned it was wrong then the hard way, by
| trying to profile high latency. To my surprise, here's quote from
| Tokio Mutex documentation:
|
| Contrary to popular belief, it is ok and often preferred to use
| the ordinary Mutex from the standard library in asynchronous
| code.
|
| The feature that the async mutex offers over the blocking mutex
| is the ability to keep it locked across an .await point.
| geldedus wrote:
| Good luck. I haven't written a single line of code since 6 month
| ago
| toddmorrow wrote:
| Google Maps completely and utterly obliterated my ability to
| navigate. I no longer actively navigated. I passively navigated.
|
| This is no different. And I'm not talking about vibe coding. I
| just mean having an llm browser window open.
|
| When you're losing your abilities, it's easy to think you're
| getting smarter. You feel pretty smart when you're pasting that
| code
|
| But you'll know when you start asking "do me that thingy again".
| You'll know from your own prompts. You'll know when you look at
| older code you wrote with fear and awe. That "coding" has shifted
| from an activity like weaving cloth to one more like watching
| YouTube.
|
| Active coding vs passive coding
| h4kunamata wrote:
| AI can be good under the right circumstances but only if reviewed
| 100% of the time by a human.
|
| Homelab is my hobby where I run Proxmox, Debian VM, DNS, K8s,
| etc, all managed via Ansible.
|
| For what it is worth, I hate docker :)
|
| I wanted to setup a private tracker torrent that should include:
|
| 1) Jackett: For the authentication
|
| 2) Radarr: The inhouse browser
|
| 3) qBitorrent: which receives the torrent files automatically
| from Radarr
|
| 4) Jellyfin: Of course :)
|
| I used ChatGPT to assist me into getting the above done as simple
| as possible and all done via Ansible:
|
| 1) Ansible playbook to setup a Debian LXC Proxmox container
|
| 2) Jackett + Radarr + qBitorrent all in one for simplicity
|
| 3) Wireguard VPN + Proton VPN: If the VPN ever go down, the
| entire container network must stop (IPTables) so my home IP isn't
| leaked.
|
| After 3 nights I got everything working and running 24/7, but it
| required a lot of review so it can be managed 10 years down the
| road instead of WTF is this???
|
| There were silly mistakes that make you question "Why am I even
| using this tool??" but then I remember, Google and search engines
| are dead. It would have taken me weeks to get this done
| otherwise, AI tools speed that process by fetching the info I
| need so I can put them together.
|
| I use AI purely to replace the broken state of search engines,
| even Brave and DuckDuckGo, I know what I am asking it, not just
| copy/paste and hope it works.
|
| I have colleagues also into IT field whose the company where they
| work are fully AI, full access to their environment, they no
| longer do the thinking, they just press the button. These people
| are cooked, not just because of the state of AI, if they ever go
| look for another job, all they did for years was press a button!!
| originalcopy wrote:
| I am still fascinated by how convincing the AI slop can be. I saw
| way too much code and documentation which made no sense. But it's
| often not obvious. I read it, I don't get it, I read it again, am
| I just stupid? I can grab some threads from it, but overall, it
| just doesn't make sense, it doesn't click for me. And that's when
| I often realize, it doesn't click, because it's a slop. It's
| obvious in pictures (e.g., generate a picture of a bike with
| labels). But in code? It requires more time to look at it than to
| actually write it. So it just slips reviews, it sometimes even
| works as it should, but it's damn hard to understand and fix it
| in the future. Until eventually, nothing can fix it.
|
| For the record, I use AI to generate code but not for
| "vibecoding". I don't believe when people tell me "you just
| prompt it badly". I saw enough to lose faith.
| nichochar wrote:
| Little to no evidence was presented.
|
| This is vibe argumenting.
| kshri24 wrote:
| Accurate and sane take! Current models are extremely good for
| very specific kinds of tasks. But beyond that, it is a coin toss.
| Gets worse as the context window goes beyond a few ten thousand
| tokens. If you have only vibe-coded toy projects (even with the
| latest fad - Ralph whatever) for anything serious, you can see
| how quickly it all falls apart.
|
| It is quite scary that junior devs/college kids are more into
| vibe coding than putting in the effort to actually learn the
| fundamentals properly. This will create at least 2-3 generations
| of bad programmers down the line.
| h14h wrote:
| It'd be easy to simply say "skill issue" and dismiss this, but I
| think it's interesting to look at the possible outcomes here:
|
| Option 1: The cost/benefit delta of agentic engineering never
| improves past net-zero, and bespoke hand-written code stays as
| valuable as ever.
|
| Option 2: The cost/benefit becomes net positive, and economics of
| scale forever tie the cost of code production directly to the
| cost of inference tokens.
|
| Given that many are saying option #2 is already upon us, I'm
| gonna keep challenging myself to engineer a way past the hurdles
| I run into with agent-oriented programming.
|
| The deeper I get, the more articles like this feel like the
| modern equivalent of saying "internet connections are too slow to
| do real work" or "computers are too expensive to be useful for
| regular people".
| AtomicOrbital wrote:
| after+30 years writing code in a dozen languages building systems
| from scratch I love vibe coding ... it's drinking from a fire
| hose ... in two months I vibe coded a container orchestration
| system which I call my kubernetes replacement project all in go
| with a controller deciding which VM to deploy containers onto,
| agents on each host polling etcd for requests created by the
| controller ... it's simple understandable maintainable extendable
| ... also vibe coded go cdk to deploy AWS RDS clusters, API
| gateway, handful of golang lambda functions, valkey elasticache
| and a full feature data service library which handles
| transactions and save points, cache ... I love building systems
| ... sure I could write all this from scratch by hand and I have
| but vibe coding quickly exposes me to the broad architecture
| decisions earlier giving me options to experiment on various
| alternatives ... google gemini in antigravity rocks and yes I've
| tried them all ... new devs should not be vibe coding for the
| first 5 years or more but I lucked into having decades of doing
| it by hand
| abcde666777 wrote:
| This will sound arrogant, but I can't shake the impression that
| agent programming is most appealing to amateurs, where the kind
| of software they build is really just glorified UIs and data
| plumbing.
|
| I work on game engines which do some pretty heavy lifting, and
| I'd be loath to let these agents write the code for me.
|
| They'd simply screw too much of it up and create a mess that I'm
| going to have to go through by hand later anyway, not just to
| ensure correctness but also performance.
|
| I want to know what the code is doing, I want control over the
| fine details, and I want to have as much of the codebase within
| my mental understanding as possible.
|
| Not saying they're not useful - obviously they are - just that
| something smells fishy about the success stories.
| radium3d wrote:
| I actually haven't come across situation 1 2 or 3 mentioned in
| the attached video. Generally I iterate on the code by starting a
| new prompt with the code provided, with enhancements, or provide
| the errors and it repairs the errors. Generally it gets it within
| 1-2 iterations. No emotions. Make sure your prompts do not
| contain fluff, and are straight what you want the code to
| accomplish and how you want it to accomplish it. I've gone back
| to code months later and have not had what you described as being
| shocked about bad code, it was quite easy to understand. Are you
| prompting the AI to also write variables and function names
| logically and utilize a common coding standard for whichever type
| of code you are having it write, such as wordpress coding
| standards or similar? Perhaps claude isn't the best, I have been
| experimenting with grok 4.1 thinking and grok expert at the mid-
| level paid tier. I'll take it a step further and adjust the code
| myself, start a new prompt and provide that updated code along
| with my further requests as well. I haven't hit the road blocks
| mentioned.
| c1505 wrote:
| It still feels like gambling to me when I use AI code assistants
| to generate large chunks of code. Sometimes, it will surprise me
| with how well it does. Other times, it infuriatingly doesn't
| follow very precise instructions for small changes. This is even
| when I use it in the way that I often ask for multiple options
| for solutions and implementations and then choose between them
| after the AI tool does the course rating.
|
| There are many instances where I get to the final part of the
| feature and realize I spent far more time coercing AI to do the
| right thing than it would have taken me to do it myself.
|
| It is also sometimes really enjoyable and sometimes a horrible
| experience. Programming prior to it could also be frustrating at
| times, but not in the same way. Maybe it is the expectation of
| increased efficiency that is now demanded in the face of AI
| tools.
|
| I do think AI tools are consistently great for small POCs or
| where very standard simple patterns are used. Outside of that, it
| is a crapshoot or slot machine.
| kcexn wrote:
| As people get more comfortable with AI. I think what everyone is
| noticing is that AI is terrible at solving problems that don't
| have large amounts of readily available training data. So,
| basically if there isn't already an open-source solution
| available online, it can't do it.
|
| If what you're doing is proprietary, or even a little bit novel.
| There is a really good chance that AI will screw it up. After
| all, how can it possibly know how to solve a problem it has never
| seen before?
| bofadeez wrote:
| This bubble is going to crash so much harder than any other
| bubble in history. It's almost impossible to overstate the level
| of hype. LLMs are functionally useless in any context. It's a
| total and absolute scam.
| bofadeez wrote:
| Opus 4.5 is maybe 10% better than GPT 3.5. It's a total joke and
| these AI lab CEOs should literally be put in prison with Bernie
| Maddoff
| MillionY wrote:
| You just give up before AI overpass human
| grimmzoww wrote:
| Looking for solo devs testing AI continuation tool - DM me
| angelfangs wrote:
| I still cannot make AI do anything with quality higher than the
| function level. I've been using it a lot to write some more
| complex functions and SQL with a quality level that I find good,
| but anything higher order and it's a complete clusterfuck. Cannot
| comprehend this world where people say they are building entire
| companies and whole products with it.
___________________________________________________________________
(page generated 2026-01-27 10:01 UTC)