Yes, and so can most experienced developers. In fact unmaintainable human-written code is more often caused by organisational dysfunctions than by lack of individual competence.
Yeah, certain code developed organically (aka shifting demands). Devs know the code gets worse, but either by time or money they don't have the option to review and redo code.
I want to write gnocchi code, where each little nugget is good on its own and they still blend together perfectly in the sauce. But I still end up with mashed potato-code if I don't watch myself.
The one in Port87 is the only patent I have, and it is not copyleft. I have tons of open source code that I could have patented, including in Nymph, but didn’t. Now that prior art exists and is in the market, those things can’t be patented.
There’s very little reason to seek a patent except to offer the product for sale in the market. It’s wildly time consuming and expensive. Mine cost me about $17k and took me three years to get. And I’m not a big company with mountains of cash and lawyers on the payroll. I patented it so that Microsoft, Google, etc. couldn’t just see my idea and be like, “that’s good, let’s take it”. That would kill my business. Copylefting the patent would allow them to do that.
I mean, yes, absolutely I can. So can my peers. I've been doing this for a long, long time, as have my peers.
The code we produce is many times more readable and maintainable than anything an LLM can produce today.
That doesn't mean LLMs are useless, and it also doesn't mean that we're irreplaceable. It just means this argument isn't very effective.
If you're comparing an LLM to a Junior developer? Then absolutely. Both produce about the same level of maintainable code.
But for Senior/Principal level engineers? I mean this without any humble bragging at all: but we run circles around LLMs from the optimization and maintainability standpoint, and it's not even close.
This may change in the future, but today it is true (and I use all the latest Claude Code models)
Sorry, my wording was very unclear. I was referring to the LLMs having a small but non-zero chance to actually get good enough to replace senior devs.
You are right though, chances for the average junior dev to reach senior status are much better than for LLMs to reach that stage any time soon (if ever).
With LLMs I get work done about 3-5x faster. Same level of maintainability and readability I'd have gotten writing it myself. Where LLMs fail is architecting stuff out- they can't see the blind alleys their architecture decisions being them down. They also can't remember to activate python virtual environments, like, ever.
I think it depends on what you're writing code for. For greenfield/new features that don't touch legacy code or systems too much? Sure, I agree with that assessment.
Unfortunately that's a small fraction of the kind of work I am required to do as most of the work in most places doing software dev are trying to add shit to bloated and poorly maintained legacy systems.
Working in those environments LLMs are a lot less effective. Maybe that'll change some day. But today, they don't know how to code reuse, refactor methods across classes/design patterns, etc. At least, not very well. Not without causing side effects.
Most of the unmaintainable code I've seen is because businesses don't appreciate the need to occasionally refactor/rewrite or do anything to maintain code. They only appreciate piling more on. They'd do away with bug fixing too if they could.
This is why AI coding is being pushed so hard. Guess what’s great at piling on at 30x speed? If piling on is all companies appreciate then that’s what they’ll demand.
I disagree. Rewriting is a core component of maintaining a code base. It's the evolution of code. Not rewriting and hooking in some janky way is much worse. No one can see all the possible needs of code the first time they write it. Or even the tenth. Updating the code by rewriting sections is the healthier way to use everything you learned since the first time you wrote it to keep it clean and improve it.
Well, if rewriting is maintaining, everybody can write maintenable code.
Did it become a mess? Rewrite time!
For me the art is writing it so you don't need to rewrite and you don't need a janky temporary permanent workaround if requirements change. Clean interfaces, SOLID, plug-ins, etc. Can't do it myself, but the legendary 10x devs usually do.
The most maintainable code is built to be replaced with minimal impact.
How much of the program will must be replaced if you remove one module? If you need to replace the entire program, then your program is not maintainable. Too much is heavily dependent on this module.
I don't believe in code that never needs a rewrite, but scalable code should be compartmentalized and future-proofed to the point that the next rewrite can be pushed as far into the future as possible. Me personally, I tend to discover what these best practices are during those rewrites.
All code is maintainable with enough time and money.
But yes, well structured code where those rewrites are minimal is the goal.
There probably is a threshold where the amount you have to rewrite becomes too high. But with each rewrite, hopefully the next time you have a section you need to redo its smaller that before. Eventually going from rewriting a couple thousands of lines to just a hundred or so on the 5th iteration.
For examlle: It's entirely possible that a synchronous state machine worked for the previous needs of the software, but it grew to a point where now that state machine is unable to meet the new requirements and needs to be replaced with a modern fam with asynchronous singals/delegates.
Just because that system was replaced doesn't mean that it wasn't maintainable, wasn't readable, or easy to understand. It just wasn't compatible with the growing needs of the application.
That’s just the norm tbh. You learn new techniques, the language gets new optimizations, keywords and shortcuts. That doesn’t mean your code is unmaintainable.
I rewrite it because it becomes a mess of asymmetric assumptions, weird dependencies and hacky extensions, I can't really blame the language for that one.
It really depends on the situation. Can I write maintainable code? Yes, to the extent that the average senior dev can.
But that isn’t the same as being afforded the chance to write maintainable code. I’ve been part of teams where the timeline is so tight that technical debt is just a thing that builds up to be dealt with “later” and more stress is put on getting things done instead of keeping things maintainable.
The fact of the matter is that humans can while LLMs currently can’t.
On top of that, a human dev is going to be able to understand context a hell of a lot easier if they’ve previously worked on it, even if the code is less maintainable.
Which is the norm, not the exception. Really good devs (which I'm not) are capable of delivering clean, modular, readable and maintainable code under pressure, working in a team with other people, with unclear requirements.
Yus [good image]. Use it to assist and expedite learning (mostly by double checking its output, and debugging its code) to get better. Not as a slave to do your work for you.
If you are complete novice then obviously not but I think anyone reasonably proficient in a language would be able to identify optimisations that an AI just doesn't seem to perceive largely because humans are better at context.
It's like that question about whether it's worth driving your car to the car wash if the car wash is only 10 metres away. AIs have no experience of the real world so they don't inherently understand that you can't wash a car if it's not at the car wash. A human would instantly know that that's a stupid statement without even thinking about it, and unless you instruct an AI to actually deeply think about something they just give you the first answer they come up with.
What's why they're pushing for the datacenters, they want to turn make every query that deep. The tech is here, but the ability to sustain it isn't. They build the data centers, kick the developers out, depress the education market for it, and then raise the prices.
Companies will be paying the AI companies 60k per year per seat in a decade.
I agree with you. But the tool will output a basic code that mostly do what asked in seconds instead of tens of minutes if not hours. So now we could argue if the optimization you make are worth the added cost I'd writing the code yourself or if it's better to have the tool to generate the code and then optimizing it.
You will always be better at decisions than an n-dimensional matrix of numbers on an overpriced GPU.
I'd be careful about these claims.
Maybe with our current iteration of "attention-based" LLMs, yes.
But keep in mind that our way of processing information is strongly limited compared to how much data is fed to these LLMs while training, so they in theory have a lot more foundation to be able to reason about new problems.
We're vastly more capable at the moment at interpreting our limited view on foreign code, being actually creative, find new ways to reason, yes.
Capable developers (open source...) often have seen quite a bit more code than the average developer and are highly skilled, still with just a tiny subset of the code that an LLM has seen.
But say these models improve in creativity and "higher-level of thought" through whatever means (e.g. through more reinforcement learning).
Well, let's just say I'm careful with these claims. These LLMs are already quite a help with stupid boilerplaty code (less so with novel stuff, and writing idiomatic non-redundant code, but compared to 2-3 years ago it's quite a step already, to the point that they're actually helpful, disregarding all the hype and obvious marketing strategies of these AI-companies)
Guys, you can laugh at a joke. The AI doesn't win just because someone upvoted a meme. Maintainability of codebases has been a joke for longer than LLMs have been around because there's a lot of truth to it.
Even the most well intentioned design has weaknesses that we didn't see coming. Some of its abstractions are wrong. There are changes to the requirements and feature set that they didn't anticipate. They over engineered other parts that make them more difficult to navigate for no maintainability gain. That's ok. Perfectly maintainable code requires us to be psychics and none of us are.
Exactly. I've been sabotaging the AI with shitty code output since long before LLMs existed. That's how I play 4D chess. (This is just meant to get a laugh. Some of my code is even quite nice, actually.)
Frankly I believe it can be maintainable if the person doing the prompting actually does something and correctly do their role of human reviewing and correcting. Vibe coding without any review is dooming the software maintainability
In my experience, the biggest problem is that maintainable code necessarily requires extending/adapting existing structures rather than just slapping a feature onto the side.
And if we're not just talking boilerplate, then this necessarily requires understanding the existing logic, which problems it solves, and how you can mold it to continue to solve those problems, while also solving the new problem.
For that, you can't just review the code afterwards. You have to do the understanding yourself.
And once you have a clear understanding, it's likely that the actual code change is rather trivial. At least more trivial than trying to convey your precise understanding to an LLM/intern/etc..
I'll use an LLM to write bulk code, unit tests, other boring stuff.. but, I specifically only have it write code I'm already very familiar with, and even then, I hand-code it every so often, like 1 in every 3 times I'll do it by hand to make sure I'm still able to. If I have to look something up, then I'll stop using an LLM for that task for a long while.
Yeah, a lot of maintainability is about understanding how it works. Architectural decisions are the other half. Someone who's paying attention can do well on both of these even using AI tools.
I would like to think that I'm capable of writing maintainable code like seemingly everyone else in this thread, and I have multiple code bases that have existed for decades that have included necessary updates over time to reinforce that opinion.
I've also seen some truly unfathomable, Lovecraftian horror code in the wild that has persisted for decades.
Seeing Will Smith's character as a representative of humanity, and Sonny as a representative of LLM/GenAI in that context makes this joke absolutely hilarious.
Infinite loop and hard coded magic constant; this should have a configurable timeout and a resource file the string is read from so we can internationalize the application. Additionally, the use of a goto with a hard coded line number is a runtime bug waiting to happen after unrelated refactors; it's best to use a looping construct that has more deterministic bounds.
Waiting for Amazon to release an ad like the one Spooner describes to that CEO when he's being sarcastic. .
"a carpenter, making a beautiful chair. And then one of your robots comes in and makes a better chair twice as fast. And then you superimpose on the screen, 'USR: Shittin' on the Little Guy'"
103 Comments
ViatorOmnium@piefed.social · 207 pts · 156d
Yes, and so can most experienced developers. In fact unmaintainable human-written code is more often caused by organisational dysfunctions than by lack of individual competence.
Samskara@sh.itjust.works · 101 pts · 156d
In my experience there’s usually a confluence of individual and institutional failures.
It usually goes like this.
ViatorOmnium@piefed.social · 20 pts · 156d
That's one of the failure modes, good orgs would have design and review processes to stop it.
There are other classics like arbitrary deadlines, conflicting and shifting requirements and product direction, perverse incentives, etc.
I would even say that the AI craze is a result of the latter.
PapstJL4U@lemmy.world · 6 pts · 156d
Yeah, certain code developed organically (aka shifting demands). Devs know the code gets worse, but either by time or money they don't have the option to review and redo code.
jardee@ohpossum.ooo · 4 pts · 155d
Not in my case. I dont write spaghetti code, i write fettuchini code
kindnesskills@literature.cafe · 2 pts · 154d
I want to write gnocchi code, where each little nugget is good on its own and they still blend together perfectly in the sauce. But I still end up with mashed potato-code if I don't watch myself.
pinball_wizard@lemmy.zip · 4 pts · 155d
Yes. But the important thing is that now disfunctional organizations have access to tools to write unmaintainable code really fast.
sexual_tomato@lemmy.dbzer0.com · 1 pts · 155d
Every bad decision in my code bases were because I didn't have enough time to do things the right way
hperrin@lemmy.ca · 77 pts · 156d
Pretty sure I can, considering I’m still maintaining a project I originally started in 2009, which is a core component of my email service.
inari@piefed.zip · 8 pts · 156d
Please tell me the software patent in that project is copylefted
hperrin@lemmy.ca · 11 pts · 156d
The one in Port87 is the only patent I have, and it is not copyleft. I have tons of open source code that I could have patented, including in Nymph, but didn’t. Now that prior art exists and is in the market, those things can’t be patented.
There’s very little reason to seek a patent except to offer the product for sale in the market. It’s wildly time consuming and expensive. Mine cost me about $17k and took me three years to get. And I’m not a big company with mountains of cash and lawyers on the payroll. I patented it so that Microsoft, Google, etc. couldn’t just see my idea and be like, “that’s good, let’s take it”. That would kill my business. Copylefting the patent would allow them to do that.
SpacePirate@feddit.nu · 8 pts · 156d
Its Apache 2.0
hperrin@lemmy.ca · 2 pts · 156d
Port87 is not Apache 2.0. There are no patents that cover Nymph.js, which is the one that’s Apache 2.0.
neukenindekeuken@sh.itjust.works · 60 pts · 156d
I mean, yes, absolutely I can. So can my peers. I've been doing this for a long, long time, as have my peers.
The code we produce is many times more readable and maintainable than anything an LLM can produce today.
That doesn't mean LLMs are useless, and it also doesn't mean that we're irreplaceable. It just means this argument isn't very effective.
If you're comparing an LLM to a Junior developer? Then absolutely. Both produce about the same level of maintainable code.
But for Senior/Principal level engineers? I mean this without any humble bragging at all: but we run circles around LLMs from the optimization and maintainability standpoint, and it's not even close.
This may change in the future, but today it is true (and I use all the latest Claude Code models)
terabyterex@lemmy.world · 21 pts · 156d
sir, this is programmer_humor
staircase@programming.dev · 2 pts · 155d
and some jokes just aren't funny
SparroHawc@lemmy.zip · 20 pts · 155d
The biggest problem with using AI instead of junior developers is that junior developers eventually become senior developers. LLMs .... don't.
NotAnonymousAtAll@feddit.org · 3 pts · 155d
They might, but it does not seem likely to me and is definitely not guaranteed.
SparroHawc@lemmy.zip · 6 pts · 155d
It's more likely than it happening with an LLM, though. Without junior developers the number of future senior devs approaches zero.
NotAnonymousAtAll@feddit.org · 1 pts · 155d
Sorry, my wording was very unclear. I was referring to the LLMs having a small but non-zero chance to actually get good enough to replace senior devs.
You are right though, chances for the average junior dev to reach senior status are much better than for LLMs to reach that stage any time soon (if ever).
dependencyinjection@discuss.tchncs.de · 4 pts · 156d
😞 Sir this is a Wendy’s.
sexual_tomato@lemmy.dbzer0.com · 2 pts · 155d
With LLMs I get work done about 3-5x faster. Same level of maintainability and readability I'd have gotten writing it myself. Where LLMs fail is architecting stuff out- they can't see the blind alleys their architecture decisions being them down. They also can't remember to activate python virtual environments, like, ever.
neukenindekeuken@sh.itjust.works · 3 pts · 155d
I think it depends on what you're writing code for. For greenfield/new features that don't touch legacy code or systems too much? Sure, I agree with that assessment.
Unfortunately that's a small fraction of the kind of work I am required to do as most of the work in most places doing software dev are trying to add shit to bloated and poorly maintained legacy systems.
Working in those environments LLMs are a lot less effective. Maybe that'll change some day. But today, they don't know how to code reuse, refactor methods across classes/design patterns, etc. At least, not very well. Not without causing side effects.
grueling_spool@sh.itjust.works · 48 pts · 156d
Maybe the real slop was the code we wrote along the way
TomArrr@lemmy.world · 2 pts · 155d
But, I didn't check any of mine in?
rumba@lemmy.zip · 1 pts · 155d
Bah, you both read the same Stack Exchange. But it remembered it byte for byte.
dfyx@lemmy.helios42.de · 43 pts · 156d
Yes. That's literally the first point in my job description.
Tja@programming.dev · 41 pts · 156d
ITT: AI induced dunning-kruger. Everybody can write maintenable code, just somehow it happens that nobody does.
mushroommunk@lemmy.today · 49 pts · 156d
Most of the unmaintainable code I've seen is because businesses don't appreciate the need to occasionally refactor/rewrite or do anything to maintain code. They only appreciate piling more on. They'd do away with bug fixing too if they could.
errer@lemmy.world · 20 pts · 156d
This is why AI coding is being pushed so hard. Guess what’s great at piling on at 30x speed? If piling on is all companies appreciate then that’s what they’ll demand.
Tja@programming.dev · 5 pts · 156d
Many opensource projects are in same state, I know for sure my projects become spaghetti if I work more than a year on them.
Besides, I'd argue that if you need to rewrite (part of) it is because it wasn't maintainable in the first place.
brygphilomena@lemmy.dbzer0.com · 21 pts · 156d
I disagree. Rewriting is a core component of maintaining a code base. It's the evolution of code. Not rewriting and hooking in some janky way is much worse. No one can see all the possible needs of code the first time they write it. Or even the tenth. Updating the code by rewriting sections is the healthier way to use everything you learned since the first time you wrote it to keep it clean and improve it.
pinball_wizard@lemmy.zip · 1 pts · 155d
Exactly. Elegant code requires domain expertise, which no one has on during the first attempt.
Strident attempts at elegance during the first domain-expertise-free try tend to just result in different kinds of shitty code.
Of course, experienced programmers can obviously achieve lower shittiness, from day one.
But truly elegant code requires exploring the domain, and learning what works there.
Shitty or barely-good-enough code often walks so that elegant code can someday replace it.
Tja@programming.dev · 0 pts · 156d
Well, if rewriting is maintaining, everybody can write maintenable code.
Did it become a mess? Rewrite time!
For me the art is writing it so you don't need to rewrite and you don't need a janky temporary permanent workaround if requirements change. Clean interfaces, SOLID, plug-ins, etc. Can't do it myself, but the legendary 10x devs usually do.
red_tomato@lemmy.world · 14 pts · 156d
The most maintainable code is built to be replaced with minimal impact.
How much of the program will must be replaced if you remove one module? If you need to replace the entire program, then your program is not maintainable. Too much is heavily dependent on this module.
0ops@piefed.zip · 5 pts · 156d
I don't believe in code that never needs a rewrite, but scalable code should be compartmentalized and future-proofed to the point that the next rewrite can be pushed as far into the future as possible. Me personally, I tend to discover what these best practices are during those rewrites.
brygphilomena@lemmy.dbzer0.com · 3 pts · 156d
All code is maintainable with enough time and money.
But yes, well structured code where those rewrites are minimal is the goal.
There probably is a threshold where the amount you have to rewrite becomes too high. But with each rewrite, hopefully the next time you have a section you need to redo its smaller that before. Eventually going from rewriting a couple thousands of lines to just a hundred or so on the 5th iteration.
odelik@lemmy.today · 1 pts · 155d
I disagree.
Rewrites can happen due to new feature support.
For examlle: It's entirely possible that a synchronous state machine worked for the previous needs of the software, but it grew to a point where now that state machine is unable to meet the new requirements and needs to be replaced with a modern fam with asynchronous singals/delegates.
Just because that system was replaced doesn't mean that it wasn't maintainable, wasn't readable, or easy to understand. It just wasn't compatible with the growing needs of the application.
Tja@programming.dev · 1 pts · 155d
It can, but usually that's not the case.
explodicle@sh.itjust.works · 5 pts · 156d
My company is totally like this. If you don't write a shiny new feature immediately, you don't last.
neukenindekeuken@sh.itjust.works · 3 pts · 155d
This 100%
Bieren@lemmy.today · 16 pts · 156d
Can I, sure. Do I give af since my company doesn’t care about me as anything other than a number in a spreadsheet, no.
Tja@programming.dev · 5 pts · 156d
Well, even for my private projects that I care about I end up having to rewrite every few years.
KairuByte@lemmy.dbzer0.com · 6 pts · 156d
That’s just the norm tbh. You learn new techniques, the language gets new optimizations, keywords and shortcuts. That doesn’t mean your code is unmaintainable.
Tja@programming.dev · 2 pts · 156d
I rewrite it because it becomes a mess of asymmetric assumptions, weird dependencies and hacky extensions, I can't really blame the language for that one.
KairuByte@lemmy.dbzer0.com · 7 pts · 156d
It really depends on the situation. Can I write maintainable code? Yes, to the extent that the average senior dev can.
But that isn’t the same as being afforded the chance to write maintainable code. I’ve been part of teams where the timeline is so tight that technical debt is just a thing that builds up to be dealt with “later” and more stress is put on getting things done instead of keeping things maintainable.
The fact of the matter is that humans can while LLMs currently can’t.
On top of that, a human dev is going to be able to understand context a hell of a lot easier if they’ve previously worked on it, even if the code is less maintainable.
Tja@programming.dev · 1 pts · 156d
Well, I interpret the question as "can you write maintenable code under typical corporate conditions and timelines". Very few can, but I've seen them.
sexual_tomato@lemmy.dbzer0.com · 1 pts · 155d
Every decision I've made to write code with poor maintainability was driven by time pressure to deliver
Tja@programming.dev · 1 pts · 155d
Which is the norm, not the exception. Really good devs (which I'm not) are capable of delivering clean, modular, readable and maintainable code under pressure, working in a team with other people, with unclear requirements.
sexual_tomato@lemmy.dbzer0.com · 1 pts · 153d
Haha
Electricd@lemmybefree.net · 40 pts · 156d
When that coworker tells you "hah you must have generated this" but you coded this yourself 👀
beejboytyson@lemmy.world · 20 pts · 156d
"You need to try your best" "This was my best...."
SapphironZA@sh.itjust.works · 36 pts · 155d
No, so let's vibe unmaintainable code together!
Digit@lemmy.wtf · 1 pts · 154d
Yus [good image]. Use it to assist and expedite learning (mostly by double checking its output, and debugging its code) to get better. Not as a slave to do your work for you.
Shady_Shiroe@lemmy.world · 35 pts · 155d
I might not be the best, but I can still do a better job than AI
yabbadabaddon@lemmy.zip · -4 pts · 155d
This is a bold claim I will not make.
echodot@feddit.uk · 8 pts · 155d
If you are complete novice then obviously not but I think anyone reasonably proficient in a language would be able to identify optimisations that an AI just doesn't seem to perceive largely because humans are better at context.
It's like that question about whether it's worth driving your car to the car wash if the car wash is only 10 metres away. AIs have no experience of the real world so they don't inherently understand that you can't wash a car if it's not at the car wash. A human would instantly know that that's a stupid statement without even thinking about it, and unless you instruct an AI to actually deeply think about something they just give you the first answer they come up with.
rumba@lemmy.zip · 2 pts · 155d
What's why they're pushing for the datacenters, they want to turn make every query that deep. The tech is here, but the ability to sustain it isn't. They build the data centers, kick the developers out, depress the education market for it, and then raise the prices.
Companies will be paying the AI companies 60k per year per seat in a decade.
echodot@feddit.uk · 3 pts · 155d
At that price it would be cheeper to use humans
rumba@lemmy.zip · 3 pts · 155d
That's the brilliance. There won't be a pool of trained young developers by then.
yabbadabaddon@lemmy.zip · 0 pts · 155d
I agree with you. But the tool will output a basic code that mostly do what asked in seconds instead of tens of minutes if not hours. So now we could argue if the optimization you make are worth the added cost I'd writing the code yourself or if it's better to have the tool to generate the code and then optimizing it.
skuzz@discuss.tchncs.de · 4 pts · 155d
declanruediger@aussie.zone · 2 pts · 155d
I don't understand your point about the solider on the front line, but I'm interested. If you get a chance, can you elaborate please?
fuck_u_spez_in_particular@lemmy.world · 1 pts · 155d
I'd be careful about these claims. Maybe with our current iteration of "attention-based" LLMs, yes. But keep in mind that our way of processing information is strongly limited compared to how much data is fed to these LLMs while training, so they in theory have a lot more foundation to be able to reason about new problems.
We're vastly more capable at the moment at interpreting our limited view on foreign code, being actually creative, find new ways to reason, yes. Capable developers (open source...) often have seen quite a bit more code than the average developer and are highly skilled, still with just a tiny subset of the code that an LLM has seen.
But say these models improve in creativity and "higher-level of thought" through whatever means (e.g. through more reinforcement learning). Well, let's just say I'm careful with these claims. These LLMs are already quite a help with stupid boilerplaty code (less so with novel stuff, and writing idiomatic non-redundant code, but compared to 2-3 years ago it's quite a step already, to the point that they're actually helpful, disregarding all the hype and obvious marketing strategies of these AI-companies)
Fatal@piefed.social · 35 pts · 155d
Guys, you can laugh at a joke. The AI doesn't win just because someone upvoted a meme. Maintainability of codebases has been a joke for longer than LLMs have been around because there's a lot of truth to it.
Even the most well intentioned design has weaknesses that we didn't see coming. Some of its abstractions are wrong. There are changes to the requirements and feature set that they didn't anticipate. They over engineered other parts that make them more difficult to navigate for no maintainability gain. That's ok. Perfectly maintainable code requires us to be psychics and none of us are.
harsh3466@lemmy.ml · 3 pts · 155d
I actually laughed out loud at this meme.
30p87@feddit.org · 28 pts · 156d
Yes.
Electricd@lemmybefree.net · 2 pts · 156d
Yes.
BlackRoseAmongThorns@slrpnk.net · 27 pts · 156d
Yes.
SpaceNoodle@lemmy.world · 21 pts · 156d
Yes.
Susaga@sh.itjust.works · 21 pts · 156d
Why would you tell on yourself like this?
pinball_wizard@lemmy.zip · 2 pts · 155d
Haha. As the saying goes, "I still get paid."
Carighan@piefed.world · 16 pts · 156d
I could.
I choose not to! Take that, LLM!
pinball_wizard@lemmy.zip · 2 pts · 155d
Exactly. I've been sabotaging the AI with shitty code output since long before LLMs existed. That's how I play 4D chess. (This is just meant to get a laugh. Some of my code is even quite nice, actually.)
Electricd@lemmybefree.net · 14 pts · 156d
More maintainable that whatever shit it put out
Frankly I believe it can be maintainable if the person doing the prompting actually does something and correctly do their role of human reviewing and correcting. Vibe coding without any review is dooming the software maintainability
Ephera@lemmy.ml · 10 pts · 156d
In my experience, the biggest problem is that maintainable code necessarily requires extending/adapting existing structures rather than just slapping a feature onto the side.
And if we're not just talking boilerplate, then this necessarily requires understanding the existing logic, which problems it solves, and how you can mold it to continue to solve those problems, while also solving the new problem.
For that, you can't just review the code afterwards. You have to do the understanding yourself.
And once you have a clear understanding, it's likely that the actual code change is rather trivial. At least more trivial than trying to convey your precise understanding to an LLM/intern/etc..
Omgpwnies@lemmy.world · 3 pts · 156d
I'll use an LLM to write bulk code, unit tests, other boring stuff.. but, I specifically only have it write code I'm already very familiar with, and even then, I hand-code it every so often, like 1 in every 3 times I'll do it by hand to make sure I'm still able to. If I have to look something up, then I'll stop using an LLM for that task for a long while.
Feathercrown@lemmy.world · 0 pts · 156d
Yeah, a lot of maintainability is about understanding how it works. Architectural decisions are the other half. Someone who's paying attention can do well on both of these even using AI tools.
GreenBeanMachine@lemmy.world · 14 pts · 155d
Agent641@lemmy.world · 4 pts · 155d
I can maintain it. But I won't.
GreenKnight23@lemmy.world · 13 pts · 155d
yes. yes I can. been doing it for 25 years.
ICastFist@programming.dev · 12 pts · 156d
I can maintain any code I write myself, so long as I look at it at least once every month
luciferofastora@feddit.org · 12 pts · 156d
I can produce NI-slop on my own. I don't need AI to do it for me.
kubica@fedia.io · 12 pts · 156d
This attack must go against the laws of robotics.
aMockTie@piefed.world · 12 pts · 156d
I would like to think that I'm capable of writing maintainable code like seemingly everyone else in this thread, and I have multiple code bases that have existed for decades that have included necessary updates over time to reinforce that opinion.
I've also seen some truly unfathomable, Lovecraftian horror code in the wild that has persisted for decades.
Seeing Will Smith's character as a representative of humanity, and Sonny as a representative of LLM/GenAI in that context makes this joke absolutely hilarious.
SalamenceFury@piefed.social · 11 pts · 156d
I'm ass at coding and I still can, lmao
savvywolf@pawb.social · 10 pts · 156d
You don't have to outrun the bear, you just have to outrun the other guy.
I think most devs here can out-maintainable-code an llm.
wewbull@feddit.uk · 3 pts · 156d
That is outrunning the bear, isn't it. Outrunning the other guy is being the guy that makes 10 other jobs redundant by running the LLM.
Not that I think that works.
Kolanaki@pawb.social · 9 pts · 155d
10 PRINT 'Hello World!'20 GOTO 10EZ
sexual_tomato@lemmy.dbzer0.com · 7 pts · 155d
Infinite loop and hard coded magic constant; this should have a configurable timeout and a resource file the string is read from so we can internationalize the application. Additionally, the use of a goto with a hard coded line number is a runtime bug waiting to happen after unrelated refactors; it's best to use a looping construct that has more deterministic bounds.
Digit@lemmy.wtf · 1 pts · 154d
*while true gangsign*
Jankatarch@lemmy.world · 8 pts · 156d
Compared to an LLM?
debil@lemmy.world · 3 pts · 156d
Had to scroll way too much for this comment.
dumnezero@piefed.social · 5 pts · 155d
Whoever upvoted this needs to read some books.
onlinepersona@programming.dev · 4 pts · 155d
What are these books you speak of? Do they have special features?
Digit@lemmy.wtf · 1 pts · 154d
Since "some books" did not specify, presumably any books are okay.
Perhaps starting with The Pet Goat.
Apparently it works upside down too. ;)
[Extra points for any who get the reference.]
Digit@lemmy.wtf · 2 pts · 154d
Yes.
The code I wrote before LLMs was maintainable, because it was concise clean code.
The code I've let LLMS write for me, unless I spend 30x as long telling it to do it right, is a verbose unreadable noisy spray.
melsaskca@lemmy.ca · 2 pts · 156d
I like the last pic where wil smith slapped himself.
PM_me_your_doggo@lemmy.world · 2 pts · 155d
Yes. Also, my llms can do it too
Avicenna@programming.dev · 2 pts · 155d
ouch
grueling_spool@sh.itjust.works · 2 pts · 155d
ITT:
NotAnonymousAtAll@feddit.org · 14 pts · 155d
grueling_spool@sh.itjust.works · 4 pts · 155d
In this economy?
AdolfSchmitler@lemmy.world · 1 pts · 156d
Waiting for Amazon to release an ad like the one Spooner describes to that CEO when he's being sarcastic. .
"a carpenter, making a beautiful chair. And then one of your robots comes in and makes a better chair twice as fast. And then you superimpose on the screen, 'USR: Shittin' on the Little Guy'"
Digit@lemmy.wtf · 1 pts · 154d
Evasive deflection.