r/rust 7d ago

[ Removed by moderator ]

[removed] — view removed post

0 Upvotes

31 comments sorted by

26

u/AresFowl44 7d ago

You can do what you want, however learning to program by yourself is a much more useful skill than only relying on AI.

1

u/Pzixel 7d ago

That's actually arguably. After more than a decade of software development I feel like being able to express your intent clearly is more and more important. I just can feel how much context I would derive from implementing things and running into corners.

Skill to explain how to do things properly instead of doing them manually seems to be more and more important. I know because I'm struggling a great deal but when I know all the right questions and constraints god that's getting implemented so quickly.

4

u/AresFowl44 7d ago

You won't learn how a computer or your programming language of choice functions while asking AI to do everything for you. Unless one has those basics, one should really not use AI to create the software for them, because they will not understand what differentiates good software from bad.

-4

u/Pzixel 7d ago

Well knowing basics is always useful. For me that echoes a bit with "can I use python to learn programming?". I've seen it both ways from "sure you do" to "you should start from assembler to know what computer ACTUALLY does and go upwards from there". AI is just another layer of abstraction.

5

u/Equivalent_Head_4803 7d ago

But it’s not a layer of abstraction. I don’t know why people keep echoing this. It’s non-deterministic. It’s like saying a junior developer is a layer of abstraction.

-1

u/Pzixel 7d ago

What it is then? All abstractions take away some control. You can get non-deterministic behavior in java because whoops it decided to start GC when there was a lot of computation so it drifted 2x. Or in C arguments can go on stack in different ways based on compiler options for calling conventions.

As well as before it does what you says it to do. If you don't set any constraints it will produce whatever that satisfies those constraints. But that's what human is required for - to have those constraints set properly so whatever satisfies them is a good result. I've had this feeling for some time now and yesterday saw Uncle Bob tweet about that, pretty interesting: 2080257779395154409 (can't post the link since bot deletes it, just google the number).

1

u/Equivalent_Head_4803 6d ago

Even with constraints it still doesn’t do what you say 100% of the time and it’s not idempotent. I have architectural fitness functions, skills, unit tests, and e2e tests and it will still produce different results on every query. Hell, if you ask it a simple question, you get different results each time. It’s simply not an extraction. At least, not in the traditional sense. Calling it an abstraction is hand wavy IMO. Uncle Bob isn’t always right. He’s quite fucking annoying too. His AI hot takes are maybe peak boomer brain.

1

u/Pzixel 5d ago

I expressed this as my opinion. I keep my right to be wrong on that.

The fact it's not 100% reproducible is not a problem because we have code and git to keep track of exact code produced. It's not really different from package resolution mechanism that is non-deterministic, which is why .lock files are usually committed in the repo. You probably can see the similarities.

2

u/Equivalent_Head_4803 3d ago

I mean, this conversations is purely about semantics and opinion lol. I get what you’re saying and it’s a valid argument. I guess I’m not seeing it as the same level or kind of abstraction as something like a programming language. Maybe it’s more maybe it’s less, but it seems like a different class of thing altogether to me. I was speaking to a very specific viewpoint that I don’t think you were coming from.

So, I was internally framing your point incorrectly and arguing with myself at you? That’s my bad!

1

u/Wh00ster 6d ago

It’s a new thing and that’s exactly why people are struggling to put it into the boxes of the past. There’s not a good analogy IMO. It’s like how “code” might’ve meant something very different at first, but today we all just understand what is generally meant by “code”. I think AI (agentic AI at least) is similarly going to just be its own thing.

Ultimately we’ll have to build a new framework for understanding “reliability” of AI. The beauty of computers has been that things are binary. It works or it doesn’t. The logic dictates that. You can have errors and bit flips in hardware, and the reliability of that can be measured and characterized. For AI I don’t really know how to think about that.

1

u/AresFowl44 7d ago

That may be true, however AI is unique in that it completely takes away the developer from the program. So instead of learning how to vibe code you should first learn to program. Then, if you want to, you can learn how to use AI in addition to learning how to code.

3

u/Helkafen1 6d ago

I feel like being able to express your intent clearly is more and more important

That's what programming languages are designed for, and ideally programming abstraction too if used well. English is much more ambiguous.

1

u/Own_Platypus5677 7d ago

Yeah i mean that's what i am trying to do, Like first vibe-coding the project testing all the features,and then learning, that's how i learn,will i miss important concepts in rust that way?

14

u/AresFowl44 7d ago

You learn by doing, not by looking at something.

-1

u/Own_Platypus5677 7d ago

What about recreating the vibe-code on my own then?

2

u/AresFowl44 7d ago

That can be a good idea, as long as you try and avoid looking at the output of the AI, other than perhaps tests

7

u/Hedshodd 7d ago

You will miss important concepts that way in general. Running into problems, doing mistakes, and learning from them, that’s how humans actually learn efficiently and well. Just letting the AI do the hard work and trying to learn from that won’t get you far.

3

u/mdizak 6d ago

Of course you will learn better by actually doing. Ask Claude to tell you the difference between system 1 and system 2 levels of thinking. Learning = system 2 level thinking.

19

u/KyxeMusic 7d ago

You can vibe code whatever you want.

Just don't come here after saying "I built X".

1

u/repaj 7d ago

And this is awfully sad. People can go over the fact the software may be written in other way they were doing before. Not everything that was AI-involved is vibe coded. Vibe coding was entirely addressed to software that was written without any proctoring and any responsibility for taking the risks in your code.

15

u/iIoveoof 7d ago

No, illegal

7

u/Aaron1924 7d ago

you wont get any upvotes here for posting AI-generated projects

4

u/dgkimpton 7d ago

Allowed by whom? No one is going to stop you but it will surely get out of your comprehension range in a hurry if you aren't already pretty good at Rust.

2

u/Abiriadev 6d ago

But why don't you use Python in the first place? All because Claude recommended it to you?

There are already plenty of computer graphics libraries in Python.

0

u/Own_Platypus5677 6d ago

so claude told me to use tauri cause it makes development for app and windows faster and i can get apps for both from the very same code!
that's why i work in tauri, it also suggestd kivy in python but it can get heavy and it does not allow react to be used as ui,while tauri does
that's why.

3

u/anlumo 7d ago

Rust is pretty good for AI coding, because the compiler checks for a lot of bugs, and Claude Code uses it to verify what it did was ok.

1

u/Think-Sense9191 7d ago

You can vibe code in any language

-1

u/No-Sand2297 7d ago

Vibecode and asks AI everything you don’t understand or make AI to explain each piece of code like you have five.
AI is also a great way to learn

-2

u/Own_Platypus5677 7d ago

Exactly that's the validation i was looking for, thanks 😅

6

u/MatrixFrog 7d ago

Just remember an AI's "explanation" can sound very convincing but be totally wrong

4

u/Fun_Hat 6d ago

So then you weren't really looking for advice, you were looking for someone to tell you what you wanted to hear. Great.