On the one side I really like c and c++ because they’re fun and have great performance; they don’t feel like your fighting the language and let me feel sort of creative in the way I do things(compared with something like Rust or Swift).
On the other hand, when weighing one’s feelings against the common good, I guess it’s not really a contest. Plus I suspect a lot of my annoyance with languages like rust stems from not being as familiar with the paradigm. What do you all think?
Wasn’t Go designed to be a memory safe systems programming language? I haven’t really used it enough to see if it holds true, though.
No, Go will happily let you seg fault at your first convenience.
Segfaults aren’t particularly dangerous. They mean the problem was caught. The program usually just exits.
Failing to segfault, thereby allowing a bad memory access, is where the real trouble happens.
No, if you try to index something out-of-bounds it will panic, which is not a memory-safety gap.
Go is almost memory safe, but it does suffer from an issue with its thick pointers (type + address) that can cause race conditions to misrepresent the type of a data structure. This can lead to true segmentation faults and out of bound memory accesses, though it will probably be quite difficult (but not impossible) to exploit them.