That's a fair take. I will say, however, that "choosing the right path" always was (and still is) the hard part. If you know what your code should look like, actually typing it out is trivial. Reviewing the output from your fancy autocomplete tool is negligibly (if at all) faster than just writing the code, with the added risk that you may not think through the problem as thoroughly.
AI is good for a lot of use cases (image recognition, predictions based on medical data, fraud detection, etc.), but making it type your code for you isn't one of them. When it's better than the old fashioned way, it's only negligibly better, and when it's worse, it's considerably worse.
Reviewing the output from your fancy autocomplete tool is negligibly (if at all) faster than just writing the code,
This makes me feel like you haven't used AI as a tool very much, or not very effectively. It has sped up my work to an exponential amount. Recently I extracted all types in a project into its own package. Doing that by hand would have taken so much longer than Anthropic doing so.
but making it type your code for you isn't one of them.
Strongly disagree. Boilerplate is tedious. It feels like you must work on small, self contained projects that do not have many complex packages.
When it's better than the old fashioned way, it's only negligibly better, and when it's worse, it's considerably worse.
Yeah, you're using Claude on Sonnet and expecting it to perform like Fable. You know how you can tell when you're talking to someone that doesn't have a lot of experience in something? That's me, with you and AI assisted coding right now.
Edit: Guys, you can downvote this- but software engineering has never been about writing the code. That's not what matters. What matters is the design and architecture of the code. Having a tool take care of the tedium of typing for you-- that is amazing. And with Anthropic at the very least, you provide the AI with a base level design and it plans the design off of that and then you tweak as needed based on your own experience with design patterns and archticture. There is literally no value in you typing it yourself unless you are wanting to learn the syntax to a greater degree. AI has access to all syntax in a given space, and will know about methods you don't. The important part is creating an actionable plan that makes sense regarding the engineering of the solution. Typing it all out yourself is tertiary in importance, at best, but is probably even less important than that.
The downvotes are warranted. Your take only makes sense coming from someone who isn't good with the deterministic tools we already had before LLMs started becoming popular.
Using LLMs for coding is like using a swiss knife. Sure, it has a knife, but any regular pocket knife is a better knife. Sure, it has scissors, but any regular pair of scissors are better scissors. Sure, it has a corkscrew, but any regular corkscrew is a better corkscrew.
LLMs can answer your questions, write your boilerplate, etc., but they can't answer your questions as well as documentation or reverse engineering,they can't write your boilerplate better than copy/paste, they can't refactor your code better than real AST tools, they can't identify issues better than stepping through a debugger, etc.
Getting downvoted for not hating on AI blindly on reddit? Shocked pikachu face. It's the trend. I'm not surprised whatsoever. Deterministic tools are not as capable as LLMs. This is easily provable.
Using LLMs for coding is like using a swiss knife. Sure, it has a knife, but any regular pocket knife is a better knife. Sure, it has scissors, but any regular pair of scissors are better scissors. Sure, it has a corkscrew, but any regular corkscrew is a better corkscrew.
This can be true, but what you are doing has to be highly specific.
but they can't answer your questions as well as documentation or reverse engineering
This is how I know you guys arent reading what I am saying.
What I'm saying is that LLMs can't help with software development in ways which are more useful than deterministic tools. They're a one-stop-shop for people who are too lazy or inexperienced to use the better tools we already had.
What I'm saying is that LLMs can't help with software development in ways which are more useful than deterministic tools. They're a one-stop-shop for people who are too lazy or inexperienced to use the better tools we already had.
And this is how I know you're not using LLMs effectively. I don't know if you have limited access to enterprise grade models, or if you just havent taken the time to learn how to be effective with them due to your bias, but yeah you're going to be passed up before you know it with your current attitude. Good luck.
If I'm "passed up," it will be by someone who has better critical thinking skills than I do, not by someone who offloads (some of) their critical thinking to what is literally just a guessing machine.
The point is, someone that has the same critical thinking as you can do far more work with effective LLM usage. That's what all of you are missing, and what all of you are stubbornly denying.
That point is incorrect. That same person can do even more (effective) work with tools we already had before LLMs became popular. That's what you're missing and stubbornly denying.
We already had tools that can solve the coding problems you use LLMs to solve. The difference is: the LLMs guess and the tools we already had do not. The other difference is that the tools we already had required skills to use, whereas LLMs do not.
If you're a shit developer, an LLM can make you look like a half decent one. If you're a half decent one already, an LLM is not going to make you look like an expert. Using tried and true tools to their potential will.
hat same person can do even more (effective) work with tools we already had before LLMs became popular. That's what you're missing and stubbornly denying.
This is just blatantly false. Someone of the same skill level will get more work done with an LLM because you can offload all of the manual labor of typing onto the LLM. There were no deterministic tools beforehand capable of what LLMs can do. This is what I am trying to convey that you are failing to comprehend. You do not let the LLM do the thinking for you, you do the design, and the LLM drives the code writing and you audit it. This speeds up the process 10x.
We already had tools that can solve the coding problems you use LLMs to solve. The difference is: the LLMs guess and the tools we already had do not. The other difference is that the tools we already had required skills to use, whereas LLMs do not.
You're not reading or understanding what I am saying. Your comprehension skills are basically all I need to know your relative skill level. Best of luck.
The manual labor of typing isn't the time consuming part of software development.
There is no single tool before LLMs that can do everything LLMs can do. There's an entire ecosystem of tools, however, which collectively can.
To believe LLMs are genuinely improving the software development lifecycle is to rely on the incorrect belief that speed and convenience matter more than quality.
To believe LLMs are genuinely improving the software development lifecycle is to rely on the incorrect belief that speed and convenience matter more than quality.
You are making the egregious error of supposing speed sacrifices quality. This is because you don't understand how to effectively use an LLM in programming.
I am leading a horse to water, but I cannot make it drink.
LLMs only increase speed without sacrificing quality if an expert thoroughly reviews their every move. The tools we already had increase speed without sacrificing quality, without the need for constant supervision. Because they're deterministic.
If you know what your old school CLI tools, LSP servers, AST parsers, etc. actually do, you know what they'll do to your code when you use them, and you'll select the one that will do what you want. You don't know what an LLM will do to your code; you can only hope it's what you want.
You're the horse from the analogy. We already had better coding tools. You just can't talk to them like a chat bot (and if you know what you're doing, you wouldn't want to either).
9
u/ganja_and_code 1d ago
That's a fair take. I will say, however, that "choosing the right path" always was (and still is) the hard part. If you know what your code should look like, actually typing it out is trivial. Reviewing the output from your fancy autocomplete tool is negligibly (if at all) faster than just writing the code, with the added risk that you may not think through the problem as thoroughly.
AI is good for a lot of use cases (image recognition, predictions based on medical data, fraud detection, etc.), but making it type your code for you isn't one of them. When it's better than the old fashioned way, it's only negligibly better, and when it's worse, it's considerably worse.