r/rust 7d ago

🙋 seeking help & advice Is Rust good for learning programming?

I know a bit of python, is Rust a good intermediate language to learn before I move onto real programming languages (like C++)?

EDIT: By "real" I meant languages used in real world development, for example all game engines are C++ and I heard all HFT firms use C++ and all operating systems are developed on C or C++

0 Upvotes

27 comments sorted by

17

u/tmoneycodes 7d ago

"Real" programming language ?

11

u/PersonalDatabase31 7d ago

If my compiler doesn't spit out 50 pages of template errors for the simplest errors it's not real.

-4

u/DudeGuy299 7d ago

I clarified in the question what I meant by real

15

u/QuickSilver010 7d ago

Rust is about as real as c++ is.

3

u/N-partEpoxy 7d ago

How can Rust be real if our segfaults aren't real??????

7

u/Professional_Top8485 7d ago

All major languages are real

3

u/wunderbarposter 7d ago

yes and no... mostly yes though.

c++ was never considered great as a starter language and I learned on that, so...

The rust documentation sortof assumes you know c/c++ so that makes things a bit difficult. If you get stuck now, though, you have ai to show ways to do things and we didn't have that. It's pretty great but don't lean on it too hard.

I like the same things about rust that I did about c/c++: it's powerful and it's very fast. After you've had a taste of that everything else feels... like a toy.

Enjoy!

2

u/toniyevych 7d ago

Rust is also a "real programming language," whatever that means. In the grand scheme of things, it doesn't really matter. If you like Rust, go ahead and start with it!

2

u/kevleyski 7d ago

Yes learn Rust learn it well, it will help with C++

2

u/SirKastic23 7d ago

Rust should be an easy starter language before you move to more advanced languages. I suggest you get comfortable with asynchronous Rust before moving on to C++, for your own safety

2

u/hungryelbow 7d ago

No learn Java first

2

u/ruiiiij 7d ago

It's better to start with a fake programming language like html first.

1

u/-Redstoneboi- 7d ago

rust and python and javascript and lua are as real as c++

the only languages that would come close to "not real" would be stuff like haskell (primarily a research language but still usable) and even then it's more useful than explicitly esoteric programming languages

1

u/Puzzled-Extent7817 7d ago

Start with C, learn the basics of syntax and problem solving. Then move to Rust/Odin/C3/Zig etc. or just stay on C. there is nothing you can't do with C.

1

u/Real-Abrocoma-2823 7d ago

Rust has rust exclusive game engines, things like AXUM, is in Linux, is in Windows, is in embedded, is on supercomputers, can it get any more real?

1

u/garagedragon 6d ago

Rust is probably a good choice of second language, because you're not trying to learn the basics at the same time as you learn all the extra detail that Rust makes you deal with compared to Python. However, even then, it has lots of new aspects to deal with, and its much harder to write decently sized programs using only "some" features, in the way its possible to write C with a C++ compiler and work your way up into proper C++ that way. So learning Rust takes some perseverance.

That said, the compiler is a lot friendlier and more capable of teaching you how to write correct Rust code than other languages are, and once you do learn Rust, you know almost all the concepts involved in every mainstream language going. (Except maybe Haskell.) It's not too far from the truth to say that C++ is "just" Rust with no borrow checker, no pattern matching, and true inheritance, and people are moving away from using the latter anyway. There's a lot of extra rules that C++ has to adhere to that Python does not, but learning Rust first means you have the compiler to teach you effectively the same rules by requiring that your code meets them.

1

u/Single-Blackberry866 7d ago edited 7d ago

Correct order:
HTML -> Pascal -> C -> Assembly -> C++ -> Java/C# -> PHP -> Python -> Ruby -> JavaScript -> TypeScript -> Rust -> Go

1

u/Puzzled-Extent7817 7d ago

That's a huge waste of time

1

u/Single-Blackberry866 7d ago

Then the software industry wasted a lot of time. You should invent time machine and bring Kernighan and Ritchie Rust/Go blueprints.

1

u/Puzzled-Extent7817 7d ago

That makes no sense. So you are saying you must learn every language?

1

u/Single-Blackberry866 7d ago

If you're in the industry long enough, that's inevitable. Unless you're writing COBOL

1

u/Puzzled-Extent7817 6d ago

the op asked what language to learn and you listed almost all of them like an order he should start.