C is Brittle D is Plastic

Kapendev alexandroskapretsos at gmail.com
Sun Apr 5 03:10:30 UTC 2026


On Sunday, 5 April 2026 at 02:34:08 UTC, Cid Lib wrote:
> On Friday, 3 April 2026 at 18:49:19 UTC, Walter Bright wrote:
>> On 4/3/2026 12:03 AM, Richard (Rikki) Andrew Cattermole wrote:
>>> You should be contacting Uecker who is leading the memory 
>>> safety workgroup. 
>>> https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3211.pdf
>>
>> Done.
>
> If I were on the ISO C Committee, I would not see my job as 
> 'fixing' C, by trying to give it a brain, but rather ensuring 
> the language remains the 'somewhat' mindless guardian of legacy 
> code that it is, while simultaneously ensuring it remains a 
> language that can continue to be used in cases where it would 
> not be considered professionally negligent to do so.
>
> The only proposal I would 100% vote for, would be a proposal 
> for categorizing the C language to the world more correctly - 
> i.e. renaming it to UnsafeC (for example).
>
> Every attempt to 'fix' C, eventually just results in a 
> different language entirely.
>
> "The great thing about C is that it doesn't try to be smarter 
> than you. If I see p = q, I know exactly what the CPU is doing. 
> If p is a fat pointer, now the compiler is doing multi-word 
> copies and hidden arithmetic behind my back. And that is not 
> C!" - (A Hypothetical Linus)

A slice/view/span is literally just a struct and `=` would do 
exactly what you think it would do. You can even avoid `slice[0]` 
with a theoretical "BetterC" by using something like 
`__sget(slice, index)` to keep things more C like. Would return 
null on error.


More information about the Digitalmars-d mailing list