Text description (for those with screenreaders):
A portion of a prime number checker written in the Rust programming language, where the first few lines are written correctly including the first if statement in the program. However, the following if statements are written using Python syntax instead of Rust, as the author slipped back into his native tongue.
That’s why you use a proper IDE, that checks everything as you type.
Yeah, like Vim. Who uses nano to code?
Well, in my defense I just wanted to initially try out Rust and on this particular computer, I don’t have any IDE set up on it yet. However, definitely seems like an IDE is in order for me haha
I was just being facetious by suggesting another commandline editor. ;P
I thought so but as I’m not a huge vim user myself, I thought maybe vim had some error detection like VSCode that could be set up and that’s what you meant.
In any case, VSCode will probably be the go for me
vim can have IDE-like capabilities thanks to lsp and tree-sitter. That’s a real game changer and is quite easy to set-up with something like kickstart.nvim.
I actually use Vim to write all my code, but without IDE-ifying it, just syntax highlighting and some navigation tweaks (with Sublime3 for help with bulk edits). For most of my stuff an IDE is overkill.
That’s not a command line editor, this is a command line editor 😜
I did not realize nano implemented syntax highlighting!
I’m not sure what does and doesn’t control it, but I’ve installed nano on some Linux distros and it has no syntax highlighting at all, then other distros (currently using LMDE) just have it by default.
Seriously. I can’t imagine writing rust without an IDE, that’s absurd. Rustrover is amazing
What is Rustrover? Whatever it is, that’s an awesome name
Jetbrain’s rust IDE
I get this switching between Kotlin and Rust, and Java and C#. Close enough to be confusing, but distinct enough that I end up looking up the right syntax.
Would recommend setting up VS Code or RustRover (while it’s still in EAP and free). Rust’s error messages are nice and all but it’s better to see the warnings before you hit compile.
FYI the Rust compiler will try to be smart and defect tail call recursion, but if you want to be sure your code is fast, you should probably turn that recursion into a loop.
I was pleasantly surprised by how good the error messages are in Rust though on compile time. I agree that having an IDE flag them before I compile is much better though.
Once you’re happy with your own implementation, you may be interested in this rather rustic implementation I created a little while ago: https://codeberg.org/trem/erastothenes-iter/src/branch/master/src/lib.rs
It’s actually just an iterator for primes, but building a function around it which checks whether a given number is prime shouldn’t be difficult.
It’s probably quite overwhelming, but you don’t have to learn all these concepts all at once. I started out much like you and then learnt many of the nuances hidden in there over the course of multiple years. It’s fine, if it doesn’t look all idiomatic from the start. Just as a bit of a pre-taste where your journey might lead. 🙃