Very good GCs can be faster compared to common system allocators while minimizing the STW moment, but you cannot beat using a proper allocator for your needs.
It does not do random damage, you get a segmentation fault in most systems. In really small embedded you should not be allocating anything meaningful in the stack anyway.
That is because you apply pattern matching when it is not really useful here, on top of avoiding a simple ternary operator. In some languages, you simply write: if (user) nameLabel.text = user.name; else nameLabel.text…
Very good GCs can be faster compared to common system allocators while minimizing the STW moment, but you cannot beat using a proper allocator for your needs.
It does not do random damage, you get a segmentation fault in most systems. In really small embedded you should not be allocating anything meaningful in the stack anyway.
That is because you apply pattern matching when it is not really useful here, on top of avoiding a simple ternary operator. In some languages, you simply write: if (user) nameLabel.text = user.name; else nameLabel.text…