On Sunday, 11 February 2018 at 15:11:55 UTC, psychoticRabbit wrote:
On Wednesday, 7 February 2018 at 20:30:54 UTC, Dmitry Olshansky wrote:
Other languages like Rust or C# (or Java) have bounds check. Plus we probably lose it in release mode, which is the mode where lurking bugs are discovered usually days after development ;) Some of these languages would prevent it on the VM level/compiler level, leaving no way to shoot yourself in the foot.


We all really need to get away from this idea that *we* should stop *others* from shooting themselves in the foot. People are free to do it, if they want. Who has the right to take that choice away from me?

Your customers if you have any. Brcause they is inevitably you one day.


So let's NOT be like those other languages that just want to control what you do.

Then pick assembly of sorts.
C ABI is a stright-jacket that ensures e.g. that your callstack is laid out correctly so that a ‘ret’ will bring you back to the call site not somewhere else. Do I need to mention libc’s machinations done “for compatibility”.

Who the fuck were these guys to steal the pleasure of misaligned stacks and wrong push/pop order? Or register save missed?

The reality is we are programming on top of increasingly complex run-times that solve low-level problems to certain extents. That includes C (even w/o libc) and pretty much any other high-level language.



-boundscheck=off

D rocks!


Reply via email to