Oddbean new post about | logout
 "safer"

what is safer about a language that has macros and the ability to tamper with memory directly versus another that has a lot of obstacles to doing this kind of tampering?

the only difference in memory safety between the two languages is you can get a performance problem in Go if you just fling out a bazillion new buffers for no reason, use them once and then forget about them... and then you need to consider a freelist

there is no buffer overflow vulnerability in valid code in either language

i tell you what the safety problem with rust is

the protocol has to be designed to be secure, most vulns these days are protocol level not buffer overflow

so, Rust is fixing a problem from 20 years ago with an overly complex syntax that really is just hints for a really dumb GC, and go has a sophisticated, 15 year old GC that builds upon its own experience and that of Java's GCs and other GC using languages

this "safety" thing is illusory

what's unsafe is hard to read code, and complex syntax and the red flag is that it takes 100 times longer to compile it