What can I write on Rust?

Guys, I haven't decided which language I should study yet. First I started with Python, then I decided to learn HTML, and now I came across a language like Rust, I just want to make sure that you can write in this language, what it can do, I hope that this language can inspire me and interest me in learning, honestly I don't really understand what I want or what I need, I studied Python only because everyone praised him, then I started to notice that he wasn't as cool as I imagined him to be.(although AI is cool), I started learning html, only so that after a year or two I would have something to buy bread with, but a friend told me that it was possible in the future, you'll get tired of this language (I repeat, I learned it not because I wanted to create websites, but I wanted to earn extra money) and I'm like, what if it's real, I don't want that, suddenly I'll work and I'll fuck up, I would go to game dev, but my brother doesn't recommend it to me. And that's how I said I came across Rust, so you can tell me what you can write on it

1 Like

Anything that can be written can be written in Rust.

If I were you I would start with reading The Rust Book to see what it is all about: Introduction - The Rust Programming Language

Even if you never use Rust for anything serious it's a fascinating study.

6 Likes

Rust focuses on performance, low-level control, and correctness.

Thanks to performance you can write things that Python is too slow for. For example compression algorithms, custom image or video processing, cryptographic algorithms, parsing large amounts of data, web services that need to have low latency or perform a lot of computation.

Low-level features allow writing operating systems, kernel extensions, device drivers, and plug-ins and modules for other software. It also allows writing firmware that runs on low-power devices.

Correctness helps with software that must be secure and reliable. Processing of untrusted data, implementing access controls or firewalls, controlling hardware, or simply dealing with large programs, complex algorithms, and multi-threading. Rust doesn't guarantee it will prevent all problems, but it can catch many common mistakes.

10 Likes

Iā€™m 16, do you think I should devote my free time to this language in your opinion?

If you're just starting to learn programming, I'd suggest start with JavaScript or Python. These languages are easier, and will let you make useful programs sooner.

Rust requires knowing a lot more technical details of how CPUs, memory, and operating systems work. These things are useful to know for advanced programmers, but you don't need to learn everything at once.

And Rust has a bunch of relatively complex features that are useful when maintaining large and complex programs by teams of programmers, but are overkill when you're just writing small programs for yourself. Rust is a rocket, and you may need a bicycle.

8 Likes

Depends on where you are starting from and your circumstances. When I was 17, a long time ago, we were introduced to programming with BASIC, and a matter of weeks later were expected to learn assembly language. But that was in an educational environment with people around to discuss problems with.

The equivalent now a days I guess would be to start out with something like Python. That's great because there are tons of tutorials and examples all of the net for people of all levels in their learning. Or perhaps JavaScript which is also widely covered on the net.

I would not suggest assembly language but I think Rust would be a good substitute. I don't see much Rust educational material targeted at those with little or no programming experience (Perhaps others can point out some sources) so it could be something of a challenge. I think it's doable though. Start with the Rust Book The Rust Programming Language - The Rust Programming Language. You can always ask here is something is not making sense to you. I would not worry about trying to understand it all but I'm sure you will get a lot out of it.

2 Likes

This is probably the worst reason to do anything at all, in any industry. Many people who "work for money" end up hating their job, no matter what it is. Choose a career that interests you. If you have a natural interest of programming, then start learning by using tools that interest you.

Get into game dev because you are interested in developing games. Not because you are interested in playing games or making money. Get into distributed systems because you are interested in distributed systems. Get into compilers because you are interest in compilers. Get into operating systems because you are interested in operating systems...

Rust is a pretty good fit for any of these examples use cases, to answer the question you actually asked. But you don't seem to even have an idea of what interests you. As far as general career advice goes, get curious in something in pick that. And no matter what it is, Rust will probably applicable. (But it probably won't earn you more money than, say, becoming a lawyer, doctor, or executive at a large corporation. Just throwing that out there if making money is your goal.)

7 Likes

I agree with what you are saying. But I want to add that making money with programming could be a more viable side-hustle than the professions you listed, especially if you are young. You can't be a lawyer or doctor at night after school or your day job. But you can code and probably will be able to find somebody that will pay you doing it. Which brings us back to your point I think, that OP should find something they enjoy doing and learning about, before settling for the technology they want to use to achieve that.

5 Likes

