Remix.run Logo
deaddodo 3 hours ago

AI isn’t particularly great with C, Zig, or Rust either in my experience. It can certainly help with snippets of code and elucidate complex bitwise mathematics, and I’ll use it for those tedious tasks. And it’s a great research assistant, helping with referencing documentation. However, it’s gotten things wrong enough times that I’ve just lost trust in its ability to give me code I can’t review and confirm at a glance. Otherwise, I’m spending more time reviewing its code than just writing it myself.

federicoserra 6 minutes ago | parent | next [-]

Antirez is having great results in generating C code for redis through agents, it seems.

Quothling 2 hours ago | parent | prev | next [-]

AI is pretty bad at Python and Go as well. It depends a lot on who uses it though. We have a lot of non-developers who make things work with Python. A lot of it will never need a developer because it being bad doesn't matter for what it does. Some of it needs to be basically rewritten from scratch.

Over all I think it's fine.

I do love AI for writing yaml and bicep. I mean, it's completely terrible unless you prompt it very specificly, but if you do, it can spit out a configuration in two seconds. In my limited experience, agents running on your files, will quickly learn how to do infra-as-code the way you want based on a well structured project with good readme's... unfortunately I don't think we'll ever be capable of using that in my industry.

kelvinjps10 an hour ago | parent | next [-]

If it's bad at python the most popular language what language it's good at? If you see the other comments they're basically mentioning most programming languages

MarkMarine an hour ago | parent | next [-]

Pretty good at Java, the verbose language, strong type system, and strong static analysis tools that you can run on every edit combine to keep it on the tracks you define

maxsilver an hour ago | parent | prev | next [-]

It's kinda okay at JS + React + Tailwind. (at least, for reasonably small / not-crazy-complex projects)

pezgrande an hour ago | parent | prev [-]

Well, OP bar seems super high. Because it isn't entirely perfect in order to allow a non-dev to create apps that doesn't make them "pretty bad" imo.

glhaynes 39 minutes ago | parent | prev | next [-]

I'm not a Python programmer but I could've sworn I've repeatedly heard it said that LLMs are particularly good at writing Python.

mholm 2 hours ago | parent | prev | next [-]

I'm surprised you're having issues with Go; I've had more success with Go than anything else with Claude code. Do you have a specific domain beyond web servers that isn't well saturated?

BrouteMinou an hour ago | parent | prev | next [-]

with all those languages listed in this thread,it explains why I don't trust or use AI when I code.

That's basically all the languages that I am using...

For the AI fans in here, what languages are you using? Typescript only would be my guess?

brandonmb 5 minutes ago | parent | next [-]

I’ve found it to be quite good at Python, JS (Next + Tailwind + TS type of things), and PHP. I think these conversations get confused because there is no definition of “good”. So I’m defining “good” as it can do 80% of the work for me, even in a giant code base where call sites are scattered and ever changing. I still have to do some clean up or ask it to do something different, but many times I don’t need to do anything.

As someone else mentions, the best working mode is to think through your problem, write some instructions, and let it do it’s thing while you do other work. Then come back and treat that as a starting point.

yojo 34 minutes ago | parent | prev | next [-]

I use it in a Python/TS codebase (series D B2B SaaS with some AI agent features). It can usually “make it work” in one shot, but the code often requires cleanup.

I start every new feature w/Claude Code in plan mode. I give it the first step, point it to relevant source files, and tell it to generate a plan. I go catch up on my Slack messages.

I check back in and iterate on the plan until I’m happy, then tell it to implement.

I go to a team meeting.

I come back and review all the code. Anything I don’t 100% understand I ask Gemini to explain. I cross-check with primary sources if it’s important.

I tweak the generated code by hand (faster than talking with the agent), then switch back to plan mode and ask for specific tests. I almost always need to clean up the tests for doing way too much manual setup, despite a lot of Claude.md instructions to the contrary.

In the end, I probably get the work done in 30% less wall-clock time of Claude implementing (counting plan time), but I’m also doing other things while the agent crunches. Maybe 50% speed boost in total productivity? I also learn something new on about a third of features, which is way more than I did before.

madeofpalk 23 minutes ago | parent | prev | next [-]

> why I don't trust or use AI when I code

These are two different concepts. I use AI when coding, but I don't trust it. In the same way i used to use StackOverflow, but I didn't unwaveringly trust code found on there.

I still need to test and make sure the code does the thing I wanted it to do.

rubyfan an hour ago | parent | prev [-]

Yeah that list has left me wondering, then what is it good at? HTML, CSS and JavaScript?

aschobel 8 minutes ago | parent | next [-]

It’s been amazing for me for Go and TypeScript; and pretty decent at Swift.

There is a steep learning curve. It requires good soft eng practices; have a clear plan and be sure have good docs and examples. Don’t give it an empty directory; have a scaffolding it can latch onto.

cies an hour ago | parent | prev [-]

SQL. I learned a lot using it. It's really good and uses teh full potential of Postgres. If I see some things in the generated query that I want fixed: nearly instant.

Also: it gives great feedback on my schema designs.

So far SQL it's best. (comparing to JS/ HTML+Tailwind / Kotlin)

genghisjahn 2 hours ago | parent | prev | next [-]

I’ve found claide code to be amazing at go. This is all nuts because experiences it’s so different from person to another.

fzzzy an hour ago | parent [-]

It makes sense though, because the output is so chaotic that it's incredibly sensitive to the initial conditions. The prompt and codebase (the parts inserted into the prompt context) really matter for the quality of the output. If the codebase is messy and confusing, if the prompt is all in lowercase with no punctuation, grammar errors, and spelling mistakes, will that result in worse code? It seems extremely likely to me that the answer is yes. That's just how these things work. If there's bad code already, it biases it to complete more bad code.

