Programming thread. Git gud edition

So C/C++ integer overflows and shift operand errors are now considered safe, rustfag?

It's a signed shift (sar). x86 handles overflow in retard mode and changes the sign while ARM does it safely. Rust has decided to define retard mode as correct (obviously for benchmark reasons) and will be slow as shit on ARM as they'll need to emulate doing it wrong. Meanwhile, programmers are exposed to integer overflow errors just like in C and C++.

it isnt
it isnt

Rolling

I avoided Rust because the syntax seems like an ightmare, I've considered learning it because of their claims of it being safe and fast, to learn it's not even safe, their main gimmick, makes me lose interest all over again.

I'm not the guy shilling rust, I haven't even learned it for the same reason you specified. However, I'd like to make an effort to correct this.
Rust is a *memory*-safe language. With it's design it can prevent all kinds of memory-related errors such as reading out of bounds or use-after-free. It can't, however, be *logically* safe.
If you overflow a number, rust will try to prevent you from doing it, but it can't prevent all cases of it. However, Rust *defines*, in contrast to other languages, what happens when you do so. This means that overflowing or shifting a number too much will always do the same thing on every platform, and it might need to generate some extra code for that.

Yes, it still accomplishes what it set out to do.
No, it can't solve a programmer being out-right retarded, it can only help prove that several kinds of errors are not possible within your program and tries to prevent the rest by removing undefined behavior and warning you.

Also, I'd like to add this article for further reading, because Holla Forums is retarded.
huonw.github.io/blog/2016/04/myths-and-legends-about-integer-overflow-in-rust/

doc.rust-lang.org/reference/behavior-not-considered-unsafe.html

github.com/rust-lang/rfcs/blob/master/text/0560-integer-overflow.md
>Shift operations () on a value of with N can be passed a shift value >= N. It is unclear what behaviour should result from this, so the shift value is unconditionally masked to be modulo N to ensure that the argument is always in range.

compare that to ansi c:
>The value of E1E2 is E1 right-shifted E2 bit positions. The right shift is equivalent to division by 2^E2 if E1 is unsigned of if it has a non-negative value; otherwise the result is implementation-defined

compare that to c89:
port70.net/~nsz/c/c89/c89-draft.html#3.3.7

port70.net/~nsz/c/c89/c89-draft.html#A.6.2

oops ignore the "compare that to ansi c:" section

I'd understand lying about experiences because the workforce's fascination with that thing, but when you lie about education you just shot yourself in the foot. I actually don't mean like a degree or something, I mean education as in knowing what to do without relying on Google. I mean they're going to depend on you to do the job quickly. But this is doable. Hard, but doable to quickly learn the programming you need for the job. Another advice is to find a way to google the things you need without your job finding out.