8 ms·
LLM anything makes me queasy. Why would any self respecting software developer use this tripe? Learn how to write good software. Become an expert in the trade.
by jgb1984 1y ago
LLM anything makes me queasy. Why would any self respecting software developer use this tripe?
Learn how to write good software. Become an expert in the trade. AI anything will only dig a hole for software to die in.
Cheapens the product, butchers the process and absolutely decimates any hope for skill development for future junior developers.
I'll just keep chugging along, with debian, python and vim, as I always have. No LLM, no LSP, heck not even autocompletion. But damn proud of every hand crafted, easy to maintain and fully understood line of code I'll write.
- callc 1y agoI’m pretty much in the same boat as you, but here’s one place that LLMs helped me: In python I was scanning 1000’s of files each for thousands of keywords. A naive implementation took around 10 seconds, obviously the largest share of execution time after running instrumentation. A quick ChatGPT led me to Aho-Corasick and String searching algorithms, which I had never used before. Plug in a library and bam, 30x speed up for that part of the code. I could have asked my knowledgeable friends and coworkers, but not at 11PM on a Saturday. I could have searched the web and probably found it out. But the LLM basically auto completed the web, which I appreciate.
- aleph_minus_one 1y ago> I could have asked my knowledgeable friends and coworkers, but not at 11PM on a Saturday. Get friends with weirder daily schedules. :-)
- financypants 1y agoI think it's best if we all keep the hours from ~10pm to the morning sacred. Even if we are all up coding, the _reason_ I'm up coding at that hour is because no one is pinging me
- klabb3 1y agoYes! This is how AI should be used. You have a question that’s quite difficult and may not score well on traditional keyword matching. An LLM can use pattern matching to point you in the right direction of well written library based on CS research and/or best practices.
- valenterry 1y agoI mean, even in the absence of knowledge of the existence of text searching algorithms (where I'm from we learn that in university) just a simple web search would have gotten you there as well no? Maybe would have taken a few minutes longer though.
- callc 1y agoExtremely likely, yes. In this case, since it was an unknown unknown at the time, the LLM nicely explaining that this class of algorithms exists was nice, then I could immediately switch to Wikipedia to learn more (and be sure of the underlying information) I think of LLMs as an autocomplete of the web plus hallucinations. Sometimes it’s faster to use the LLM initially rather than scour through a bunch of sites first.
- kovac 1y agoThis is where education comes in. When we come cross a certain scale, we should know that O(n) comes into play, and study existing literature before trying to naively solve the problem. What would happen if the "AI" and web search didn't return anything? Would you have stuck with your implementation? What if you couldn't find a library with a usable license? Once I had to look up a research paper to implement a computational geometry algorithm because I couldn't find it any of the typical Web sources. There were also no library to use with a license for our commercial use. I'm not against use of "AI". But this increasing refusal of those who aspire to work in specialist domains like software development to systematically learn things is not great. That's just compounding on an already diminished capacity to process information skillfully.
- infoseek12 1y agoThere is a time and a place for everything. Software development is often about compromise and often it isn’t feasible to work out a solution from foundational principles and a comprehensive understanding of the domain. Many developers use libraries effectively without knowing every time consideration of O(n) comes into play. Competently implemented, in the right context, LLMs can be an effective form of abstraction.
- callc 1y agoIn my context, the scale is small. It just passed the threshold where a naive implementation would be just fine. > What would happen if the "AI" and web search didn't return anything? Would you have stuck with your implementation? I was fairly certain there must exist some type of algorithm exactly for this purpose. I would have been flabbergasted if I couldn’t find something on the web. But it that failed, I would have asked friends and cracked open the algorithms textbooks. > I'm not against use of "AI". But this increasing refusal of those who aspire to work in specialist domains like software development to systematically learn things is not great. That's just compounding on an already diminished capacity to process information skillfully. I understand what you mean, and agree with you. I can also assure you that that is not how I use it.
- mrheosuper 1y agoBut do you know every important detail of that library. For example, maybe that lib is not thread safe, or it allocates a lot of memory to speed thing up, or it wont work on ARM CPU because it uses some x86 hackery ASM?
- callc 1y agoNope. And I don’t need to. That is the beauty of abstractions and information hiding. Just read the docs and assume the library works as promised. To clarify, the LLM did not tell me about the specific library I used. I found it the old fashioned way.
- mrheosuper 1y agoAnd that's why there is leaky abstraction. it's very hard to abstract everything.
- mixmastamyk 1y agoSounds like a job for silver/ripgrep and possibly stack exchange. Might take another minute to get it rolling but has other benefits like cost and privacy.
- feisty0630 1y ago[flagged]
- williamcotton 1y agoThat’s a pretty mean spirited way to approach this subject. I think the creators of Redis and Django are very capable and self-respecting software developers.
- Pedro_Ribeiro 1y agoIs it just me or has there been a wave of delusional people on Hacker News completely neglecting new advancements in technology? The two most common technologies I see having this type of discourse are AI coding and containers. Either everyone here is a low level quantum database 5D graphics pipeline developer with a language from the future that AI hasn't yet learned, or some people are in denial.
- theonething 1y agoThe gatekeepers are witnessing the gate opening up more and letting more people in and they don't like that at all.
- mock-possum 1y agoI think it’s just backlash against all the AI hype - I get it, im tired of hearing about it too, but - it’s already here to stay, it’s been that way for years now - it’s a normal part of development now for most people, the same as any new tool that becomes the industry darling. Learn to like it or at least learn it, but the reality is here whether you like it or not.
- ericwood 1y agoIt’s totally valid to see a new piece of tech, try it, say it’s not for you, and move on. With LLMs it feels forced-fed, and simply saying “eh I’m good, no thanks” isn’t enough. Lots of hype and headlines on how it’s going to take our jobs and replace us, pressure from management to adopt it. Some new trends make perfect sense to me and I’ll adopt them. I’ve let some pass me by and rarely regretted it. That doesn’t make me a luddite.
- warkdarrior 1y ago[flagged]
- rTX5CMRXIfFG 1y agoJob market for knowledge jobs isn’t even that good anymore and plenty of people expect it to get worse regardless of their stance on AI. What makes you so sure that LLM users have a bank to laugh all the way to? Already there are many like you, the money you’d make is peanuts
- kerkeslager 1y agoAre you going to the bank to take out a loan? You're claiming you've outcompeted other programmers by using... optimizing compilers?
- deleted 1y ago[deleted]
- cachvico 1y agoI use it all the time, and it has accelerated my output massively. Now, I don't trust the output - I review everything, and it often goes wrong. You have to know how to use it. But I would never go back. Often it comes up with more elegant solutions than I would have. And when you're working with a new platform, or some unfamiliar library that it already knows, it's an absolute godsend. I'm also damn proud of my own hand-crafted code, but to avoid LLMs out of principal? That's just luddite. 20+ years of experience across game dev, mobile and web apps, in case you feel it relevant.
- ericwood 1y agoI have a hard time being sold on “yea it’s wrong a lot, also you have to spend more time than you already do on code review.” Getting to sit down and write the code is the most enjoyable part of the job, why would I deprive myself of that? By the time the problem has been defined well enough to explain it to an LLM sitting down and writing the code is typically very simple.
- tptacek 1y agoYou're giving the game away when you talk about the joy LLMs are robbing from you. I think we all intuit why people don't like the idea of big parts of their jobs being automated away! But that's not an argument on the merits. Our entire field is premised on automating people's jobs away, so it's always a little rich to hear programmers kvetching about it being done to them.
- ericwood 1y agoI naively bought into the idea of a future where the computers do the stuff we’re bad at and we get to focus on the cool human stuff we enjoy. If these LLMs were truly incredible at doing my job I’d pack it up and find something else to do, but for now I’m wholly unimpressed, despite what management seems to see in it.
- tptacek 1y ago
- SkyPuncher 1y ago> Why would any self respecting software developer use this tripe? Because I can ship 2x to 5x more code with nearly the same quality. My employer isn't paying me to be a craftsman. They're paying me to ship things that make them money.
- leoh 1y agoGood employee, you get cookie and 1h extra pto
- NineWillows 1y agoNo, I get to spend 2 hours working with LLMs, and then spend the rest of the day doing whatever I please. Repeat.
- gr_norm 1y agoYou do understand that state of things is metastable, right? If the productivity gains truly are as claimed, then they will become the _expectation_, and you'll be back to working the same amount. Probably more, because management won't understand that having solid abstractions instead of LLM generated slop is worthwhile for scalability and maintainability. Or less, because you'll have been laid off and will need to do something else to make money. We all know where most of the profits will go if any of this stuff pans out.
- ivan_gammel 1y agoHow do you define code quality in this case and what is your stack?
- kamaal 1y agoCode that you can understand and fix later, is acceptable quality per my definition. Either way, LLMs are actually high up the quality spectrum as they generate a very consistent style of code for everyone. Which gives it uniformity, that is good when other developers have to read and troubleshoot code.
- theonething 1y ago> with debian, python and vim Why are you cheapening the product, butchering the process and decimating any hope for further skill development by using these tools? Instead of python, you should be using assembly or heck, just binary. Instead of relying on an OS abstraction layer made by someone else, you should write everything from scratch on the bare metal. Don't lower yourself by using a text editor, go hex. Then your code will truly be "hand crafted". You'll have even more reason to be proud.
- dmitrygr 1y agoI am unironically with you. I think people should start to learn from computer architecture and assembly and only then, after demonstrating proper skill, graduate to C, and after demonstrating skill there graduate to managed-memory languages.
- marcus_holmes 1y agoI was lucky enough to start my programming journey coding in Assembler on the much, much simpler micro computers we had in my youth. I would not even vaguely know where to start with Assembler on a modern machine. We had three registers and a single contiguous block of addressable memory ffs. Likewise, the things I was taught about computer architecture and the fetch-execute cycle back in the 80's are utterly irrelevant now. I think if you tried to start people off on the kinds of things we started off on in the 80's, you'd never get past the first lesson. It's all so much more complex that any student would (rightly!) give up before getting anywhere.
- CaptainFever 1y agoRelevant XKCD: https://xkcd.com/378/ https://xkcd.com/378/
- mock-possum 1y agoGood for you - if that’s what works for you, then keep on keeping on. Don’t get too hung up on what works for other people. That’s not a good look.
- Chinjut 1y agoI understand not wanting to use LLMs that with no correctness guarantees that randomly hallucinate, but what's wrong with ordinary LSPs and autocompletion? Those seem like perfectly useful tools.
- OsrsNeedsf2P 1y agoI had a professor who used `ed` to write his code. He said only bring able to see one line at a time forces you to think more about what you're doing. Anyways, Cursor generates all my code now.
- sneak 1y agoThis comment presupposes that AI is only used to write code that the (presumably junior-level) author doesn’t understand. I’m a self-respecting software developer with 28 years of experience. I would, with some caveats, venture to say I am an expert in the trade. AI helps me write good code somewhere between 3x and 10x faster. This whole-cloth shallow dismissal of everything AI as worthless overhyped slop is just as tired and content-free as breathless claims of the limitless power or universal applicability of AI.
- marcus_holmes 1y agoI was with you 150% (though Arch, Golang and Zed) until a friend convinced me to give it a proper go and explained more about how to talk to the LLM. I've had a long-term code project that I've really struggled with, for various reasons. Instead of using my normal approach, which would be to lay out what I think the code should do, and how it should work, I just explained the problem and let the LLM worry about the code. It got really far. I'm still impressed. Claude worked great, but ran out of free tokens or whatever, and refused to continue (fine, it was the freebie version and you get what you pay for). I picked it up again in Cursor and it got further. One of my conditions for this experiment was to never look at the code, just the output, and only talk to the LLM about what I wanted, not about how I wanted it done. This seemed to work better. I'm hitting different problems, now, for sure. Getting it to test everything was tricky, and I'm still not convinced it's not just fixing the test instead of the code every time there's a test failure. Peeking at the code, there are several remnants of previous architectural models littering the codebase. Whole directories of unused, uncalled, code that got left behind. I would not ship this as it is. But... it works, kinda. It's fast, I got a working demo of something 80% near what I wanted in 1/10 of the time it would have taken me to make that manually. And just focusing on the result meant that I didn't go down all the rabbit holes of how to structure the code or which paradigm to use. I'm hooked now. I want to get better at using this tool, and see the failures as my failures in prompting rather than the LLM's failure to do what I want. I still don't know how much work would be involved in turning the code into something I could actually ship. Maybe there's a second phase which looks more like conventional development cleaning it all up. I don't know yet. I'll keep experimenting :)
- imhoguy 1y ago> never look at the code, just the output, and only talk to the LLM about what I wanted Sir, you have just passed vibe coding exam. Certified Vibe Coder printout is in the making but AI has difficulty finding a printer. /s
- FeepingCreature 1y agoComputers don't need AI help to have trouble finding the printer, lol.
- incoming1211 1y agoCan pretty much guarantee with AI I'm a better software developer than you without. And I still love working on software used by millions of people every day, and take pride in what I do.
- ookblah 1y agosorry for the snark, but missing the forest for the trees here. unless it's just some philosophical idea, use the tools that save you time. if anything it saves you writing boilerplate or making careless errors. i don't need to "hand write" every line and character in my code and guess what, it's still easy to understand and maintain because it's what would have written anyway. that or you're just bikeshedding minor syntax. like if you want to be proud of a "hand built" house with hammer and nails be my guest, but don't conflate the two with always being well built.
- bigstrat2003 1y agoI wholeheartedly agree. When the tools become actually worth using, I'll use them. Right now they suck, and they slow you down rather than speed you up. I'm hardly a world class developer and I can do far better than these things. Someone who is actually top notch will outclass them even more.
- computerex 1y agoWhy use a high level language like python? Why not assembly? Are you really proud of the slow unoptimized byte code that’s executed instead of perfectly crafting the assembly implementation optimizing for the architecture? /s Seriously comments like yours assume, that all the rest of us who DO make extensive use of these AI tools and have also been around the block for a while, are idiots.
- x1xx 1y agoIf you are like me (same vim, python, no LLM, no autocompletion, no syntax highlighting noise), LSP will make you a better developer: it makes navigating the codebase MUCH easier, including stdlib and 3rd party dependencies. As a result, you don't lose flow and end up reading considerably more code than you would have otherwise.
- jgb1984 1y agoActually, I'm kind of cheating because I use https://github.com/davidhalter/jedi-vim https://github.com/davidhalter/jedi-vim for that purpose: allows me to jump to definitions with <leader>d ;) Excellent plugin, and doesn't require an LSP.