Vanquish Forever These Bugs That Blasted Your Kingdom

Dmitry Olshansky dmitry.olsh at gmail.com
Mon Feb 12 06:28:15 UTC 2018


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!




More information about the Digitalmars-d-announce mailing list