this post was submitted on 29 May 2025
26 points (82.5% liked)
technology
23870 readers
219 users here now
On the road to fully automated luxury gay space communism.
Spreading Linux propaganda since 2020
- Ways to run Microsoft/Adobe and more on Linux
- The Ultimate FOSS Guide For Android
- Great libre software on Windows
- Hey you, the lib still using Chrome. Read this post!
Rules:
- 1. Obviously abide by the sitewide code of conduct. Bigotry will be met with an immediate ban
- 2. This community is about technology. Offtopic is permitted as long as it is kept in the comment sections
- 3. Although this is not /c/libre, FOSS related posting is tolerated, and even welcome in the case of effort posts
- 4. We believe technology should be liberating. As such, avoid promoting proprietary and/or bourgeois technology
- 5. Explanatory posts to correct the potential mistakes a comrade made in a post of their own are allowed, as long as they remain respectful
- 6. No crypto (Bitcoin, NFT, etc.) speculation, unless it is purely informative and not too cringe
- 7. Absolutely no tech bro shit. If you have a good opinion of Silicon Valley billionaires please manifest yourself so we can ban you.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Become “pretty close to an expert” by… outsourcing the process of improving your code to a machine…
Even if it improves your code in that scenario, you’re not going to really understand what it’s doing or why. You can use AI as a shortcut for scripting, but you can’t use it as a shortcut for learning
Edit: Besides, we already have perfectly good static analysis tools. Just use a linter. Trying to use AI as a linter will just be worse and unpredictable compared to using an actual linter
But I'm not using it for learning. I already understand exception handling, concurrency, typing, etc.
But I only know the exact syntax for some languages
Now I can replicate the best practices for those concepts in a language I've never touched, and I can understand what it does because I know the equivalent syntax in another language and so I can also judge the quality as well
It's even more confident when the new language is C based because I'm already familiar with other C based languages
Obviously it'll never be as good as a person who spent time to learn the language by reading documentation and practicing but most cases it should be fine
In case my edit didn’t land in time: what makes the AI approach better than using existing non-AI static analysis tools
Well my personal experiences have just been that the ML approach catches a lot of things the static analysis tool hasn't. Those are hard coded by humans and there are dozens of not hundreds of ways to write any given function with identical logic. It's impossible for static analysis to be comprehensive enough to catch and fix a code block more than a few lines
E.g. I had a super ugly nested try catch exception block for this new integration test I was writing. It was using a test framework and language I've never used before, and so it was the only way I knew to write this logic. I asked the LLM to improve it and it broke up the nested try catch logic into 2 top level pieces with timeout functions and assertion checks I didn't know existed. The timeout removing the need to throw an exception and the assertion fixing the issue of catching it
I’m glad you’ve gotten some actual use out of the LLMs! My outlook is more skeptical because I’ve seen too many interns get stuck on projects because they tried to ask LLMs for advice (which they did not double check) instead of reaching out to an experienced dev. The word calculators can only do so much.
Oh don't get me wrong, I definitely think LLMs are gonna absolutely destroy kids ability to learn anything, including coding if they use it like a teacher
But for those who use it as a tool to build and do instead of learning, I'm quickly starting to become a strong believer in its usefulness