Skip to content

Instantly share code, notes, and snippets.

@IoIxD
Last active October 18, 2022 20:50
Show Gist options
  • Save IoIxD/fbe7e0e7be7837c06a6610663412e47c to your computer and use it in GitHub Desktop.
Save IoIxD/fbe7e0e7be7837c06a6610663412e47c to your computer and use it in GitHub Desktop.

(this is directed at one, unnamed person, but I'm making it public so I can find it easily should I ever come across this argument).

Lets say you take away calculators from two people, one who is barely good with math and the other who is a mathmetician at a prestigious and asked them to find the exponential regression of given a table, you'd get two responses. The person who is barely good, after awhile, remembers what to do and gives you the answer. They did a really good job but they fucked up somewhere and their answer is actually 1 off. The mathmetician will probably do it perfectly, although they'll likely wish they had a calculator because the fun in math is solving hard/unsolved problems, not something a 35 year old calculator can do. In fact, although that person did a fantastic job, it would be more reasonable to ask a computer to do this, particularly one that has been refined and can be trusted, because if we ask a computer to do a problem then human error is almost entirely eliminated. There's still human error to be seen in the chip design, sure. But given that the processor follows a set of rules and it has been tested thoroughly when doing that math, we can be confident that - bar rare occassions - it will have the correct answer almost everytime. There is, of course, very specific exceptions to this like floating point addition, but I digress.

When we talked about Rust earlier, I didn't bring up that "the weird nature of the language assures that you always write memory safe code" because I knew your response would be something you said earlier: "skill issue, i can write memory safe C in my sleep" or some bullshit idk. I didn't know how to respond earlier, for some reason, but I do now, and its with this analogy. You can probably hire somebody who can do memory safe C in their sleep, just like you can hire somebody who can solve exponential regression in their sleep. But if you ask a computer to do it (in this it's more gramatically correct to say it ensures you do it), you can eliminate human error. And if you can eliminate human error, you can come out with a solution that's more trustworthy.

There's more to be said about Rust's bog-standard way of doing things. And to be honest, if you don't want to do Rust, that's fine and respectable. But I at least want you to understand that Rust has fair reasons for the way it does things.

I would also not consider it an esoteric language.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment