top | item 43378165

Idiomatic Rust

22 points| astennumero | 11 months ago |a-i-nstein.neocities.org

40 comments

order
[+] virtualritz|11 months ago|reply
The "Effective Rust" book was recently published and can be read online, for free [1].

I'd go as far and say that all of it is, by definition, idiomatic.

I guess I'm saying, you could reasonably change the book's title to "Idiomatic Rust".

I'd read that first and then look into what bits it doesn't cover. That could be worth a blog like the one this is about.

[1] https://www.lurklurk.org/effective-rust/

[+] wegfawefgawefg|11 months ago|reply
only one part. applies to zero of the rust code i write. formats horrendously on mobile.

you gotta work on this more before putting it on hacker news

[+] ahoka|11 months ago|reply
This is why AI answers suck, lot of bad advice on the internet.
[+] amalive|11 months ago|reply
Don't be let down by other comments. The topic itself something I think people would more enjoy when it is more comprehensive. Add more content with your findings, refine and then post again on HN
[+] astennumero|11 months ago|reply
Thank you. I'm glad you think that someone will find this useful.
[+] tyilo|11 months ago|reply
> Idiomatic Rust

Not very idiomatic to not use the builtin code formatter...

[+] astennumero|11 months ago|reply
I'm new to this blogging environment. What do you mean? The HTML's built in formatter? I actually wanted to have these examples ready to be used anywhere else and that's why I chose github gists.
[+] keyle|11 months ago|reply
Personally, I'd prefer to see a table of content and jump through it than being taken through it like a little story.

Is there anything more than part 1?

[+] devsda|11 months ago|reply
Yeah, I clicked the "Show me" half expecting a popup asking to subscribe to a newsletter for "updates" on more parts.

OP, this is just feedback and I hope that you'll continue documenting your rust journey even if it's just for yourself.

[+] astennumero|11 months ago|reply
Hello HN,

I've recently started learning Rust, and I'm finding it incredibly interesting! However, I'm also encountering a wealth of new syntax, built-in functions, and concepts that are unique to Rust. To solidify my understanding and create a useful resource for myself (and hopefully others), I've been diligently documenting these discoveries.

I've decided to share these insights by starting a blog, where I'll delve into the idiomatic Rust behaviors I'm learning. I've already compiled a substantial collection of examples and plan to discuss them in detail. My goal is to maintain a regular posting schedule, reflecting my ongoing learning journey.

I'd love to hear your thoughts on this project. Additionally, I'm eager to learn about your favorite idiomatic Rust patterns. If you have any specific behaviors or concepts you'd like to see covered in my blog, please share them! Thanks in advance for your feedback and suggestions.

[+] xigoi|11 months ago|reply
If you think any of the features you listed are unique to Rust, you need to learn more languages.
[+] johnisgood|11 months ago|reply
Right now there is only Part 1, right? If not, this will need fixing. I tried clicking on "Show Me!" just in case it loads more, but it did not.

As someone else said, I would like to see a TOC instead, personally.

[+] astennumero|11 months ago|reply
Thank you everyone for your feedback. Part 2 is now available here: https://a-i-nstein.neocities.org/pages/part-2.

I've addressed the mobile viewing issue. I'll also be working on adding a Table of Contents.

As I'm new to Rust and unfamiliar with unconventional programming paradigms, I understand that some of the concepts I'm exploring may not be idiomatic for experienced programmers. My hope is that this series offers something new to everyone, and I'd be happy if it introduces even just one new concept to someone. That would be my contribution to the community.

[+] LandR|11 months ago|reply
> unconventional programming paradigms

What parts in this article do you think are unconventional?

[+] Hamuko|11 months ago|reply
Is x = 57u8 actually idiomatic when compared to x: u8 = 57? I don't remember any Rust resource using that.
[+] leoedin|11 months ago|reply
It's not only not really idiomatic, it's almost never necessary in practice.

I was struggling to think of a time I'd ever given a type annotation to an integer local variable - because normally the place the variable ends up dictates the type.

Local variable becomes part of struct? Struct dictates type. Passed into function? Function dictates type. Multiplied by other variable and then that is passed to function? The type is determined by the function.

[+] serial_dev|11 months ago|reply
Same, I don’t think that’s idiomatic at all
[+] umanwizard|11 months ago|reply
It doesn’t really make a difference imo.
[+] AbuAssar|11 months ago|reply
very low effort, I expected more high quality content from HN front page
[+] serial_dev|11 months ago|reply
Maybe I’m missing something because the mobile version is unreadable, but it’s basically one short page with like 3 sections of how to work with ints??
[+] asimpletune|11 months ago|reply
Hey I enjoyed reading part 1. Would you add a media query though to the left and right margins? It’s impossible to read vertically on mobile.
[+] astennumero|11 months ago|reply
Thank you! Glad you enjoyed. I've fixed that mobile issue.
[+] jbhn|11 months ago|reply
Please do Strings next. Effective Rust isn't useful at guiding to a good default.

The technical arguments for one or the other option are available in a bunch of places, but no good guidance on an idiomatic default.

[+] umanwizard|11 months ago|reply
Can you give an example of a situation where you’re not sure what string type to use?
[+] sshine|11 months ago|reply
How it renders on mobile:

  Rust
  simplifies
  numerical
  variable
  initialization
  by
  allowing
  type
  annotation
  directly
  within
  the
  value
  assignment.
[+] ForTheKidz|11 months ago|reply
Page is mostly margin on safari mobile fyi
[+] globnomulous|11 months ago|reply
Almost entirely margin on Firefox Mobile as well.
[+] astennumero|11 months ago|reply
Also can someone explain what the [flagged] in the title means?