I am a French-Swedish CS student. Rust has been recommended to me by people I have the utmost respect for, so I was tempted to try it for a long time.
I just started to learn last week with a crash course by Nathan Stocks. I loved the language tremendously and many topics I struggled with clicked directly. I bought The Book, another book (Rust in Action), and taking notes of all the bugs I created to left no stone unturned (...and there are many stones!)
The crash course instructor was very kind and said several time that the Rust community is lovely and awesome, so here I am , hoping you'll tolerate my many mistakes along the way!
I forgot to talk about interests and stuff. One of the funniest thing I tried was embedded , so I figured that Rust with it's emphasis on safety and world dominion by replacing C++ would be a great choice . I saw there was a dedicated forum for embedded so I will check in there.
I also like games of course, I am looking for a first easy manageable first project.
And also reading and writing stories (so generating horror stories is also on the project-plate :))
Coincidence @janriemer, but the crash course teacher (just figured he is @CleanCut on the forum!) is a contributor to Amethyst and told me about it today too ! I'll definitely have a look. If I understand well, it's an engine but with the possibility to write Rust code?
Welcome! I do want it encourage you to share any issues you might have while expanding your understanding of the language. That feedback can help improve the documentation and behavior of the compiler for all newcomers after you
@Daja Welcome! I hope you found my crash course useful
Amethyst is a game engine entirely written in Rust, and with which you use Rust to write your games. The engine is alpha quality and undergoing some rapid change, but that is true of any active game engine written in Rust. I just started seriously contributing to Amethyst earlier this month--I'm doing what I can to help it reach a more usable condition. You are most welcome to come check it out. There is also an Amethyst forum.
@ekuber Thank you! There is a lot to learn so I try to stackoverflow everything and note my interrogation, but since it is so nicely asked and important for the compiler I will ask here .
@CleanCut this course is gold! It gave me the magic little push to pass to the other side: from learning passively to actually wanting to develop something of my own. I felt the spark of a new bright and expanding little universum in my head -if you see what I mean .
@Daja Embedded projects are also my domain - I'm working on a bare metal OS for my Raspberry Pi 3 B+ - One day it will hopefully serve a nice and convinient OS to run RPi driven that could be easily extended with new ferures and capabilities. I'v moved from C to C++ to Rust exactly for the promises of safety, performance and the like - Doing all this stuff in spare time takes a long time to evolve but the learning and fun is really worth it.
So enjoy your journey - and the amazing community here is always happy to support - this is my experience at least
Reading/Writing horror stories? Wow - Halloween must be the best time of the year for you than
@2ndTaleStudio I would not dare to say they are my domain, just a strong interest. I just figured interrupts and I2C for school -to build something that was fun . May I ask if your project is similar to the Arduino interface?
I am really bad at writing, so I hope to make generated fiction ... also someday.
Hey, well - even if one should not answer a question with a question by itself but may I ask you back what kind of similarity are you referring to? Regarding I2C interface or Rust programming for embedded Arduino in general?
Well, the Arduino, at least for the whole C development (I’m not sure for Rust) comes with its own IDE that allows you to develop and publish your compiled code directly to the Arduino. For the Rapberry Pi such a thing does not exist. I’m developing using the Visual Studio Code on Windows and cross compiling to Aarch64 bare metal build target. To get the things to the RPi you either load the binary on an SD card and put it into the Pi or - as this leads fast to an SD card dance - you write or use a small bootloader that is put once on the Sd card and allows you to transfer new versions of your bare metal software to the RPi via UART serial interface. However, this is only valid for real bare metal. As the RPi is capable of running a full Linux there are many people just developing on the Pi like any other hardware that is running an OS ...
I write all my Rust programs for Raspberry Pi and other such boards on my Win 10 PC under WSL running Debian. When they are in good shape I move the source to the Pi, git push/git pull and compile it there.
I also edit code on the Pi via VS Code running on Windows via sshfs.
@2ndTaleStudio Thank you for all the information, and sorry for stupid questions.
If I sound like I don't know what I am talking about, it's because honestly I don't know what I am talking about .
I used the toolchain the school provided us with and write code for PIC32. I never dared bare metal!
@ZiCog Hi and thanks for sharing! It sounds very complicated right now in my eyes yet I wonder which kind of projects you work with?
That's not to say there are not a lot of very skilled people here as well.
Since I started with Rust a year ago it has pervaded all parts of our current project.
We have Raspberry Pi and similar single board computers at remote locations talking to sensor devices over serial ports or ethernet links using SSH. They relay their sensor data to our servers over the NATS messaging system: https://nats.io/
On the server we have Rust receiving data streams from those remote devices and decoding the somewhat complicate proprietary protocol packets they contain. Data is extracted and forwarded to our database.
Rust is also forwarding data from the NATS server over web sockets to browsers for real-time data visualizations.
We have a Rust web server using the Rocket crate to serve up a REST API that is used by clients to retrieve data from our database. It also serves up the HTML/CSS/JS for those data visualization pages.
If I could only get my partner off of Python the whole company would be a Rust shop.