Advent of Code

The elements need to be there though, you can’t write to array[1][2]

I’ve been wanting to learn Rust.

I’ve been wanting to see how an AI sidekick can help my programming workflow.

Advent of Code seemed like a good testing ground to try them both, where I can dive in with a language that’s new to me and see what happens.

I’m 7 puzzles down and so far I am really liking it. I haven’t asked the AI for any high-level strategy, rather it’s just a replacement for googling the details, e.g. how do I map a closure onto a list. With it I am almost as fast in a brand new language as I would be in a familiar language. My code might not be idiomatic, and it might be less efficient (maybe clone() could be avoided with magic borrowing that is not yet second-nature), but it works.

Now I need to push the limit of how far up the abstraction hierarchy I can ask for help. My habit has been to only ask for details. Maybe I am leaving a lot of capability on the table by not asking it to do more.

2 Likes

I have yet to try it out. I have also wanted to learn rust. I probably will in the next year or so. It is getting closer and closer to my daily work.

I am still undecided on the ai tools. When I ask it for anything I know a lot about, it is wrong. But if I ask it for something very common (like sort this list based on a distance function in rust), maybe it would be fine.

I agree. I had a similar bad experience at first. I caught it making a very high error rate.

So I’m guessing if I know less than the average person on the internet, it’s probably helpful. If I know more than the average person on the internet, it’s a step down. And in addition, there are some special areas where it is very good like poetry (which for me is not particularly useful), and some areas where it is unbelievably bad, like arithmetic.

I also asked it to critique my style for idioms and efficiency and it pointed out some helpful things that I would not have known to look for. It’s starting to look like the value for my context is more as a teaching tool and not as a productivity tool, which is consistent with what I have tried before (in not being particularly helpful for productivity).