I just don't think it's a good idea to encourage people who aren't truly passionate about correctness in software (because money is the primary motivator, not correctness) to be writing the software that the world will eventually depend upon. As in xkcd: Dependency

As a hobby, go nuts! But when they become that random person in Nebraska, that's now my problem and your problem.

The reason I chose to juxtapose software development against attorneys and medical professionals is because all three professions require a roughly equivalent amount of education to avoid serious consequences. I just don't think that software is nearly as regulated as the other two, but it should be.

At the age of 16, you will hopefully have some time to figure out what you actually like to do. Take the opportunity to be curious and try things. Try Rust if it sounds interesting, but don't see it as a lifelong commitment. Maybe you'll like it, maybe not. Either outcome is fine and you are an experience richer in the end. You will probably have found something more interesting if you decide to go some other path.

I, myself, did actually end up in game development (so far!), but my education and career took a detour through computer science, user interface design and web development. I thought I would try to become an industrial designer, or similar, around your age. That changed the moment I found a more interesting university education that I never even heard about before.

My point is to be open to changing your mind and finding something you feel is "your thing", or at least something you care about doing well. And programming languages are tools, not a blood pact.

1 Like

Hi @ANONIM236,

You are in a very good position, being young, times are with you. I would just follow the above advice, go through the first few chapters, or the even entire a book. If something you don't understand, you can always ask.

Even if later you decided not to go with Rust, it still is not a waste of times, whatever knowledge you have gained, will still be useful in some other ways.

Good luck and best regards,

...behai.

2 Likes

Congratulations on becoming a developer!

In short, it doesn't matter which language that you study. It matters what you are able to accomplish with the language you pick. What you strive to accomplish is purely up to you.

If you don't know what to do, you can change your perspective by trying to figure out what you don't want to do. The best way to do that is to just do something, even if it fails. If that means getting tired of your starting language, so be it. You have no idea if you would get tired with it if you stop now.

For instance, I started on Excel VBA using cells as as memory. I then went to Python. I still wasn't satisfied, so I tried Java, C++, dipped my toe in R, and went back to Python. learned a LOT from all of this, each language teaching me more computer science along the way. Then I found Rust and fell in love with it. I argue the only reason I love Rust as much as I do is because I know what I don't love. I can only have this perspective through experience, trial and error, failures, and successes.

I'll build this on top of another thing you said:

This is a worry I had when I started programming as well.

No matter what language you pick, computer science is forever. Understanding computer science concepts, regardless of language picked, is valuable. Learning any language will have skills and similar concepts when transitioning to another language.

If you are simply coding for money, I'd recommend seeing what jobs you are interested in typically uses. In contrast to what others may say, there's nothing wrong with programming only for the cash. Your job doesn't have to be your passion. Your passion doesn't have to be your job.

That being said, I warn it might be harder to learn. Computer Science is not easy, but it's not impossible. It just requires hard work and dedication to get started.

My point is this: decide on your goals first. Then pick the language that you think will accomplish that goal.

If that is to be employed, research what languages jobs require. See if you like that job. Then, start there.

If that is to stay with the language you already know, see what jobs require skills with Python, or with HTML/CSS/JavaScript (these three usually go together).

I pray on your success! :slight_smile:

3 Likes

Do you know C ? Did you hear about it ?
So, think Rust is advanced C or C2.0.

1 Like

Start with the original K&C The "C" Programming Language". You will need to understand "C".
The book is easy. You will get to understand what data and a variables and pointers are. How flow control works, etc. Don't stress and study too hard, because you are just learning "C" to understand "C". "C" is broken, has many pitfalls that cause many problems. Learn it anyway, for a couple of weeks. At least the first couple of chapters. You can give up when the I/O stuff gets too complicated.
Then you will really appreciate a higher language like Python. Safer and easier than "C" . After having some Python and getting frustrated that it is SLOW and you need to call into 3dparty "C" libraries to do anything that does heavy processing, you will then start looking back at "C" and "compiled" languages. "Rust" is here for you and if you can understand some "C" and understand what "variable" and "pointer" mean, Rust will be easier to learn. It is "kind of" like "C" but with guardrails.

1 Like

Really? I don't think it is necessary to learn C before starting on Rust. Rust has data and variables and flow control. And conditionals, loops, functions, structs as well. I would argue that those simple things are more easily presented to a beginner in Rust than C. Or at least with the same amount of difficulty.