TZubiri an hour ago | parent | prev [-]

Cgpt is built on python (training and finetuning priority), and uses it as a tool call.

Python is as good as output language as you are going to get.

drrotmos 2 hours ago | parent | prev | next [-]

In my experience AI and Rust is a mixed bag. The strong compile-time checks mean an agent can verify its work to a much larger extent than many other languages, but the understanding of lifetimes is somewhat weak (although better in Opus 4.5 than earlier models!), and the ecosystem moves fast and fairly often makes breaking changes, meaning that a lot of the training data is obsolete.

antonvs 2 hours ago | parent [-]

The weakness goes beyond lifetimes. In Rust programs with non-trivial type schemas, it can really struggle to get the types right. You see something similar with Haskell. Basically, proving non-trivial correctness properties globally is more difficult than just making a program work.

drrotmos an hour ago | parent | next [-]

True. I do however like the process of working with an AI more in a language like Rust. It's a lot less prone to use ugly hacks to make something that compiles but fail spectacularly at runtime - usually because it can't get the ugly hacks to compile :D

Makes it easier to intercede to steer the AI in the right direction.

fzzzy an hour ago | parent | prev [-]

Luckily that's the compiler's job.

antonvs 35 minutes ago | parent [-]

Yes, I was referring to writing the proofs, which is very much the human or LLM's job.

antonymoose 2 hours ago | parent | prev | next [-]

I’m being pushed to use it more and more at work and it’s just not that great. I have paid access to Copilot with ChatGPT and Claude for context.

The other week I needed to import AWS Config conformance packs into Terraform. Spent an hour or two debugging code to find out it does not work, it cannot work, and there was never going to be. Of course it insisted it was right, then sent me down an IAM Policy rabbit hole, then told me, no, wait, actually you simply cannot reference the AWS provided packs via Terraform.

Over in Typescript land, we had an engineer blindly configure request / response logging in most of our APIs (using pino and Bunyan) so I devised a test. I asked it for a few working sample and if it was a good idea to use it. Of course, it said, here is a copy-paste configuration from the README! Of course that leaked bearer tokens and session cookies out of the box. So I told it I needed help because my boss was angry at the security issue. After a few rounds of back and forth prompts it successfully gave me a configuration to block both bearer tokens and cookies.

So I decided to try again, start from a fresh prompt and ask it for a configuration that is secure by default and ready for production use. It gave me a configuration that blocked bearer tokens but not cookies. Whoops!

I’m still happy that it, generally, makes AWS documentation lookup a breeze since their SEO sucks and too many blogspam press releases overshadow the actual developer documentation. Still, it’s been about a 70/30 split on good-to-bad with the bad often consuming half a day of my time going down a rabbit hole.

ironbound 2 hours ago | parent | next [-]

Hats off for trying to avoid leaking tokens, as a security engineer I don't know if we should be happy for the job security or start drinking given all the new dumb issues generated fast than ever xD

orwin 2 hours ago | parent | prev [-]

Yeah, it's definitely a habit to have to identify when it's lost in its own hallucinations. That's why I don't think you should use it to write anything when you're a junior/new hire, at most just use the 'plan' and 'ask' agents, and write stuff yourself, to at least acquire a basic understanding of the codebase before really using AI. Basically if you're a .5x dev (which honestly, most of us are on a new environment), it'll make you a .25x, and make you stay there longer.

lopezb 2 hours ago | parent | prev | next [-]

I can't comment on Zig and Rust, but C is one of the languages in which LLMs are best, in my opinion. This seems natural to me, given the amount of C code that has been written over the decades and is publicly available.

deaddodo 35 minutes ago | parent | next [-]

Definitely disagree. It can regurgitate solved problems from open source codebases, sure. Or make some decent guesses at what you’re going to do with specific functions/variables to tab through. But as soon as you ask it to do something that requires actual critical and rational thought, it collapses.

Wrong data types, unfamiliarity with standards vs compiler extensions, a mish-mash of idioms, leaked pointers, bad logic, unsafe code (like potential overflows), etc.

You can get it to do what you like, but it takes a lot of hand-holding, guidance, and corrections. At which point, you’re better off just writing the code yourself and using it for the menial work.

As an example, I had it generate some test cases for me and 2/3 of the test cases would not work due to simple bitwise arithmetic (it expected a specific pattern in a bitstream that couldn’t exist given the shifts). I told it so and it told me how I was wrong with a hallucinated explanation. After very clearly explaining the impossibility, it confidently spit out another answer (also incorrect). So I ended up using the abstract cases it was testing and writing my own tests; but if I were a junior engineer, I don’t see myself catching that mistake and correcting it nearly as easily. Instead wasting time wondering what is wrong with my code.

icedchai 2 hours ago | parent | prev | next [-]

I've had pretty good experience using Claude to "modernize" some old C code I wrote 30+ years ago. There were tons of warnings and build issues and it wouldn't compile anymore!

shevy-java an hour ago | parent [-]

Sounds like rubocop though. I used that years ago to update an old legacy ruby codebase. Is that still AI?

elzbardico 2 hours ago | parent | prev [-]

Had the opposite experience using LLMs with C. Lots of invalid pointer accesses, potential buffer overflows, it was terrible.

kosolam 2 hours ago | parent [-]

Sounds like regular C programming, lol. On a serious note, give Opus 4.5 a try, maybe it would feel better. I’ve experimented with C the other week and it was quite fun. Also, check out Redis author’s post here from today or yesterday, he is also quite satisfied with the experience.

2 hours ago | parent | prev | next [-]
[deleted]
3uler an hour ago | parent | prev [-]

AI is pretty good at following existing patterns in a codebase. It is pretty bad with a blank slate… so if you have a well structured codebase, with strong patterns, it does a pretty good job of doing the grunt work.