This is very over-exaggerated. A lot of people started with C or C++ as their first language. Both of which are significantly harder than learning Rust. In fact, I had a much easier time learning Rust than I had with Python and Java because the Rust compiler’s always had great error messages and documentation. Which then significantly boosted my ability to write C and C++. If, in an alternate reality, I had started learning programming today, I would recommend to my alternate self to start with Rust. Especially now that it’s gotten so much easier than when I had learned Rust when it was still in alpha. Error messages have gotten very detailed lately, to the point where many of them show the precise code to write to fix the error. The compiler’s also much less strict with borrowing and lifetimes.
Comment on Hi, I want to start programming but dunno where to start and which language to learn
lysdexic@programming.dev 1 year agoPick Rust
Rust is renowned for being hard and frustrating to onboard onto. I don’t think this is a wise suggestion.
mmstick@lemmy.world 1 year ago
lysdexic@programming.dev 1 year ago
This is very over-exaggerated. A lot of people started with C or C++ as their first language.
That took place over two decades ago. There were no better alternatives back then. Times have changed.
Both of which are significantly harder than learning Rust.
This is simply not true. It’s far simpler and less frustrating to work on either C or C++ for the simple reason that you can shoot yourself in the foot anywhere you’d like. In Rust, newbies have to alternative to endure the compiler enforcing its safety constraints anywhere they’d like. Rust is also a far more complex and extensive language that enforces memory safety rules that can and very often are very frustrating to handle by those who don’t have a firm grasp on them.
MajorHavoc@lemmy.world 1 year ago
Agreed. I lound learning C decades ago was a pain in the ass. And I found learning Rust last year was a huge pain in the ass.
mmstick@lemmy.world 1 year ago
You’re not making the strong case that you think you are. Quite the opposite. The ease of “shooting yourself in the foot” is precisely what makes it so difficult to learn. Segmentation faults and random memory corruption make it incredibly hard to get started with programming. So much so that many people give up when it gets too difficult to diagnose them. The compiler typically providing no help at all for diagnosing where the memory handling flaws are.
Rust’s constraints are very clear and concise in comparison, with a helpful compiler that will teach you how to handle memory correctly. I believe you’re mistakenly assuming it’s more difficult to work with than it really is. For example, imagine telling someone that pattern matching in Rust is more difficult than constructing unions and casting pointers in C. I’ve worked with a number of people over the years that had little experience in programming outside Rust.
lysdexic@programming.dev 1 year ago
You’re not making the strong case that you think you are. Quite the opposite. The ease of “shooting yourself in the foot” is precisely what makes it so difficult to learn. Segmentation faults and random memory corruption make it incredibly hard to get started with programming.
That’s not the case, though. Some C and C++ compilers are already resilient and flexible enough to not get C and C++ to blow up in your face when you’re doing unmentionable things to memory access. Some memory safety issues are only noticeable when running profilers and memory safety tools.
Keep in mind you are talking about someone taking their first steps in writing software. They are struggling to get stuff to work, and throwing curve balls at them is not going to help them get on their feet.
Also, I did not advocated for C or C++ as better options. My point is that Rust is an awful suggestion as a first language, which even the Rust community states.
Rust’s constraints are very clear and concise in comparison (…)
Irrelevant. The point is that Rust enforces constraints that other programming languages don’t. If anyone is taking their first steps, not having to deal with them leads to a far more productive and enjoyable experience.
onlinepersona@programming.dev 1 year ago
KindaABigDyl@programming.dev 1 year ago
You missed the point
lysdexic@programming.dev 1 year ago
What point do you think I missed?
KindaABigDyl@programming.dev 1 year ago
What I said:
We could go on for hours debating what the best beginner language, environment, project, etc is, but the important thing is that they pick something and do it.
I gave them a specific thing to get started on. That’s the important thing.
Like I said:
That’s why I said you missed the point. I don’t think you read my reply at all and just stopped at the first word lol
IGuessThisIsForNSFW@yiffit.net 1 year ago
I get what you’re saying, and jumping in and getting started is exactly what OP needs to do. However, if they read your comment and take your advise, they might be inclined to take ALL your advice and starting them with a difficult language when they know nothing is probably a bad idea. It’s like you have embedded bad advise inside your good advise, and someone who knows nothing won’t be able to see that. If OP’s still reading these comments, just replace rust with C# or HTML/CSS depending on what you’re into and then reread KindaABigDyl’s first comment.