You may have a point about pointers (get it?) but as afar as I'm concerned that comes under "advanced" and Rust's references will do the job.

If one really wants ones student to get a feel for basic memory, as a bunch of bytes, and pointers, as addresses into those bytes I would argue that a tour of assembly language would do the job better.

That is how my introduction to programming went back in the day, kicking off with BASIC to show what a program actually is and can do. Then very soon being expected to be able to write assembler.

Really, when you want your children to learn English (let's assume that is your native language) would you have them learn Latin first?

3 Likes

Thanks for the advice, I will definitely read it. :smiling_face_with_three_hearts:

I understand you perfectly and to some extent you are right, it's just that you need to make a living, too, if it weren't for money, I would probably make games, although it's difficult, I want to add, even the thing that you like or was your hobby, after you start turning your hobby into work sometimes a hobby can turn into a routine, even with the same game dev, it's cool to create games, very cool, and we both know that creating them is a lot of fun, especially when your friends or your friend are with you, but even an indie developer also needs to have something, and if you're a person, who played the same assassin, and went to work for the same ubisoft, in the beginning (I'm not experienced, so I might be wrong) you will be happy to work in this company, but over time you get bored, and you are no longer doing the game from your heart, but as your boss tells you, not because you are not given the right to vote (although perhaps because of this too), but because the work killed that very child in you with creativity and imagination (By the way, it seems to me that some indie games are better than AAA games because of this), personally I also wanted to create games because I loved games, because I wanted to give other people the same emotions that I got when playing a particular game as a child, and I also just wanted to understand how to create games.

you know, I'm confused, I do not know what to learn, a language that will help me get bread while I study at university, or even now start the language that I plan to work with all my life (although after reading some people here, I realized that I need to try everything to gain experience and understand what I am I want it to be easier for me later at university or at my main job

1 Like

as for the goals, the joke is that I do not know what I want, although let's say I get a large dose of dopamine solving python puzzles (they are easy-medium :)) you know, even if I understand what I want, well, let's say I want to make websites or games, I still have to be ready for what I will get tired of it, that it will become a routine, but it seems like it should be normal, since almost everything turns into a routine over time. You know, I'm like a child who wants to know everything, and you're right that you should try everything you want, and then draw conclusions, it's just that at the moment my concern is the university, I do not know who to enroll in, game dev is kind of cool, but my brother does not recommend it to me, and I understand him reading the news about abbreviations in some game company, or the news about how game developers have such a hard time, front end and back end, sound cool, but they don't catch on to me in any way, I think AI, but due to the fact that almost everyone already has it, this is not something new for me, thank you For your advice, I really hope that I will find something that will hook me

You are reminding this old guy of his childhood. From the age of 10 or so I pretty much dreamed of having a computer. Not that I knew what they actually were in reality. I guess this was mostly inspired by comic books and SciFi shows and movies. But I did bury my head in anything I could read about real computers, there were kids books around that described such things at the time.

It was 6 years later that I finally got to talk to a computer, in technical school. Via an old style mechanical teletype over a phone line to some main frame far away. I never saw the machine we were using.

Another five years later I finally got my hands on a computer. Well not actually a computer but the 8 bit microprocessors we built one from as graduate trainees at my first job. That was just before the "home computer revolution".

Thing is, none of that was about finding a job. There was not even a solid use for a computer in my mind. I was just fascinated by the idea of these machines that could calculate and some said were capable of intelligence (What were they thinking? :slight_smile: ) Never did I think I would end up spending years employed as a programmer. Didn't even know there was such a job. I thought I would be doing something involving electronics. Which was something I had been tinkering with since age 10 with actual practical results.

I would not worry about "the language that I plan to work with all my life". Since I first programmed back in the late 1970's I have been through countless languages. Until quite recently it seemed every new project or company I worked for required learning yet another language. Still, I expect Rust to be around for a long while.

I don't know. I think I'm trying to say "follow your passion" (I hate that expression). But really if you are curious about something you will naturally pursue it. Without thinking you will find yourself spending a lot of time immersed in it. It will consume your mind. If you don't have that, then likely it will not go well.

So try it, see what happens. Maybe it bites for you, maybe it does not. It's worth finding out either way.

3 Likes